操作场景
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云主机变更流程(手动配置)
表 XEN实例变更为KVM实例(手动配置)
序号 | 任务 |
---|---|
步骤1 | 步骤1:制作系统盘快照 |
步骤2 | 步骤2:安装驱动 |
步骤3 | 步骤3:检查云主机配置是否成功 |
步骤4 | 步骤4:变更规格 |
步骤5 | (可选)步骤5:检查磁盘挂载状态 |
步骤1:制作系统盘快照
如果云主机未安装驱动就执行了变更规格的操作,云主机无法正常使用,需要重装操作系统才能恢复,可能造成您的系统盘数据丢失。因此,建议您先制作系统盘快照,防止数据丢失。创建快照参考https://www.ctyun.cn/document/10000019/10033808。
- 制作系统盘备份前请对云主机完成自检。
对云主机执行关机、开机操作,确保云主机重启后业务可以正常运行。再启动制作系统盘快照。
说明:变更规格完成后,如已确认业务恢复正常,请在快照页面手动删除快照。
步骤2:安装驱动
对于不支持使用脚本方式配置的弹性云主机,请参见本部分内容,手动配置云主机。
-
登录弹性云主机。
-
卸载云主机中已安装的Tools。
-
修改grub的UUID。
-
修改fstab的UUID。
-
安装原生的XEN和KVM驱动。
步骤3:检查云主机配置是否成功
根据步骤2:安装驱动修改grub文件、安装所需驱动后,需检查修改是否生效、驱动是否安装成功。
注意手动方式配置弹性云主机时请务必执行以下操作检查云主机配置是否成功。
-
登录弹性云主机。
-
执行以下命令,检查root分区是否以UUID的形式表示。
cat /boot/grub/grub.cfg
− 是,表示已修改grub文件的磁盘标识方式为UUID。
− 否,修改失败,请参见步骤2:安装驱动重新修改。
……menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34
else
search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34
fi
echo ‘Loading Linux 3.13.0-24-generic ...’
linux /boot/vmlinuz-3.13.0-24-generic **root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34** ro
echo ‘Loading initial ramdisk ...’
initrd /boot/initrd.img-3.13.0-24-generic
}
说明对于不同操作系统,grub文件的具体路径存在差异,请以具体的操作系统为准。例如:“/boot/grub/menu.lst”、“/boot/grub/grub.cfg”、“/boot/grub2/grub.cfg、“/boot/grub/grub.conf”。
-
执行以下命令,检查磁盘的标识方式是否为UUID。
cat /etc/fstab
− 是,表示已修改fstab文件的磁盘标识方式为UUID。
− 否,修改失败,请参见步骤2:安装驱动重新修改。
[root@****** ~]# cat /etc/fstab UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130** / xfs defaults 0 0 UUID=2de37c6b-2648-43b4-a4f5-40162154e135** swap swap defaults 0 0
-
检查是否已安装原生的XEN和KVM驱动。
− 如果引导的虚拟文件系统是initramfs,执行以下命令:
lsinitrd /boot/initramfs-
uname -r
.img | grepuname -r
| grep xenlsinitrd /boot/initramfs-
uname -r
.img | grepuname -r
|grep virtio− 如果引导的虚拟文件系统是initrd ,执行如下命令:
lsinitrd /boot/initrd-
uname -r
| grepuname -r
| grep xenlsinitrd /boot/initrd-
uname -r
| grepuname -r
| grep virtio如果安装成功,回显将显示已安装的原生XEN和KVM驱动名称。
[root@CTU10000xxxxx home]# lsinitrd /boot/initramfs-`uname -r`.img | grep `uname -r`| grep xen
-rwxr--r-- 1 root root 54888 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/block/**xen-blkfront.ko
-rwxr--r-- 1 root root 45664 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/net/**xen-netfront.ko
[root@CTU10000xxxxx home]# lsinitrd /boot/initramfs-`uname -r`.img | grep `uname -r`| grep virtio
-rwxr--r-- 1 root root 23448 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/block/**virtio_blk.ko
-rwxr--r-- 1 root root 50704 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/net/**virtio_net.ko
-rwxr--r-- 1 root root 28424 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/scsi/**virtio_scsi.ko
drwxr-xr-x 2 root root 0 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/**virtio**
-rwxr--r-- 1 root root 14544 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/**virtio.ko
-rwxr--r-- 1 root root 21040 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/**virtio_pci.ko
-rwxr--r-- 1 root root 18016 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/**virtio_ring.ko
5.执行以下命令更新云主机的系统标签
curl 'http://169.254.169.254/openstack/latest/support_hypervisor' -X POST -H "Accept: application/json" -d '{"support_hypervisor":["all"]}' -w %{http_code}
回显显示200说明云服务器的系统标签已添加成功。
注意请务必确保云主机配置成功,否则,可能会导致变更规格后的弹性云主机不可用。
步骤4:变更规格
-
登录控制台。
-
选择“计算 > 弹性云主机”。
-
在弹性云主机列表,查询待变更弹性云主机状态。
如果不是关机状态,单击“操作”列下的“更多 > 关机”。
-
单击“操作”列下的“更多 > 变更规格”。
系统进入“云主机变更规格”页面。
-
根据界面提示,选择变更后的云主机类型、vCPU和内存。
-
(可选)选择“专属主机”。
对于在专属主机上创建的弹性云主机,系统支持更换云主机所在的专属主机。
此时,您可以单击下拉列表,选择更换专属主机。如果下拉列表中无可用的专属主机,说明专属主机所剩资源不足,不能用于创建变更规格后的弹性云主机。
- 勾选复选框“我确认已完成对弹性云主机的配置”,确认已完成“配置弹性云主机”操作。
- 单击“确定”。
说明如果变更规格失败后,弹性云主机无法使用,可能会需要重装操作系统来恢复云主机,请注意重装操作系统会清除系统盘数据,但不影响数据盘的数据。
(可选)步骤5:检查磁盘挂载状态
XEN实例变更为KVM实例时,可能会发生磁盘挂载失败的情况,因此,变更规格后,需检查磁盘挂载状态是否正常。如果正常,则变更成功。
- Linux弹性云主机
详细操作请参考Linux弹性云主机变更规格后磁盘脱机怎么办?
后续处理
如果控制台上云主机列表页,显示弹性云主机已变更规格成功,但是远程登录云主机后,操作系统无法启动,此时,请重装操作系统进行恢复。重装系统的操作指导,请参见重装操作系统。
说明重装操作系统会清除系统盘数据(包括系统盘内存储的快照),但不影响数据盘的数据。
变更规格完成后,如已确认业务恢复正常,请在快照页面手动删除快照。