文档

混合云云主机批量热迁移方案

更新时间:
一键部署

在混合云使用过程中,存在虚拟化集群中整台物理机或者多台物理机进行设备维护维修的运维场景。在该场景下,整台物理机上多个云主机触发批量热迁移,将使用本方案进行批量云主机在线热迁移,实现云主机集群整台物理机或者多台物理机的云主机批量热迁移功能。

前提条件

  • 云平台部署均到达终态,包括云服务器ECS服务、专有网络VPC服务、分布式块EBS服务、Apsara Uni-manager运营控制台、Apsara Uni-manager运维控制台使用正常。

  • 云平台基于企业版V3.12及以上版本。

  • 准备ecs_ag_script.tar.gz热迁移配置脚本和ops_vm_script.tar.gz工具机配置脚本。

方案配置流程

  1. 步骤一:实践准备。

    1. ECS集群AG配置热迁移文件。

    2. ECS集群AG创建工具机。

    3. 配置工具机网络和业务访问检查脚本。

  2. 步骤二:实践执行。

    1. 工具机启动网络和业务访问检查。

    2. ECS集群AG启动热迁移操作。

    3. 批量热迁移完成。

    4. 工具机停止网络和业务访问检查。

  3. 步骤三:结果检查。

    1. 检查工具机网络和业务访问结果。

步骤一 :实践准备

  1. ECS集群AG配置热迁移文件。

    1. 环境信息查询。

      1. 登录天基运维控制台,查找名称为tianji-XX的集群,选择集群配置文件,单击machine_group.conf,记录计算集群OPS#1到OPS#4物理服务器主机名。1

      2. 登录天基运维控制台,查找名称为ECS-CPU*的集群,选择集群配置文件,单击machine_group.conf,查询AdminGateway的VM,即为测试集群AG节点。2

    2. 配置热迁移文件。

      1. 将热迁移配置脚本ecs_ag_script.tar.gz上传到OPS#1节点,登录OPS#1节点,使用如下命令将热迁移配置脚本ecs_ag_script.tar.gz复制到ECS集群AG的/home/admin/ecs_ag目录下:scp ecs_ag_script.tar.gz root@AGhostname:/home/admin/ecs_ag,其中AGhostname使用上文步骤b中查询到的ECS集群AG名称替换。

      2. 登录ECS集群AG,进行热迁移配置脚本解压和配置: 解压命令:tar -zxvf ecs_ag_script.tar.gz进入ecs ag script目录,编辑config.ini文件,配置如下图字段:14

      3. 登录Apsara Uni-manager运营控制台,查看并记录需要迁移的多台云主机IP地址和实例ID,并写入ecsCreatedByScript.txt文件。

  2. ECS集群AG创建工具机。

    1. 登录ECS集群AG,进入ecs_ag_script目录,运行python TestCreateEcs.py 1 创建出1台云主机实例,将其作为工具机,创建的云主机实例默认登录密码都是Aa123456。1

    2. 查询ecsCreatedByScript.txt文件,获取云主机实例ID保存到文件single_vm.txt中,执行python query_ip_list_one.py查询云主机实例IP地址。

  3. 配置工具机网络和业务访问检查脚本。

    1. 上传工具机检查脚本。

      1. 将网络和业务访问检查脚本ops_vm_script.tar.gz上传到OPS#1节点,登录OPS#1节点,将脚本复制到工具机:scp ops_vm_script.tar.gz root@ToolhostIP:/home,其中ToolhostIP为步骤一 :实践准备中查询到的工具机IP地址。

      2. 登录工具机,进行脚本解压:tar-zxvf ops_vm_script.tar.gz。

    2. 检查待迁移云主机可达。

      1. 步骤一 :实践准备中记录的待迁移云主机IP地址填写到ip.txt文件中。

      2. 在工具机上执行fping -f ip.txt检查待迁移IP地址是否可以ping通。6

步骤二:实践执行

  1. 工具机启动网络和业务访问检查。

    登录工具机,打开两个终端界面,分别执行nohup python check_network.py &和nohuppython check_business.py &,持续检查网络和业务:7

  2. ECS集群AG启动热迁移操作。

    1. 再次检查ecsCreatedByScript.txt文件中的待迁移云主机实例ID和IP对应关系,确保符合预期。

    2. 执行迁移命令python TestLiveMigrateEcs.py ecsCreatedByScript.txt $threadnumber,其中$threadnumber为待迁移云主机台数。

    3. 命令执行后,在终端会输出实时迁移状态。8

  3. 批量热迁移完成。

    登录ECS集群AG,查看终端实时迁移状态为Migrate ecs success,表明批量热迁移完成。9

  4. 工具机停止网络和业务访问检查。

    1. 热迁移完成后,在工具机上查询check_network进程ID后终止check_network.py脚本:10

步骤三:结果检查

  1. 检查工具机网络和业务访问结果。

    1. 查看网络中断情况并记录:查看check_network目录下的日志文件$ip_output.txt,如果有网络中断,则会在check_network目录下生成network_interruption_result.txt,文件中会记录中断时间。

    2. 查看业务中断情况并记录:执行python get_check_business_result.py获取业务日志文件,进入check_business目录,检查业务中断时间。

  • 本页导读
文档反馈