Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1)

时间:2023-12-18 14:05:50

  《Windows Azure Platform 系列文章目录

  请先确认不要把持久化文件保存在

  -  Windows的D盘

  -  Linux的/dev/sdb1

  上面的盘符不是持久化盘符,数据库会有丢失风险

  目前很多客户陆续的把传统ASM VM迁移至ARM VM。我这里简单介绍一下。

  整个迁移过程分为:

  1.Validate,Azure平台对需要迁移的资源进行验证

  2.Prepare,准备迁移

  3.Check Manually,IT运维人员对迁移资源进行检查

  4.Commit Or Abort,如果迁移成功则提交事务commit,如果失败则放弃Abort

  准备迁移环境:

  我们准备了以下需要迁移的ASM资源:

  1.创建一个存储账户:leiasmstorage,这个存储账户为经典资源(Classic Model)

  2.创建一个虚拟网络:LeiASMVNet,这个虚拟网络也是经典资源(Classic Model)。

  IP Range为10.0.0.0/16,Subnet只有一个为:subnet-1,10.0.0.0/24

  3.创建一个云服务Azure Cloud Service,DNS Name:LeiCloudService.chinacloudapp.cn

  4.在这个云服务器下,有两台Linux VM: LeiVM01和LeiVM02。这2台VM都在同一个高可集下Lei-AvbSet。

  5.这2台VM也在同一个虚拟网络LeiASMVNet里。LeiVM01的内网IP是10.0.0.4,LeiVM02的内网IP是10.0.0.5

  整体架构如下图:

  Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1)

  以下是创建VM的脚本:

Add-AzureAccount -Environment AzureChinaCloud

#设置订阅名称
$subscriptionName = 'YourSubscriptionName' #设置ASM存储账户名称
$storageAccount = 'YourStorageAccountName'
Set-AzureSubscription -SubscriptionName $subscriptionName -CurrentStorageAccount $storageAccount
Select-AzureSubscription -SubscriptionName $subscriptionName -current #这里设置Linux用户名和密码
$adminName = "azureadmin"
$adminPassword = "YourVMPassword" #设置DNS Name和机器名
$serviceName = "LeiCloudService"
$vmName ="LeiVM01" #VM所在的数据中心
$location = "China East" #VM大小
$vmSize ="ExtraSmall" #VNet,子网,和内网IP
$vNetName = 'LeiASMVNet'
$subnetName='Subnet-1'
$privateIP='10.0.0.4' #外挂Disk大小
$disksize=500
$disklabel= $vmName + "DataDisk"
$lun=0
$hcaching="None" $imageList = Get-AzureVMImage `
| where {$_.ImageName -like "*CentOS-65*"} $image=$imageList[0] #创建VM
$vm1 = New-AzureVMConfig -Name $vmName -InstanceSize $vmSize -ImageName $image.ImageName -AvailabilitySetName 'Lei-AvbSet' #这里不能指定TimeZone
$vm1 | Add-AzureProvisioningConfig -Linux -LinuxUser $adminName -Password $adminPassword $vm1 | Set-AzureSubnet -SubnetNames $subnetName $vm1 | Set-AzureStaticVNetIP -IPAddress $privateIP $vm1 | Add-AzureDataDisk -CreateNew -DiskSizeInGB $disksize -DiskLabel $disklabel -LUN $lun -HostCaching $hcaching New-AzureVM -ServiceName $serviceName -VM $vm1 -VNetName $vNetName -Location 'China East' #===================================================================
#这里设置Linux用户名和密码
$adminName = "azureadmin"
$adminPassword = "YourVMPassword" #设置DNS Name和机器名
$serviceName = "LeiCloudService"
$vmName ="LeiVM02" #VM所在的数据中心
$location = "China East" #VM大小
$vmSize ="ExtraSmall" #VNet,子网,和内网IP
$vNetName = 'LeiASMVNet'
$subnetName='Subnet-1'
$privateIP='10.0.0.5' #外挂Disk大小
$disksize=500
$disklabel= $vmName + "DataDisk"
$lun=0
$hcaching="None" $imageList = Get-AzureVMImage `
| where {$_.ImageName -like "*CentOS-65*"} $image=$imageList[0] #创建VM
$vm1 = New-AzureVMConfig -Name $vmName -InstanceSize $vmSize -ImageName $image.ImageName -AvailabilitySetName 'Lei-AvbSet' #这里不能指定TimeZone
$vm1 | Add-AzureProvisioningConfig -Linux -LinuxUser $adminName -Password $adminPassword $vm1 | Set-AzureSubnet -SubnetNames $subnetName $vm1 | Set-AzureStaticVNetIP -IPAddress $privateIP $vm1 | Add-AzureDataDisk -CreateNew -DiskSizeInGB $disksize -DiskLabel $disklabel -LUN $lun -HostCaching $hcaching New-AzureVM -ServiceName $serviceName -VM $vm1 -VNetName $vNetName -Location 'China East'

  请注意:我们在迁移之前一定要设置Classic VM的固定公网IP地址。

  请注意:我们在迁移之前一定要设置Classic VM的固定公网IP地址。

  请注意:我们在迁移之前一定要设置Classic VM的固定公网IP地址。

  因为可能用户把自己的域名,通过A记录指向到了微软云Azure上。

#这里设置固定公网IP地址
New-AzureReservedIP -ServiceName $serviceName -ReservedIPName 'LeiCloudService-IP' -Location 'China East'

  创建完毕后的资源如下:

  Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1)

  固定IP信息如下图红色部分:

  Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1)