所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

FusionCloud 6.3.1 用户指南 (Region Type I) 10

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
私有镜像类

私有镜像类

基于弹性云服务器制作镜像是免费的吗

基于弹性云服务器制作镜像是免费的。但后续会收取镜像存储费用。当前阶段为试用期,用户可以免费使用。

私有镜像占用的存储空间是否需要收费

私有镜像占用的对象存储空间,后续会按照存储容量按需收费。当前阶段是试用阶段,用户可以免费使用。

一个帐号最多可以创建多少个私有镜像

在当前阶段,用户在一个区域内默认最多可以创建100个私有镜像。

使用私有镜像创建的弹性云服务器,是否可以与生成镜像的弹性云服务器硬件规格不同

用户可以在使用私有镜像创建弹性云服务器时,根据需要修改硬件规格。

使用弹性云服务器创建私有镜像,需要多长时间

使用弹性云服务器创建私有镜像,通常需要约20分钟。

弹性云服务器创建私有镜像的时候一定要关机吗

是的。运行状态下的弹性云服务器,其内存可能会缓存正准备写入的数据,为了避免用户制作的镜像出现数据丢失问题,请用户在制作镜像前关闭弹性云服务器。

如果系统磁盘容量填写错误怎么办

如果用户通过镜像文件注册私有镜像时,选择了错误的操作系统,可能会导致创建弹性云服务器失败。

如果用户通过镜像文件注册私有镜像时,填写的系统磁盘容量小于镜像文件内部的系统盘容量,在创建弹性云服务器时可能会导致镜像文件中的数据无法写入,导致弹性云服务器创建失败。

如果出现此类情况,请用户删除使用错误参数注册的镜像,并选择正确的配置参数重新创建私有镜像。

一定要在弹性云服务器中安装Tools吗

弹性云服务器中安装VM Tools,可以增强弹性云服务器使用时用户的体验。同时,通过Tools可以保证弹性云服务器的高可靠性以及稳定性。

  • Windows操作系统必须安装Tools。
  • Linux操作系统使用操作系统自带的PVOPS驱动。如果用户的Linux操作系统选择使用操作系统自带的PVOPS驱动,可能对用户的弹性云服务器正常运行产生影响,具体影响可以参考《Linux发行版缺陷列表》,请从以下地址获取文档:

    https://github.com/UVP-Tools/UVP-Tools/tree/master/docs

    如果用户的操作系统既不安装VM Tools也没有使用PVOPS驱动,那么用户创建的弹性云服务器可能无法正常启动或者使用。云平台不对这种镜像的可用性提供保证。

为什么Windows弹性云服务器安装Tools会失败

Tools安装失败,主要是由于以下几种原因:

  • 如果用户的镜像文件是从VMware虚拟机导出,可能是由于没有卸载VMware Tools或者VMware Tools没有卸载干净导致Tools安装失败。
  • 请用户务必选择正确的Windows版本的Tools下载,否则可能导致Tools安装失败。
  • 由于安装Tools需要消耗的一定的空间,磁盘空间预留不足可能导致Tools安装失败。因此,请用户预留约300MB的空间以确保Tools正确安装。

没有对弹性云服务器进行相关预置操作会带来什么影响

如果用户没有将弹性云服务器网卡配置成DHCP,或者没有删除残留的udev规则。那么,通过镜像文件注册的私有镜像所创建出的弹性云服务器仍和源镜像文件中的配置保持一致,或者出现弹性云服务器的网卡不从eth0开始的情况。此时,用户需要通过弹性云服务器的远程登录功能对弹性云服务器再次进行手动配置。

如果用于创建用户的Linux弹性云服务器的镜像没有提前进行手动配置,在创建Linux弹性云服务器过程中可能会导致以下三种情况出现。

  • 无法实现自定义密码注入。
  • 无法注入证书。
  • 无法实现其他可能的弹性云服务器自定义配置。

如果用户没有清理“fstab”文件中对用户磁盘的自动挂载检测相关信息,可能会导致创建出来的弹性云服务器在启动时出现异常。

除了文档中支持的镜像格式类型,我可以使用其他镜像格式

