【发布时间】:2017-10-15 23:00:51
【问题描述】:
我有两个虚拟机,它们在运行 erp 应用程序和数据库服务器的域下。两个 vm 都采用标准 D12 v2(4 核,28 GB 内存)模板。 现在我们需要将这些虚拟机移动到高级磁盘中。那么如何将现有的 Azure VM 迁移到 Azure 高级存储。
【问题讨论】:
标签: azure azure-storage
我有两个虚拟机,它们在运行 erp 应用程序和数据库服务器的域下。两个 vm 都采用标准 D12 v2(4 核,28 GB 内存)模板。 现在我们需要将这些虚拟机移动到高级磁盘中。那么如何将现有的 Azure VM 迁移到 Azure 高级存储。
【问题讨论】:
标签: azure azure-storage
我会建议迁移到托管磁盘,您可以使用标准存储帐户将现有 VM 迁移到托管磁盘和高级存储帐户,请参阅下面的文章。
Migrate existing Azure VMs using standard unmanaged disks to Premium managed disks
【讨论】:
我们可以将现有 Azure VM 从标准存储帐户迁移到高级存储帐户,但我们需要关闭这些 VM。
如果我们可以关闭虚拟机,那么我们可以按照以下步骤迁移它们:
1.通过 Azure 门户创建高级存储帐户(新)。
2.关闭 Azure VM,复制 VHD 到高级存储帐户。我们可以使用 PowerShell、Azure 存储资源管理器或 Azcopy 将 VHD 复制到新的存储帐户。
3.只需删除 Azure 虚拟机并保留 VHD、虚拟网络、网卡、公共 IP 地址和其他设置。
4. 使用新的存储帐户创建新的虚拟机,当我们创建新的虚拟机时,在配置页面中,我们选择原始的Vnet和网卡。
5. 完成后,尝试登录这些虚拟机并测试
erp 应用程序,确保虚拟机正常运行,然后删除原始 VHD 和存储帐户。
注意:
当我们使用新存储帐户中的 VHD 来创建 VM 时,我们需要将 VM 磁盘类型 选择为 SSD。
=============================================
更新:
1. 停止 Azure VM 并通过 Azure 门户删除 VM。
2. 使用 Azcopy(Microsoft Azure 存储命令行)将 VHD 复制到新的 Azure 高级存储帐户:
AzCopy /Source:https://vmdisks416.blob.core.windows.net/vhds /Dest:https://jasondisk999.blob.core.windows.net/vhds /SourceKey:key /DestKey:key /Pattern:jasonvm20170519131021.vhd
3。使用 PowerShell创建新的 Azure VM:
PS C:\Users> $rgname = "vm"
PS C:\Users> $loc = "eastus"
PS C:\Users> $vmsize = "Standard_DS1_v2"
PS C:\Users> $vmname = "jason-newtest2"
PS C:\Users> $vm = New-AzureRmVMConfig -VMName $vmname -VMSize $vmsize
PS C:\Users> $nic = Get-AzureRmNetworkInterface -Name "jasonvm422" -ResourceGroupName $rgname
PS C:\Users> $nicId = $nic.Id
PS C:\Users> $vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nicId
PS C:\Users> $osDiskName = "jason-newtest"
PS C:\Users> $osDiskVhdUri = "https://jasondisk999.blob.core.windows.net/vhds/jasonvm20170519131021.vhd"
PS C:\Users> $vm = Set-AzureRmVMOSDisk -VM $vm -VhdUri $osDiskVhdUri -name $osDiskName -CreateOption attach -Linux
PS C:\Users> New-AzureRmVM -ResourceGroupName $rgname -Location $loc -VM $vm
WARNING: Since the VM is created using premium storage, existing standard storage account, vmdiag614, is used for boot diagnostics.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK OK
【讨论】: