gpt4 book ai didi

linux - 如何在复制操作系统磁盘后在 Azure ASM 中保留/设置默认管理员密码

转载 作者:太空宇宙 更新时间:2023-11-04 12:35:29 24 4
gpt4 key购买 nike

我需要将旧的经典 VM 迁移到新的(仍然是)经典的 VM 以便使用:

  • 新型 VM(Standard_A 到 Standard_DS_V2)
  • 高级磁盘

我制作了一个脚本:

  • 停止现有的虚拟机
  • 删除现有虚拟机
  • 将旧磁盘(操作系统 + 数据)复制到高级存储帐户
  • 注册新磁盘

然后我有另一个脚本来根据 Json 信息创建新的 VM这个脚本是不久前开发的,用于根据 Json 信息和现有的 Azure 磁盘模板创建 VM。

我已经对其进行了调整,以根据磁盘副本创建新的 VM。

除了管理员用户/密码之外,一切都运行良好。每次我创建新的 VM 时,我都无法使用我的旧管理员用户(最初用于创建 VM 的用户)访问它。为了访问虚拟机,我需要使用 Azure 门户重置密码然后我就可以访问虚拟机了。

问题是我想要:

  • 在我的脚本中执行这一步
  • 根本不需要这样做(我们使用的是操作系统磁盘/数据磁盘的副本,因此不需要)

有人可以向我解释如何管理这个吗?几天/几周以来,我一直在使用它,但我找不到正确的方法。

我的脚本为 VM 创建(ubuntu VM)所做的操作:

- Set-AzureSubscription -CurrentStorageAccount $VM.StorageAccount -SubscriptionId $VM.SubscriptionId
- $GlobalOSDiskName = (Get-AzureDisk | Where-Object { $_.OS -iin "Linux","Windows" } | Select DiskName).DiskName
- $VM = Get-Content $json_file -Raw | ConvertFrom-Json
- $VMOSDisk = $VM.OSDisk
- $vmObj = New-Object -TypeName Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVM
- $vmObj = New-AzureVMConfig -Name $VM.Name -InstanceSize $VM.InstanceSize -DiskName $VMOSDisk.DiskName
- $vmObj = Set-AzureOSDisk -VM $vmObj
- $VMDataDisks = $VM.DataDisks
- foreach ($VMDataDisk in $VMDataDisks) {
$vmObj = Add-AzureDataDisk -Import -DiskName $VMDataDisk.DiskName -LUN $VMDataDisk.Lun -HostCaching $VMDataDisk.HostCaching -VM $vmObj
}
- $password = Read-Host -Prompt "Enter password for admin account '$username'" -AsSecureString
- $vmObj = Set-AzureVMAccessExtension -VM $vmObj -UserName $username -Password $password
# This is the last test I've made for this but it's not better...
# Adding informations for Subnet, StaticIP, AvailabilitySet, EndPoint, ACL etc...
- New-AzureVM -VNetName $VM.Vnet -ServiceName $VM.ServiceName -VM $vmObj -WaitForBoot
# Creation of the VM based on the object $vmObj

==>虚拟机创建正确但无法访问

此外,当我使用 Azure 门户重置密码时,当我在旧 VM 上没有提示时使用 sudo 命令时系统会提示我填写密码。

这没什么大不了的,但我想知道为什么以及如何启用/禁用它。

编辑:我已经测试了写在 this doc 中的建议这似乎有效。

这个方法包括:

  • 使用 Export-AzureVM 命令将源 VM 的配置导出到 xml 文件中
  • 编辑导出的 xml 文件以匹配所需的设置
  • 使用命令 Import-AzureVM 基于此创建一个新的 VM 对象

结果似乎工作正常:

  • 虚拟机已创建并具有所有参数
  • 管理员密码保持不变,无需在任何地方设置

对此的担忧是:

  • 导出的 xml 中没有对管理员凭据的引用
  • 因此新虚拟机对象中没有对管理员凭据的引用
  • 创建的对象和我用我的方式创建的完全一样

有人可以向我解释这两种解决方案之间的区别吗?

谢谢你的帮助

最佳答案

最后经过多次测试,我仍然没有任何确认...

在某些情况下,管理员帐户密码需要重置,在其他情况下则不需要...

如果有人有答案那将非常有帮助......

关于linux - 如何在复制操作系统磁盘后在 Azure ASM 中保留/设置默认管理员密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41982540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com