XEN实例变更为KVM实例(Linux-批量自动配置)

操作场景

Linux操作系统XEN实例变更为KVM实例前,必须已完成必要的驱动安装和配置。

当您需要变更的Linux操作系统的XEN实例比较多时候,推荐您使用本节的批量自动配置的方法安装驱动,通过自动化脚本的方式批量为Linux云服务器安装驱动、配置磁盘自动挂载。在驱动安装完成后使用控制台提供的“变更规格”功能将XEN实例变更为KVM实例。

  • XEN实例:S1、C1、C2、M1型弹性云服务器。
  • KVM实例:参考规格清单,查询对应规格的虚拟化类型。
  • 为了同时支持XEN虚拟化和KVM虚拟化,Linux弹性云服务器的正常运行需依赖于xen-pv驱动、virtio驱动等。XEN实例变更为KVM实例前,需要确保Linux弹性云服务器已完成相关配置,包括安装驱动、配置磁盘自动挂载等。

约束与限制

  • 批量安装驱动仅支持Linux操作系统。
  • 需要选取一台操作系统为CentOS 7且已绑定弹性公网IP的云服务器作为执行机,且与待批量安装驱动的弹性云服务器之间网络需要互通。

    若已配置yum内部源,可不需要绑定弹性公网IP

  • 需要提前准备待批量安装驱动的云服务器的IP地址、root用户的密码信息或者私钥文件。
  • 仅支持对使用同一密钥对的云服务器执行批量安装驱动和配置的操作。

操作流程

XEN实例变更为KVM实例的操作流程如图1所示。
图1 Linux云服务器变更流程(批量自动配置)
表1 XEN实例变更为KVM实例(批量自动配置)

序号

任务

步骤1

步骤1:制作系统盘快照

步骤2

步骤2:批量安装和配置驱动

步骤3

步骤3:变更规格

步骤4

(可选)步骤4:检查磁盘挂载状态

步骤1:制作系统盘快照

如果云服务器未安装驱动就执行了变更规格的操作,云服务器无法正常使用,需要重装操作系统才能恢复,可能造成您的系统盘数据丢失。因此,建议您先制作系统盘快照,防止数据丢失。

  1. 制作系统盘快照前请对云服务器完成自检

    对云服务器执行关机、开机操作,确保云服务器重启后业务可以正常运行。再启动制作系统盘快照。

  2. 制作系统盘快照的操作,请参见《云硬盘用户指南》的“用户指南 > 创建快照”章节。

变更规格完成后,如已确认业务恢复正常,请在快照页面手动删除快照。

步骤2:批量安装和配置驱动

对于支持使用脚本方式批量配置的弹性云服务器,请参见本节操作内容。