目前仅支持VMDK、VHD、QCOW2和ZVHD格式的镜像注册 。

不支持-flat.vmdk格式的镜像、包含任何快照卷或者包含差分卷的镜像文件包。用户可以使用qemu-img开源工具将对应的镜像转换成支持的格式后,再进行上传。

Windows平台下qemu-img开源工具相关安装和使用可以参考以下地址:

https://cloudbase.it/qemu-img-windows/

注册的镜像操作系统是CentOS类型,使用该镜像创建的弹性云服务器找不到磁盘该如何处理

原因分析

通常情况下,这是由于没有启动时没有加载xen-blockfront.ko模块导致的,用户需要修改操作系统内核启动参数。

登录VNC后如图14-200所示。

图14-200 VNC登录后界面
说明:

该步骤需要在操作系统启动后执行,建议用户在原来创建镜像的源弹性云服务器中启动修改。

操作步骤
  1. 执行以下命令,登录操作系统。

    lsinitrd /boot/initramfs-操作系统的启动内核版本号.img |grep -i xen
    • 如果回显中包含“xen-blockfront.ko”的相关信息,请用户联系技术支持。
    • 如果没有回显,执行步骤 2

  1. 对下面原有的grub.conf文件进行。

    • 对于CentOS 6系列,请执行以下命令进行备份。

      cp /boot/grub/grub.conf /boot/grub/grub.conf.bak

    • 对于CentOS 7系列,请执行以下命令进行备份。

      cp /boot/grub2/grub.conf /boot/grub2/grub.conf.bak

  1. 使用vi编辑器打开grub配置文件。以CentOS 7系列为例,执行以下命令

    vi /boot/grub2/grub.conf

  1. 在对应默认的启动内核后面增加参数 “xen_emul_unplug=never”,如图 2 添加参数所示。

    图14-201 添加参数

  1. 按“ESC”,再输入“:wq”并单击回车,退出vi编辑器。
  2. 将该弹性云服务器制作成为镜像,重新上传并注册。

拒绝后的共享镜像如何使用

操作步骤

用户B拒绝了用户A的共享镜像的情况下,如果需要使用该共享镜像,需要告知用户A按照以下步骤完成操作。

  1. 用户A在共享镜像租户列表中,删除用户B的租户名称。请参考删除镜像的共享租户
  2. 用户A重新将用户B添加为镜像的共享租户。请参考添加镜像的共享租户

通过镜像文件注册私有镜像过程中,系统会对镜像做哪些修改

如果用户通过镜像文件注册私有镜像选择了进行后台自动化配置的方式,那么后台系统会进行以下操作。

  • 对于Linux操作系统:
    • 修改“grub”和“syslinux”配置文件,增加内核启动参数,并将磁盘分区名改成“UUID=磁盘分区的UUID”。
    • 检查“/etc/fstab”文件中的磁盘分区名并修改成“UUID=磁盘分区的UUID”的形式。
    • 检查“initrd”文件是否含有XEN和IDE驱动,若不含有,则加载XEN和IDE驱动。
    • 修改“xwindows”配置文件“/etc/X11/xorg.conf”,避免图形化界面显示失败。
    • 删除VMware tools对应的服务。
    • 针对这4款Linux:CentOS 7.2、centos6.5、SUSE SLES 11 SP4、redhat7.2,会添加Linux操作系统自带的virtio前端驱动到initrd或initramfs中。
  • 对于Windows操作系统:
    • 对IDE驱动进行修复,系统第一次启动使用IDE启动。
    • 对鼠标和键盘对应的注册表键值删除,让鼠标键盘注册表键值在新的平台上重新生成,保证鼠标键盘可用。
    • 对PV Driver注册表键值修复,解决系统无法安装驱动问题和XEN驱动冲突问题。

使用外部镜像文件创建私有镜像所创建的弹性云服务器在启动过程中提示找不到分区,如何处理

原因分析

通常是由于跨平台后,磁盘分区的ID发生变化,导致镜像无法按照原来磁盘分区ID查询对应的分区名,此时,需要将镜像中的磁盘分区修改为“UUID=磁盘分区的UUID”。

