操作场景
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实例的操作流程如下图所示。
图 Linux云主机变更流程(批量自动配置)
XEN实例变更为KVM实例(批量自动配置)
序号 | 任务 |
---|---|
步骤1 | 制作系统盘快照 |
步骤2 | 批量安装和配置驱动 |
步骤3 | 变更规格 |
(可选)步骤4 | 检查磁盘挂载状态 |
步骤1:制作系统盘快照
如果云主机未安装驱动就执行了变更规格的操作,云主机无法正常使用,需要重装操作系统才能恢复,可能造成您的系统盘数据丢失。因此,建议您先制作系统盘快照,防止数据丢失。
1.制作系统盘快照前请对云主机完成自检。
对云主机执行关机、开机操作,确保云主机重启后业务可以正常运行。再启动制作系统盘快照。
2.制作系统盘快照的操作,请参见《云硬盘用户指南》。
说明变更规格完成后,如已确认业务恢复正常,请在快照页面手动删除快照。
步骤2:批量安装和配置驱动
对于支持使用脚本方式批量配置的弹性云主机,请参见本节操作内容。
不支持使用自动化脚本方式进行配置的云主机,请直接参见XEN实例变更为KVM实例(Linux-手动配置)。
1.登录已准备好的执行机,执行机需满足的条件请参考约束与限制。
2.执行以下命令,安装批量脚本运行所需要的依赖。
yum install -y epel-release
yum install ansible -y
3.执行以下命令,将驱动安装脚本下载到root目录下。
curl URL > ~/resize_ecs_modify_linux.sh
其中,URL为驱动安装脚本的下载地址。
https://server-resize.obs.cn-jssz1.ctyun.cn/resize_ecs_modify_linux.sh
4执行以下命令,将批量操作脚本下载到root目录下。
curl URL > ~/batch_resize_ecs_modify_linux.py
其中,URL为批量操作的执行脚本。
https://server-resize.obs.cn-jssz1.ctyun.cn/batch_resize_ecs_modify_linux.py
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驱动。
a.执行以下命令,对配置好的云主机安装驱动。
密钥对鉴权方式的服务器
如果私钥文件与批量操作执行脚本在一个目录下,则直接指定私钥文件名称即可。
python batch_resize_ecs_modify_linux.py {私钥文件路径/私钥文件名称}
图 运行脚本
密码方式鉴权的服务器。
python batch_resize_ecs_modify_linux.py
图 运行脚本
8.查看运行结果。
请耐心等待脚本运行结束,脚本在确认驱动安装成功后会自动为云主机设置标签,标记驱动安装成功,没有设置标签的云主机无法执行变更规格的操作。
运行结果如下图所示。下表列举了常见的运行结果和说明。
图 运行成功
如果安装失败请参考XEN实例变更为KVM实例(Linux-手动配置)手动配置。
回显信息 | 说明 |
---|---|
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中的运行所需依赖尚未安装,需要执行命令进行安装。 |
说明
驱动安装成功后,请妥善处理host_list.txt中的弹性虚拟机密码以及私钥文件,防止出现环境密码、私钥文件泄露。
请务必确保云主机配置成功,否则,可能会导致变更规格后的弹性云主机不可用。如果运行失败,详细操作请参考XEN实例变更为KVM实例(Linux-手动配置)。
步骤3:变更规格
在管理控制台变更规格
1.登录控制台。
2.单击控制台左上角的,选择区域和项目。
3.单击“”,选择“计算 > 弹性云主机”。
4.在弹性云主机列表,查询待变更弹性云主机状态。
如果不是关机状态,单击“操作”列下的“更多 > 关机”。
5.单击“操作”列下的“更多 > 变更规格”。
系统进入“云主机变更规格”页面。
6.根据界面提示,选择变更后的云主机类型、vCPU和内存。
(可选)选择“专属主机”。
7.对于在专属主机上创建的弹性云主机,系统支持更换云主机所在的专属主机。
此时,您可以单击下拉列表,选择更换专属主机。如果下拉列表中无可用的专属主机,说明专属主机所剩资源不足,不能用于创建变更规格后的弹性云主机。
8.勾选复选框“我确认已完成对弹性云主机的配置”,确认已完成步骤2:批量安装和配置驱动。
单击“确定”。
说明如果变更规格失败后,弹性云主机无法使用,可能会需要重装操作系统来恢复云主机,请注意重装操作系统会清除系统盘数据,但不影响数据盘的数据。
(可选)步骤4:检查磁盘挂载状态
XEN实例变更为KVM实例时,可能会发生磁盘脱机,因此,变更规格后,需检查磁盘挂载状态是否正常。如果正常,则变更成功。
- Linux弹性云主机
详细操作请参考Linux弹性云主机变更规格后数据盘脱机怎么办?
后续处理
如果控制台上云主机列表页,显示弹性云主机已变更规格成功,但是远程登录云主机后,操作系统无法启动,此时,请联系客服进行恢复,或重装操作系统进行恢复。重装系统的操作指导,请参见重装操作系统。
说明重装操作系统会清除系统盘数据(包括系统盘内存储的快照),但不影响数据盘的数据。
变更规格完成后,如已确认业务恢复正常,请在快照页面手动删除快照。