文档首页 > > 用户指南> 实例> 变更规格(vCPU和内存)> XEN实例变更为KVM实例(Linux-手动配置)

XEN实例变更为KVM实例(Linux-手动配置)

分享
更新时间: 2019/12/10 GMT+08:00

操作场景

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

本节操作指导您手动安装Linux云服务器驱动、配置磁盘自动挂载等,并将XEN实例变更为KVM实例。

使用自动化脚本安装驱动的方法请参考XEN实例变更为KVM实例(Linux-自动配置)

  • 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实例的操作流程如 图1所示。
图1 Linux云服务器变更流程(手动配置)

步骤1:制作系统盘快照

变更规格前必须先配置弹性云服务器,安装相应驱动,否则规格变更后,弹性云服务器无法使用,可能会造成系统盘数据丢失。因此,建议您先制作系统盘快照,然后再配置弹性云服务器。

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

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

步骤2:安装驱动

对于不支持使用脚本方式配置的弹性云服务器,请参见本部分内容,手动配置云服务器。

  1. 登录弹性云服务器。
  2. 卸载云服务器中已安装的Tools。

    卸载操作请参见在Linux系统中卸载Tools

  3. 修改grub的UUID。

    具体操作请参见修改grub文件磁盘标识方式为UUID

  4. 修改fstab的UUID。

    具体操作请参见修改fstab文件磁盘标识方式为UUID

  5. 安装原生的XEN和KVM驱动。

    安装方法请参见安装原生的XEN和KVM驱动

步骤3:检查云服务器配置是否成功

根据步骤2:安装驱动修改grub文件、安装所需驱动后,需检查修改是否生效、驱动是否安装成功。

手动方式配置弹性云服务器时请务必执行以下操作检查云服务器配置是否成功。

  1. 登录弹性云服务器。
  2. 执行以下命令,检查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/gurb2/grub.cfg、“/boot/grub/grub.conf”。

  3. 执行以下命令,检查磁盘的标识方式是否为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
  4. 检查是否已安装原生的XEN和KVM驱动。
    • 如果引导的虚拟文件系统是initramfs,执行以下命令:

      lsinitrd /boot/initramfs-`uname -r`.img | grep xen

      lsinitrd /boot/initramfs-`uname -r`.img | grep virtio

    • 如果引导的虚拟文件系统是initrd ,执行如下命令:

      lsinitrd /boot/initrd-`uname -r` | grep xen

      lsinitrd /boot/initrd-`uname -r` | grep virtio

    如果安装成功,回显将显示已安装的原生XEN和KVM驱动名称。

    [root@CTU10000xxxxx home]# lsinitrd /boot/initramfs-`uname -r`.img | 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 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

请务必确保云服务器配置成功,否则,可能会导致变更规格后的弹性云服务器不可用。

步骤4:变更规格

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

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

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

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

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

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

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

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

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

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

  1. 以root用户登录弹性云服务器。
  2. 执行以下命令,查询磁盘信息。

    fdisk -l | grep 'Disk /dev/'

    图2 查看磁盘信息

    图2所示,弹性云服务器共有3块磁盘:/dev/vda、/dev/vdb、/dev/vdc。

  3. 执行以下命令,查看磁盘挂载情况。

    df -h| grep '/dev/'

    图3 查看磁盘挂载情况

    图3所示,弹性云服务器只挂载了1块磁盘/dev/vda。

  4. 对比23中查询的磁盘个数是否一致。
    • 是,表示变更成功,结束。
    • 否,表示存在磁盘挂载失败,执行5
  5. 使用mount命令挂载磁盘。

    示例:

    mount /dev/vbd1 /mnt/vbd1

    其中,/dev/vbd1是待挂载的磁盘,/mnt/vbd1是待挂载磁盘的路径。

    待挂载磁盘的文件夹/mnt/vbd1必须是空文件夹,否则会挂载失败。

  6. 再次执行以下命令,对比查询的磁盘个数是否一致。

    fdisk -l | grep 'Disk /dev/'

    df -h| grep '/dev/'

    • 是,结束。
    • 否,请联系客服获取技术支持。
    图4 检查磁盘的个数是否一致

    图4所示,使用两个命令查询的弹性云服务器磁盘个数一致,分别是:/dev/vda、/dev/vdb、/dev/vdc。

后续处理

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

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

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

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区