操作场景
Linux操作系统XEN实例变更为KVM实例前,必须已完成必要的驱动安装和配置。
本节操作指导您使用自动化脚本的方式为Linux云主机安装驱动、配置磁盘自动挂载等,并将XEN实例变更为KVM实例。
- XEN实例:S1、C1、C2、M1型弹性云主机。
- KVM实例:查询对应规格的虚拟化类型。
- 为了同时支持XEN虚拟化和KVM虚拟化,Linux弹性云主机的正常运行需依赖于xen-pv驱动、virtio驱动等。XEN实例变更为KVM实例前,需要确保Linux弹性云主机已完成相关配置,包括安装驱动、配置磁盘自动挂载等。
约束与限制
- Linux操作系统云主机如果存在由多个物理卷组成的LVM逻辑卷或组建了RAID磁盘阵列,均不支持变更规格,否则可能会导致数据丢失。
- 对于XEN实例,当挂载的VBD磁盘超过24块时,不支持将规格变更为KVM实例。
- 系统支持将“XEN实例”变更为“KVM实例”,不支持将“KVM实例”变更为“XEN实例”。
操作流程
XEN实例变更为KVM实例的操作流程如下图所示。
Linux云主机变更流程(自动配置)
支持使用该方案的操作系统包括:
- Ubuntu_14.04
- Ubuntu_16.04
- CentOS_6.7
- CentOS_6.8
- CentOS_7.1
- CentOS_7.2
- CentOS_7.3
- CentOS_7.4
- EulerOS
- SUSE 11
具体的变更操作如下表所示。
XEN实例变更为KVM实例(自动配置)
序号 | 任务 |
步骤1 | |
步骤2 | |
步骤3 | |
步骤4 |
(可选)步骤1:制作系统盘快照
如果云主机未安装驱动就执行了变更规格的操作,云主机无法正常使用,需要重装操作系统才能恢复,可能造成您的系统盘数据丢失。因此,建议您先制作系统盘快照,防止数据丢失。创建快照参考 https://www.ctyun.cn/document/10000019/10018281。
1.制作系统盘备份前请对云主机完成自检。
对云主机执行关机、开机操作,确保云主机重启后业务可以正常运行。再启动制作系统盘快照。
说明:变更规格完成后,如已确认业务恢复正常,请在快照页面手动删除快照。
步骤2:使用脚本自动安装驱动
对于支持使用脚本方式配置的弹性云主机,请参见本部分内容。部分操作系统的弹性云主机暂不支持使用自动化脚本方式进行配置,请直接参见 XEN实例变更为KVM实例(Linux-手动配置)。
1.登录弹性云主机。
2.执行以下命令,将驱动安装脚本下载到root目录下。
curl URL > ~/resize_ecs_modify_linux.sh
其中,URL为规格变更优化脚本的下载地址。
https://xen-switch-kvm.obs.cn-jssz1.ctyun.cn/resize_ecs_modify_linux.sh。
3.执行以下命令,运行脚本,该脚本会自动检查并安装原生xen-pv驱动、virtio驱动。
bash resize_ecs_modify_linux.sh
运行脚本
4.请耐心等待脚本运行结束。
您可以执行步骤3:变更规格。否则,请尝试重新运行脚本或联系客服寻求技术支持。
运行成功
- 请务必确保云主机配置成功,否则,可能会导致变更规格后的弹性云主机不可用。如果运行失败或者 ,请参考 XEN实例变更为KVM实例(Linux-手动配置)手动配置 。
- 脚本安装失败常见问题请参考:
- CentOS 5操作系统云主机执行驱动安装脚本失败怎么办?
- Linux云主机变更规格时执行驱动安装脚本失败怎么办?
CentOS 5操作系统云主机执行驱动安装脚本失败怎么办?
操作场景
部分CentOS 5操作系统云主机在执行脚本安装virtio驱动后,如果脚本无法判断驱动是否安装成功,可以参考本节的操作步骤检查云主机驱动是否安装成功。
操作步骤
1.登录弹性云主机,新建临时目录check。
mkdir /check
2.复制镜像文件到当前目录下。
cp /boot/initrd-2.6.18-308.el5.img /check/
3.执行以下命令,修改文件格式为gz。
cd /check
mv initrd-2.6.18-308.el5.img initrd-2.6.18-308.el5.img.gz
4.解压文件。
gzip -d initrd-2.6.18-308.el5.img.gz
5.查询驱动安装情况。
cpio -t -F initrd-2.6.18-308.el5.img | grep virtio
检查过程如图所示:
查询驱动安装情况
如果回显包含:virtio,virtio_blk,virtio_net,virtio_pci则表示驱动安装成功。
由于镜像版本过低,缺少virtio_scsi驱动,此弹性云主机将无法正常挂载SCSI类型的磁盘。
Linux云主机变更规格时执行驱动安装脚本失败怎么办?
问题描述
变更弹性云主机规格时,如果使用自动化脚本的方式为Linux云主机安装驱动。
如果安装过程中出现如下回显信息,说明脚本已经执行完成驱动安装步骤,但在最后检查时失败,可能原因是由于云主机中缺少某个驱动。
...
Info:ECS modify success (mkinitrd)
Info:Check xen and virtio driver again!
...
Error:ECS modify error!
驱动安装成功但是检查失败
解决方案
请先参考 XEN实例变更为KVM实例(Linux-手动配置)中“检查云主机配置是否成功”的操作步骤检查驱动是否安装成功。
如果驱动安装失败,可能是由于自动化脚本与当前操作系统不适配,建议参考 XEN实例变更为KVM实例(Linux-手动配置),手动安装Linux云主机驱动。
部分Linux云主机由于内核版本过低或对内核做过某些修改,导致云主机缺少virtio_scsi驱动。缺少virtio_scsi驱动将导致云主机无法正常挂载SCSI类型磁盘,但不影响XEN实例变更为KVM实例。如确认不使用SCSI类型磁盘,则可以在缺少virtio_scsi驱动的情况下变更规格。
步骤3:变更规格
1.登录控制台。
2.选择“计算 > 弹性云主机”。
3.在弹性云主机列表,查询待变更弹性云主机状态。
如果不是关机状态,单击“操作”列下的“更多 > 关机”。
4.单击“操作”列下的“更多 > 变更规格”。
系统进入“云主机变更规格”页面。
5.根据界面提示,选择变更后的云主机类型、vCPU和内存。
6.(可选)选择“专属主机”。
对于在专属主机上创建的弹性云主机,系统支持更换云主机所在的专属主机。
此时,您可以单击下拉列表,选择更换专属主机。如果下拉列表中无可用的专属主机,说明专属主机所剩资源不足,不能用于创建变更规格后的弹性云主机。
7.勾选复选框“我确认已完成对弹性云主机的配置”,确认已完成“配置弹性云主机”操作。
8.单击“确定”。
(可选)步骤4:检查磁盘挂载状态
XEN实例变更为KVM实例时,可能会发生磁盘挂载失败的情况,因此,变更规格后,需检查磁盘挂载状态是否正常。如果正常,则变更成功。
Linux弹性云主机
详细操作请参考 Linux弹性云主机变更规格后磁盘脱机怎么办?
Linux弹性云主机变更规格后磁盘脱机怎么办?
操作场景
Linux弹性云主机变更规格时,可能会发生磁盘挂载失败的情况,因此,变更规格后,需检查磁盘挂载状态是否正常。本节操作介绍变更规格后检查磁盘挂载状态的操作步骤。
操作步骤
1.以root用户登录云主机。
2.执行以下命令,查询磁盘信息。
fdisk -l | grep 'Disk /dev/'
查询磁盘信息
如上图所示,云主机共有3块磁盘:/dev/vda、/dev/vdb、/ev/vdc。
3.执行以下命令,查看磁盘挂载情况。
df -h| grep '/dev/'
查询磁盘挂载情况
如上图所示,云主机只挂载了1块磁盘/dev/vda。
4.对比2和3中查询的磁盘个数是否一致。
−是,表示变更成功,结束。
−否,表示存在磁盘挂载失败,执行5。
5.使用mount命令挂载磁盘。
示例:
mount /dev/vbd1 /mnt/vbd1
其中,/dev/vbd1是待挂载的磁盘,/mnt/vbd1是待挂载磁盘的路径。
待挂载磁盘的文件夹/mnt/vbd1必须是空文件夹,否则会挂载失败。
6.再次执行以下命令,对比查询的磁盘个数是否一致。
fdisk -l | grep 'Disk /dev/'
df -h| grep '/dev/'
−是,结束。
−否,请联系客服获取技术支持。
检查磁盘个数是否一致
如上图所示,使用两个命令查询的云主机磁盘个数一致,分别是:/dev/vda、/dev/vdb、/dev/vdc。
后续处理
如果控制台上云主机列表页,显示弹性云主机已变更规格成功,但是远程登录云主机后,操作系统无法启动,此时,请重装操作系统进行恢复。