操作步骤

以OpenSUSE 13.2的镜像为例,修改分区名的操作步骤如下。

  1. 执行以下命令,确认当前磁盘分区对应的ID。

    ls -l /dev/disk/by-id/

    回显类似如下所示。

    total 0
    lrwxrwxrwx 1 root root 10 Jul 22 01:35 ata-QEMU_HARDDISK_QM00001 -> ../../xvda
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 ata-QEMU_HARDDISK_QM00001-part1 -> ../../xvda1
    lrwxrwxrwx 1 root root 12 Jul 22 01:35 ata-QEMU_HARDDISK_QM00001-part10 -> ../../xvda10
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 ata-QEMU_HARDDISK_QM00001-part2 -> ../../xvda2
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 ata-QEMU_HARDDISK_QM00001-part5 -> ../../xvda5
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 ata-QEMU_HARDDISK_QM00001-part6 -> ../../xvda6
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 ata-QEMU_HARDDISK_QM00001-part7 -> ../../xvda7
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 ata-QEMU_HARDDISK_QM00001-part8 -> ../../xvda8
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 ata-QEMU_HARDDISK_QM00001-part9 -> ../../xvda9
    lrwxrwxrwx 1 root root 10 Jul 22 01:35 ata-QEMU_HARDDISK_QM00005 -> ../../xvde
    lrwxrwxrwx 1 root root 10 Jul 22 01:35 scsi-SATA_QEMU_HARDDISK_QM00001 -> ../../xvda
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 scsi-SATA_QEMU_HARDDISK_QM00001-part1 -> ../../xvda1
    lrwxrwxrwx 1 root root 12 Jul 22 01:35 scsi-SATA_QEMU_HARDDISK_QM00001-part10 -> ../../xvda10
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 scsi-SATA_QEMU_HARDDISK_QM00001-part2 -> ../../xvda2
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 scsi-SATA_QEMU_HARDDISK_QM00001-part5 -> ../../xvda5
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 scsi-SATA_QEMU_HARDDISK_QM00001-part6 -> ../../xvda6
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 scsi-SATA_QEMU_HARDDISK_QM00001-part7 -> ../../xvda7
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 scsi-SATA_QEMU_HARDDISK_QM00001-part8 -> ../../xvda8
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 scsi-SATA_QEMU_HARDDISK_QM00001-part9 -> ../../xvda9
    lrwxrwxrwx 1 root root 10 Jul 22 01:35 scsi-SATA_QEMU_HARDDISK_QM00005 -> ../../xvde

    其中,“ata-QEMU_HARDDISK_xxx”和“scsi-SATA_QEMU_HARDDISK_xxx”表示该弹性云服务器的磁盘为qemu模拟设备。磁盘分区ID为“->”左侧内容,对应的分区名为“->”右侧内容。

  1. 执行以下命令,确认当前磁盘分区对应的UUID。

    ls -l /dev/disk/by-uuid/

    回显类似如下所示。

    total 0
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 45ecd7a0-29da-4402-a017-4564a62308b8 -> ../../xvda5
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 55386c6a-9e32-41d4-af7a-e79596221f51 -> ../../xvda9
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 55f36660-9bac-478c-a701-7ecc5347f789 -> ../../xvda8
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 780f36bc-0ada-4c98-9a8d-44570d65333d -> ../../xvda1
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 b3b7c47f-6a91-45ef-80d6-275b1cc16e19 -> ../../xvda6
    lrwxrwxrwx 1 root root 11 Jul 22 01:35 ea63b55d-3b6e-4dcd-8986-956b72bac3e9 -> ../../xvda7
    lrwxrwxrwx 1 root root 12 Jul 22 01:35 eb3cc645-925e-4bc5-bedf-c2a6f3b65809 -> ../../xvda10

    其中,每条磁盘信息中,“->”左侧为磁盘的UUID,“->”右侧为对应的磁盘分区名。结合步骤 1结果,可以得到磁盘分区名,磁盘分区ID和磁盘分区UUID的对应关系。

  2. 执行以下命令,查看“/etc/fstab”文件中分区名称。

    vi /etc/fstab

    回显类似如下所示。

    /dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001-part5 / ext3 defaults,errors=panic 1 1
    /dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001-part1 /boot ext3 defaults,errors=panic 1 2
    /dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001-part6 /home ext3 nosuid,errors=panic 1 2
    /dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001-part10 /opt ext3 defaults,errors=panic 1 2
    /dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001-part7 /tmp ext3 nodev,nosuid,errors=panic 1 2
    /dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001-part9 /usr ext3 defaults,errors=panic 1 2
    /dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001-part8 /var ext3 nodev,nosuid,errors=panic 1 2
    sysfs /sys sysfs noauto 0 0
    proc /proc proc defaults 0 0
    usbfs /proc/bus/usb usbfs noauto 0 0
    devpts /dev/pts devpts mode=0620,gid=5 0 0
    /dev/cdrom /media/ udf,iso9660 noexec,noauto,nouser,nodev,nosuid 1 2
    tmpfs /dev/shm tmpfs noexec,nodev,nosuid 0 0

    回显中第一列为磁盘分区ID。

  3. 按“i”进入编辑模式,按照步骤 1步骤 2的查询结果,将步骤 3“/etc/fstab”文件中“/dev/disk/xxx”所在行磁盘分区ID修改为“UUID=磁盘分区的UUID”的形式。

    修改结果如下所示。
    UUID=45ecd7a0-29da-4402-a017-4564a62308b8 / ext3 defaults,errors=panic 1 1
    UUID=780f36bc-0ada-4c98-9a8d-44570d65333d /boot ext3 defaults,errors=panic 1 2
    UUID=b3b7c47f-6a91-45ef-80d6-275b1cc16e19 /home ext3 nosuid,errors=panic 1 2
    UUID=eb3cc645-925e-4bc5-bedf-c2a6f3b65809 /opt ext3 defaults,errors=panic 1 2
    UUID=ea63b55d-3b6e-4dcd-8986-956b72bac3e9 /tmp ext3 nodev,nosuid,errors=panic 1 2
    UUID=55386c6a-9e32-41d4-af7a-e79596221f51 /usr ext3 defaults,errors=panic 1 2
    UUID=55f36660-9bac-478c-a701-7ecc5347f789 /var ext3 nodev,nosuid,errors=panic 1 2
    sysfs /sys sysfs noauto 0 0
    proc /proc proc defaults 0 0
    usbfs /proc/bus/usb usbfs noauto 0 0
    devpts /dev/pts devpts mode=0620,gid=5 0 0
    /dev/cdrom /media/ udf,iso9660 noexec,noauto,nouser,nodev,nosuid 1 2
    tmpfs /dev/shm tmpfs noexec,nodev,nosuid 0 0
    说明:

    请确保对应的UUID修改正确,否则会造成弹性云服务器无法正常启动。

  4. 按“Esc”后,输入“:wq”,按“Enter”。 保存设置并退出vi编辑器。
  5. 检查引导系统的配置文件中的分区名。

    不同操作系统对应的系统引导配置文件,通常为如下几种。请确认当前操作系统使用系统引导配置文件的文件名。

    • grub引导配置文件
      • /boot/grub/grub.conf
      • /boot/grub/menu.lst
      • /boot/grub/grub.cfg
      • /boot/grub2/grub.cfg
    • syslinux引导配置文件
      • /extlinux.conf
      • /boot/syslinux/extlinux.conf
      • /boot/extlinux/extlinux.conf
      • /boot/syslinux/syslinux.cfg
      • /syslinux/syslinux.cfg
      • /syslinux.cfg

    本例中引导文件为“/boot/grub/menu.lst”,请执行以下命令,查看引导文件。

    vi /boot/grub/menu.lst

    default 0
    timeout 3
    title xxx Server OS - xxxxxx
    kernel /boot/vmlinuz-3.0.101-0.47.52-default root=/dev/disk/by-id/scsi-SATA_QEMU_HARDDISK_QM00001-part5 resume= memmap=0x2000000$0x3E000000 nmi_watchdog=2 crashkernel=512M-:256M console=ttyS0,115200 console=tty0 xen_emul_unplug=all
    initrd /boot/initrd-3.0.101-0.47.52-default

  6. 按“i”进入编辑模式,修改引导系统的配置文件中的分区名。

    按照步骤 1步骤 2的查询结果,将步骤 6“/boot/grub/menu.lst”文件中的磁盘分区名修改为“UUID=磁盘分区的UUID”的形式。

    default 0
    timeout 3
    title xxx Server OS - xxxxxx
    kernel /boot/vmlinuz-3.0.101-0.47.52-default root=UUID=45ecd7a0-29da-4402-a017-4564a62308b8 resume= memmap=0x2000000$0x3E000000 nmi_watchdog=2 crashkernel=512M-:256M console=ttyS0,115200 console=tty0 xen_emul_unplug=all
    initrd /boot/initrd-3.0.101-0.47.52-default

  7. 按“Esc”后,输入“:wq”,按“Enter”。 保存设置并退出vi编辑器。

