实践出真知——利用Azure Migrate迁移Hyper-V虚机之虚机发现

  前一篇文档简单介绍了Azure Migrate相关概念和功能,这次以Hyper-V为例,测试如何使用Azure Migrate发现、评估和迁移虚机。

实验环境

  如上篇文档介绍,Hyper-V环境下的VM,需要通过Azure Migrate 设备来进行迁移。Azure Migrate 设备实际也是一台Hyper-V环境下的VM,通过从Azure网站上下载的vhd文件生成。

  我们将在Azure上搭建该实验环境,使用了两台支持虚拟化的Azure VM,安装Windows Server 2016,作为Hyper-V宿主机,一台宿主机(虚机名Hyper-V)放置需要迁移的VM,另一台宿主机(虚机名MigrateAppliance)放置Azure Migrate 设备。为了简化实验环境,将这两台宿主机放在同一个VNet里,MigrateAppliance通过公网连接到Azure Migrate服务,整体架构如下:

image-20201229200258822

实验环境准备

Hyper-V环境准备

  在Azure上创建两台VM作为宿主机,选择Ev系列,放置在同一个VNet里,并在VM上安装配置Hyper-V。

  在虚机名Hyper-V的宿主机上,通过Hyper-V管理器创建Ubuntu和Windows Server 2016的VM各一台:

image-20201229221618496

Azure Migrate设备安装注册

  在Azure Portal的所有服务搜索Migrate,找到Azure Migrate:

image-20201229221834183

  点击进入,可以看到在Azure Migrate整合了服务器、DB、VDI、Web App、Data的迁移:

image-20201229221957620

  选择评估和迁移服务器,进入后现在还没有项目:

image-20201229222048786

  创建一个项目,选择和输入所需信息:

image-20201229222150911

  完成后如下:

image-20201229222238846

  首先需要去发现服务器,所以点击Assessment tools框你的Discover,发现服务器的方式有两种:

  • 在线使用Azure Migrate 设备去动态自动发现,这种情况下要求Azure Migrate 设备可以连接至Azure发送数据
  • 如果不能联网,可以通过下载CSV文件手工填写后导入

  在此,根据我们的要求选择使用设备导入,并且选择Hyper-V平台:

image-20201229222717761

  然后为Azure Migrate Appliance(以下简称AMA)命名,并生成key,这个key非常重要,是AMA和Azure Migrate通讯的凭据,所以一定要保存好:

image-20201229223243508

  然后下载VHD文件后传到要部署MAM的Hyper-V宿主机(此处为名为MigrateAppliance的Azure VM),下载完成是一个zip文件,解压缩得到MAM的虚机文件夹:

image-20201229225146523

  在Hyper-V管理界面里,选择导入虚机:

image-20201229225255471

  定位到刚才解压缩出来的文件夹里的Virtual Machines文件夹:

image-20201229225407152

  连续点击下一步,在“Choose Import Type”选择“create a new unique ID”:

image-20201229225540952

  按要求AMA需要8个vCPU,但实验环境达不到这个数量,所以选择4颗:

image-20201229225732776

  根据实际情况选择网络(这里要注意,由于该实验环境在Azure,所以Hyper-V的External交换机没法让VM的网卡通过DHCP获得IP,所以要提前创建好一个Internal交换机和NAT环境):

image-20201229225814490

  到“Summary”检查无误后点击“Finish”完成AMA创建:

image-20201229230123804

  将AMA连接并开机,首先需要接受协议:

image-20201229231052305

  设置密码后进入登录界面:

image-20201229231156799

  登录完成稍等自动进入AMA管理界面,接受协议后开始自检:

image-20201229231411182

  这里由于宿主机没有提供DHCP,所以AMA无法联网,会提示是否要设置proxy,手工设置AMA虚机的ip后重新刷新页面,开始自检和update:

image-20201229231733055

  全部通过后在第二部将AMA注册到Azure Migrate,在输入框里粘贴刚才记下的key并login,如验证无误,则生成Device Code:

image-20201229232225558

  点击Copy code & Login,出来Azure的device验证界面,输入code并Next,用自己的用户名口令登录Azure(使用Azure cli的同学应该很熟悉这个步骤了):

image-20201229232502404

  登录完成,回到AMA界面,稍等几分钟,AMA已经成功注册:

image-20201229232713188

  到Portal检查Azure Migrate,也可以看到AMA已经注册:

image-20201229232820791

连接Hyper-V服务器

  回到AMA,开始添加需要发现Hyper-V服务器。添加顺序有些特殊,第一步是添加凭据,即Hyper-V服务器的用户名口令。

  点击“Add credentials”,为凭据取一个名字,输入用户名口令并保存或继续添加:

image-20201230094857281

  然后点击“Add discovery source”添加source,即需要发现的Hyper-V主机或群集,可以单台添加,也可以同时添加多台或者用CSV导入,这里选择合适的凭据,以及Hyper-V主机的ip或者fqdn:

image-20201230100136794

  添加完成后自动校验状态,这里要注意,AMA需要通过5895端口和Hyper-V主机通讯,所以如果之间有防火墙或NAT等设备,需要打开端口或做映射;校验通过后可以点击“Start discovery”发现主机(这里把两台Hyper-V宿主机都添加了):

image-20201230100245659

  回到Azure Portal,点击刷新,可以看到发现了3台服务器:

image-20201230100729478

  点击发现的服务器,就是我们在Hyper-V上创建的3台VM,并且列出了操作系统和配置:

image-20201230101058811

小结

  通过以上步骤完成了Hyper-V环境下,需要迁移的VM的发现,为下一步的评估和迁移做好了准备,后续将进行评估和迁移的实验。