不支持使用自动化脚本方式进行配置的云服务器,请直接参见XEN实例变更为KVM实例(Linux-手动配置)

  1. 登录已准备好的执行机,执行机需满足的条件请参考约束与限制
  2. 执行以下命令,安装批量脚本运行所需要的依赖。

    yum install ansible -y

  3. 执行以下命令,将驱动安装脚本下载到root目录下。

    curl URL > ~/resize_ecs_modify_linux.sh

    其中,URL为驱动安装脚本的下载地址。

    请根据云服务器所在区域选择脚本的下载地址:

  4. 执行以下命令,将批量操作脚本下载到root目录下。

    curl URL > ~/batch_resize_ecs_modify_linux.py

    其中,URL为批量操作的执行脚本。

    请根据云服务器所在区域选择脚本的下载地址:

  5. 执行以下命令,新建并编辑host_list.txt,按i进入编辑模式。
    vi host_list.txt

    请将驱动安装脚本、批量操作执行脚本、host_list.txt文件放在一个目录下。

  6. 将需要自动安装驱动的云服务器的相关信息填写到host_list.txt文件中。

    文件填写格式与登录待切换弹性云服务器的方式需要匹配。

    • 使用密钥对方式鉴权的云服务器,填写方式如下:
      • 使用密钥对方式鉴权的云服务器,请将创建弹性云服务器时保存的私钥文件,上传至与host_list.txt同一个文件夹下。
      • 使用密钥对方式鉴权的云服务器,请确保私钥文件的权限为400。

        chmod 400 私钥文件

      每行仅需填写云服务器IP地址。

      示例:

      192.168.1.10
      192.168.1.11
    • 使用密码方式登录的云服务器,填写方式如下:

      请严格按照每行ip,root用户密码,中间以英文逗号隔开的格式填写。

      示例:

      192.168.1.10,**********
      192.168.1.11,**********

    确认输入完毕后,按Esc退出编辑模式,输入:wq保存退出。

  7. 运行批量执行操作脚本“batch_resize_ecs_modify_linux.py”,该脚本会批量对配置好的云服务器进行自动检查并安装原生xen-pv驱动、virtio驱动。
    1. 执行以下命令,对配置好的云服务器安装驱动。
      • 密钥对鉴权方式的服务器

        如果私钥文件与批量操作执行脚本在一个目录下,则直接指定私钥文件名称即可。

        python batch_resize_ecs_modify_linux.py {私钥文件路径/私钥文件名称}
        图2 运行脚本
      • 密码方式鉴权的服务器。

        python batch_resize_ecs_modify_linux.py

        图3 运行脚本
  8. 查看运行结果。

    请耐心等待脚本运行结束,脚本在确认驱动安装成功后会自动为云服务器设置标签,标记驱动安装成功,没有设置标签的云服务器无法执行变更规格的操作。

    运行结果如图4所示。表2,列举了常见的运行结果和说明。
    图4 运行成功
    如果安装失败请参考XEN实例变更为KVM实例(Linux-手动配置)手动配置或者联系客服寻求技术支持。
    表2 运行结果对照表

    回显信息

    说明

    Total: {数量} Success: {数量} Failed: 0

    全部弹性云主机完成检查并安装驱动成功。

    Total: {数量} Success: {数量} Failed: {数量}

    Failed数量不为零,表示部分弹性云主机检查或者安装驱动失败,可按照提示查看日志(logs/exec_origin.log)对应主机执行失败的原因。

    Please check the format of host_list.txt

    host_list.txt文件填写不符合要求,需要重新按照步骤6要求进行填写。

    [Error] resize_ecs_modify_linux.sh not found.

    步骤6中的驱动安装脚本尚未下载,需要重新操作下载。

    Host(s) is unreachable, please check the network or password of user root.

    当前云服务器无法访问以上弹性云服务器,需要确认网络是否互通,或者host_list.txt文件中配置的root用户密码是否正确。

    [Error] host_list.txt not found.

    host_list.txt文件尚未创建,需要按照步骤6进行操作。

    [Error] key-file {私钥文件} not found.

    指定的私钥文件不存在,请确定私钥文件存在后,重新按照步骤6操作。

    或者使用密码方式登录,重新按照操作流程步骤6进行操作。

    Please confirm that the ansible has been installed.

    步骤2中的运行所需依赖尚未安装,需要执行命令进行安装。

步骤3:变更规格

  • 在管理控制台变更规格
    1. 登录控制台。
    2. 单击控制台左上角的,选择区域和项目。
    3. 选择“计算 > 弹性云服务器”。
    4. 弹性云服务器列表,查询待变更弹性云服务器状态。

      如果不是关机状态,单击“操作”列下的“更多 > 关机”。

    5. 单击“操作”列下的“更多 > 变更规格”。

      系统进入“云服务器变更规格”页面。

    6. 根据界面提示,选择变更后的云服务器类型、vCPU和内存。
    7. (可选)选择“专属主机”。

      对于在专属主机上创建的弹性云服务器,系统支持更换云服务器所在的专属主机。

      此时,您可以单击下拉列表,选择更换专属主机。如果下拉列表中无可用的专属主机,说明专属主机所剩资源不足,不能用于创建变更规格后的弹性云服务器。

    8. 勾选复选框“我确认已完成对弹性云服务器的配置”,确认已完成步骤2:批量安装和配置驱动
    9. 单击“确定”。
      • 单击“确定”后云平台自动为您制作系统盘快照。变更规格完成后,如已确认业务恢复正常,请在快照页面手动删除快照。
      • 如果变更规格失败后,弹性云服务器无法使用,可能会需要重装操作系统来恢复云服务器,请注意重装操作系统会清除系统盘数据,但不影响数据盘的数据。

(可选)步骤4:检查磁盘挂载状态

XEN实例变更为KVM实例时,可能会发生磁盘脱机,因此,变更规格后,需检查磁盘挂载状态是否正常。如果正常,则变更成功。

后续处理

如果控制台上云服务器列表页,显示弹性云服务器已变更规格成功,但是远程登录云服务器后,操作系统无法启动,此时,请联系客服进行恢复,或重装操作系统进行恢复。重装系统的操作指导,请参见重装操作系统

重装操作系统会清除系统盘数据,但不影响数据盘的数据。

变更规格完成后,如已确认业务恢复正常,请在快照页面手动删除快照。