通过外部镜像文件制作私有镜像过程中,需要对镜像完成哪些初始化配置

通过外部镜像文件制作私有镜像过程中,需要对镜像完成初始化配置才能创建正常状态的私有镜像。

如果上传的外部镜像文件已经完成了初始化设置,可以在注册镜像时勾选“已完成镜像的初始化配置”,注册后的私有镜像即为正常状态的私有镜像。

  • 使用外部镜像文件创建Windows操作系统私有镜像需要完成的初始化配置包括以下操作:
    • 网络属性配置(自动获得IP地址和自动获得DNS服务地址)
    • 安装Cloudbase-Init工具
    • 配置“远程桌面”网络环境
    • 安装Tools

具体操作请参考创建弹性云服务器配置Windows弹性云服务器安装Tools到Windows弹性云服务器

  • 使用外部镜像文件创建Linux操作系统私有镜像过程中,需要对镜像完成的初始化配置包括以下操作:
    • 查看并清理网络规则文件
    • 查看并设置网卡属性
    • 安装并配置Cloud-init工具

具体操作请参考创建弹性云服务器配置Linux弹性云服务器

以下相关步骤操作需要在弹性云服务器内部完成,强烈建议用户选择原有平台中导出镜像前的虚拟机实施修改操作。

  1. 添加Linux操作系统自带的xen-pv和virtio前端驱动到initrd或initramfs中。

    只需要添加module形式存在OS内的驱动,在内核中以build-in形式存在的驱动不需要添加。
    • RHEL、CentOS、Oracle系列操作系统,以CentOS 7.1为例,需修改“/etc/dracut.conf”文件,在add-driver项中添加xen-pv以及virtio的驱动(xen-pv驱动:xen-blkfront、xen-netfront;virtio驱动:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio),驱动名之间以空格隔开,保存并退出/etc/dracut.conf文件,执行dracut -f命令,重新生成initrd。
      1. 修改/etc/dracut.conf在add-driver项中添加xen-pv和virtio的驱动(具体格式要根据OS本身的要求来决定):
        [root@CTU10000xxxxx ~]# vi /etc/dracut.conf
        # additional kernel modules to the default
        add_drivers+="xen-blkfront xen-netfront virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
        ……
      2. 保存并退出/etc/dracut.conf文件,执行dracut -f命令,重新生成initrd。
        说明:

        如果引导的虚拟文件系统不是默认的initramfs或者initrd,则命令为dracut -f 实际使用的initramfs或者initrd文件名。实际使用的initramfs或者initrd文件名可在menu.lst或者grub.cfg配置(“/boot/grub/menu.lst”或“/boot/grub/grub.cfg”或“/boot/gurb2/grub.cfg”)中获取。

        以centos6为例如下所示:

        default=0
        timeout=1
        serial --unit=0 --speed=115200
        terminal --timeout=1 serial console
        title CentOS (2.6.32-431.29.2.el6.x86_64)
                root (hd0,0)
                kernel /boot/vmlinuz-2.6.32-431.29.2.el6.x86_64 ro root=UUID=dcb1645e-05a6-4311-8bce-a9c12bec5801 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD console=ttyS0,115200 crashkernel=auto SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM
                initrd /boot/initramfs-2.6.32-431.29.2.el6.x86_64.img

        其中,initrd所在行的/boot/initramfs-2.6.32-431.29.2.el6.x86_64.img为实际使用的initrd文件,执行的时候请按照dracut -f /boot/initramfs-2.6.32-431.29.2.el6.x86_64.img执行。如果initrd所在行的initrd文件不包含/boot目录,如/initramfs-xxx,请在执行dracut命令时增加boot目录,例如:dracut -f /boot/initramfs-xxx。

        以centos 7为例如下所示:

        menuentry 'CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-3e109aa3-f171-4614-ad07-c856f20f9d25' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_msdos
                insmod xfs
                set root='hd0,msdos1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1'  3e109aa3-f171-4614-ad07-c856f20f9d25
                else
                  search --no-floppy --fs-uuid --set=root 3e109aa3-f171-4614-ad07-c856f20f9d25
                fi
                linux16 /boot/vmlinuz-3.10.0-514.el7.x86_64 root=UUID=3e109aa3-f171-4614-ad07-c856f20f9d25 ro console=tty0 console=ttyS0,115200n8 crashkernel=auto console=ttyS0,115200 LANG=en_US.UTF-8
                initrd16 /boot/initramfs-3.10.0-514.el7.x86_64.img
        }

        其中,initrd16所在行的/boot/initramfs-3.10.0-514.el7.x86_64.img为实际使用的initrd文件,执行的时候请按照dracut -f /boot/initramfs-3.10.0-514.el7.x86_64.img行,如果initrd16所在行的initrd文件不包含/boot目录,如/initramfs-xxx,请在执行dracut命令时增加boot目录,例如:dracut -f /boot/initramfs-xxx。

      3. 检查是否已经成功装载了XEN的PVOPS或者KVM的virtio相应模块。
        [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
    • Ubuntu和Debian系列系统,修改/etc/initramfs-tools/modules文件,添加xen-pv以及virtio的驱动(xen-pv驱动:xen-blkfront、xen-netfront;virtio驱动:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio),驱动名之间是空格隔开,保存并退出/etc/initramfs-tools/modules文件,执行update-initramfs -u命令,重新生成initrd。
      1. 修改/etc/initramfs-tools/modules文件,添加xen-pv以及virtio的驱动(具体格式要根据OS本身的要求来决定)。
        [root@CTU10000xxxxx ~]#vi /etc/initramfs-tools/modules
        ……
        # Examples:
        #
        # raid1
        # sd_mOd
        xen-blkfront
        xen-netfront
        virtio_blk
        virtio_scsi
        virtio_net
        virtio_pci
        virtio_ring
        virtio
        ……
      2. 执行update-initramfs -u命令,重新生成initrd。
      3. 检查是否已经成功装载了XEN的PVOPS或者KVM的virtio相应模块。
        [root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep xen
        lib/modules/3.5.0-23-generic/kernel/drivers/net/ethernet/qlogic/netxen
        lib/modules/3.5.0-23-generic/kernel/drivers/net/ethernet/qlogic/netxen/netxen_nic.ko
        lib/modules/3.5.0-23-generic/kernel/drivers/net/xen-netback
        lib/modules/3.5.0-23-generic/kernel/drivers/net/xen-netback/xen-netback.ko
        lib/modules/3.5.0-23-generic/kernel/drivers/block/xen-blkback
        lib/modules/3.5.0-23-generic/kernel/drivers/block/xen-blkback/xen-blkback.ko
        
        [root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep virtio
        lib/modules/3.5.0-23-generic/kernel/drivers/scsi/virtio_scsi.ko
    • SUSE和openSUSE系列系统,修改/etc/sysconfig/kernel文件,在INITRD_MODULES=""添加xen-pv以及virtio的驱动,(xen-pv驱动:xen_vnif、xen_vbd、xen_platform_pci;virtio驱动:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio),驱动名之间是空格隔开,执行mkinitrd命令,重新生成initrd。
      说明:

      SUSE系列操作系统首先应确认OS已经安装了xen-kmp包(xen-pv的驱动包):

      linux-s27m:~ # rpm -qa |grep xen-kmp

      回显类似如下:

      xen-kmp-default-4.2.2_04_3.0.76_0.11-0.7.5

      如果没有安装xen-kmp的包,请到安装ISO中获取并安装。

      1. 修改/etc/sysconfig/kernel文件,在INITRD_MODULES=""添加xen-pv以及virtio的驱动(具体格式要根据OS本身的要求来决定)。
        SIA10000xxxxx:~ # vi /etc/sysconfig/kernel 
        # (like drivers for scsi-controllers, for lvm or reiserfs)
        #
        INITRD_MODULES="ata_piix ata_generic xen_vnif xen_vbd xen_platform_pci virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio "
      2. 执行mkinitrd命令,重新生成initrd。
        说明:

        如果引导的虚拟文件系统不是默认的initramfs或者initrd,则命令为dracut -f 实际使用的initramfs或者initrd文件名。实际使用的initramfs或者initrd文件名可在menu.lst或者grub.cfg配置(“/boot/grub/menu.lst”或“/boot/grub/grub.cfg”或“/boot/gurb2/grub.cfg”)中获取。

        以suse11SP4为例如下所示:

        default 0
        timeout 10
        gfxmenu (hd0,0)/boot/message
        title sles11sp4_001_[_VMX_]
        root (hd0,0)
        kernel /boot/linux.vmx vga=0x314 splash=silent console=ttyS0,115200n8 console=tty0 net.ifnames=0 NON_PERSISTENT_DEVICE_NAMES=1 showopts
        initrd /boot/initrd.vmx
        title Failsafe_sles11sp4_001_[_VMX_]
        root (hd0,0)
        kernel /boot/linux.vmx vga=0x314 splash=silent ide=nodma apm=off noresume edd=off powersaved=off nohz=off highres=off processsor.max+cstate=1 nomodeset x11failsafe console=ttyS0,115200n8 console=tty0 net.ifnames=0 NON_PERSISTENT_DEVICE_NAMES=1 showopts
        initrd /boot/initrd.vmx

        其中,initrd所在行的/boot/initrd.vmx为实际使用的initrd文件,执行的时候请按照dracut -f /boot/initrd.vmx执行。如果initrd所在行的initrd文件不包含/boot目录,如/initramfs-xxx,请在执行dracut命令时增加boot目录,例如:dracut -f /boot/initramfs-xxx。

      3. 检查是否已经成功装载了XEN的PVOPS或者KVM的virtio相应模块。
        SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep xen
        -rwxr--r-- 1 root root 42400 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/xen-blkfront.ko
        -rwxr--r-- 1 root root 44200 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/xen-netfront.ko
        
        SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep virtio
        -rwxr--r-- 1 root root 19248 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko
        -rwxr--r-- 1 root root 23856 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/virtio_blk.ko
        drwxr-xr-x 2 root root 0 Jul 12 14:53 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio
        -rwxr--r-- 1 root root 15848 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko
        -rwxr--r-- 1 root root 20008 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko
        -rwxr--r-- 1 root root 12272 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio.ko
        -rwxr--r-- 1 root root 38208 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/virtio_net.ko

  2. 修改menu.lst或者grub.cfg配置(“/boot/grub/menu.lst”或“/boot/grub/grub.cfg”或“/boot/gurb2/grub.cfg”,具体路径根据OS不同会有所不同),启动分区使用UUID方式配置。

    以CentOS6.7为例,执行blkid命令获取根分区对应的UUID并记录下来,编辑/boot/grub/grub.cfg文件,使用根分区的UUID来配置boot项。如果根分区已经使用UUID形式则不需要修改。修改方法如下:

    [root@PEK1000012301 ~]# blkid
    /dev/xvda1: UUID="749d6c0c-990a-4661-bed1-46769388365a" TYPE="swap" 
    /dev/xvda2: UUID="f382872b-eda6-43df-9516-5a687fecdce6" TYPE="ext4"

    修改前:

    [root@PEK1000012301 ~]# cat /boot/grub/grub.cfg
    default=0
    timeout=5
    splashimage=(hd0,1)/boot/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.32-573.8.1.el6.x86_64)
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=/dev/xvda2 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=autoKEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img
    说明:

    根据/boot/grub/grub.cfg配置文件里标记的根分区,找到root=/dev/xvda2,再根据blkid命令获取的分区对应UUID将root分区改成UUID形式root=UUID=f382872b-eda6-43df-9516-5a687fecdce6。

    修改后:

    [root@PEK1000012301 ~]# cat /boot/grub/grub.cfg
    default=0
    timeout=5
    splashimage=(hd0,1)/boot/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.32-573.8.1.el6.x86_64)
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=UUID=f382872b-eda6-43df-9516-5a687fecdce6 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=autoKEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img

    以CentOS7.1为例,执行blkid命令获取根分区对应的UUID并记录下来,编辑/boot/grub2/grub.cfg文件,使用根分区的UUID来配置boot项。如果根分区已经使用UUID形式则不需要修改。

    [root@PEK1000012301 ~]# blkid 
    /dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs" 
    /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap" 

    修改前:

    [root@CTU1000028010 ~]# cat /boot/grub2/grub.cfg
    ……
    menuentry 'Red Hat Enterprise Linux Server 7.1 (Maipo), with Linux 3.10.0-229.el7.x86_64' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-4eb40294-4c6f-4384-bbb6-b8795bbb1130' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod xfs
    set root='hd0,msdos2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'4eb40294-4c6f-4384-bbb6-b8795bbb1130
    else
    search --no-floppy --fs-uuid --set=root 4eb40294-4c6f-4384-bbb6-b8795bbb1130
    fi
    linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/xvda2 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8
    initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img
    }
    说明:

    根据/boot/grub/grub.cfg配置文件里标记的根分区,找到root=/dev/xvda2,再根据blkid命令获取的分区对应UUID将root分区改成UUID形式root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130。

    修改后:

    [root@CTU1000028010 ~]# cat /boot/grub2/grub.cfg
    ……
    menuentry 'Red Hat Enterprise Linux Server 7.1 (Maipo), with Linux 3.10.0-229.el7.x86_64' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-4eb40294-4c6f-4384-bbb6-b8795bbb1130' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod xfs
    set root='hd0,msdos2'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'4eb40294-4c6f-4384-bbb6-b8795bbb1130
    else
    search --no-floppy --fs-uuid --set=root 4eb40294-4c6f-4384-bbb6-b8795bbb1130
    fi
    linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8
    initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img
    }

为什么VHD格式的镜像上传失败,任务中心查看报错为外部镜像文件的系统盘容量大于用户设置的系统磁盘容量

如果用户通过外部镜像文件注册私有镜像失败,且在任务中心查看错误信息为外部镜像文件的系统盘容量大于用户设置的系统磁盘容量。此问题通常有两种情况:
  1. 用户设置的系统盘大小小于原来平台虚拟机的系统盘大小,请重新确认原镜像文件的系统盘大小并重新注册。
  2. 用户使用的vhd格式是通过qemu-img或者其他类似工具转换生成,产生的vhd格式的实际虚拟磁盘大小(virtual size)和用户原虚拟机系统盘大小不一致,具体原因参考:https://bugs.launchpad.net/qemu/+bug/1490611

    此情况下可以通过qemu-img工具的qemu-img info命令检查处理。

    [xxxx@xxxxx test]$ qemu-img info 2g.vhd
    image: 2g.vhd
    file format: vpc
    virtual size: 2.0G (2147991552 bytes)
    disk size: 8.0K
    cluster_size: 2097152

    计算virtual size 的bytes换算成以G为单位的值是否为整数值。如上所示,2147991552 bytes通过换算得到大小约为2.0004G大于2G,因此上传时,上传时需要设置系统盘大小大于2G的值。

翻译
下载文档
更新时间:2019-08-15

文档编号:EDOC1100043090

浏览量:17845

下载量:563

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页