图解XenServer的SR/VDI/VBD之间的关系

日期: 2012-06-07 来源:TechTarget中国 英文

  今天在xenserver5.6下给一ubuntu VM添加virtual disk时提示不能添加,如下图

ubuntu VM添加virtual disk

  查了下文档原来是因为每个VM都有disk数量的限制

  The current version of the XenServer product family has the following general limitations on virtual devices for VMs. Note that specific guest operating systems may have lower limits for certain features. These limitations are noted in the individual guest installation section.

  *A maximum of 8 VCPUs are supported by XenCenter.

  *except for SLES 10 SP1 and RHEL 4.x, which support 3. RHEL 5.0/5.1/5.2 support 3, but can support 7 when the kernel is patched with the Citrix Tools for Virtual Machines. The same applies for Oracle and CentOS 5.0/5.1/5.2

  google了下,发现虽然不能通过xencenter添加,但是xenserver也支持CLI命令行的方式来管理。在使用xe命令添加vdisk时,首先需要理解xenserver下的SR,VDI,VBD这三个概念。如下图

xenserver下的SR,VDI,VBD这三个概念

  存储库 (SR)

  虚拟磁盘映像 (VDI)

  物理块设备 (PBD)

  虚拟块设备 (VBD)

  下面就以图形来说明这些术语之间的关系。

  1、SR

  定义了一个名为存储库 (SR) 的容器来描述存储虚拟磁盘映像 (VDI) 的特定存储目标。SR 具有对本地连接的 IDE、SATA、SCSI 和 SAS驱动器和远程连接的 iSCSI、NFS、SAS

和光纤通道的内置支持,因而非常灵活。

  利用xe命令看到如下信息,部分显示内容被省略

  [root@xs-10 ~]# xe sr-list

  [root@xs-10 ~]# xe sr-list name-label=xenserver
  uuid ( RO)                : 0554628e-448d-fbdf-4544-04cc4f390529
          name-label ( RW): xenserver
    name-description ( RW): iSCSI SR [172.20.10.107 (iqn.2007-10.uit.com:techtest.xenserver)]
                host ( RO): xs-10.8
                type ( RO): lvmoiscsi
        content-type ( RO):

  uuid ( RO)                : c2b41896-467e-b936-6836-754eb22d36de

          name-label ( RW): vmware vsphere

    name-description ( RW): CIFS ISO Library [\172.20.1.249softwareISOvmware vsphere]

                host ( RO): xs-10.8

                type ( RO): iso

        content-type ( RO): iso

  uuid ( RO)                : 4188b1ee-76bc-10ed-dc15-6c7a236ce9aa

          name-label ( RW): Ubuntu

    name-description ( RW): CIFS ISO Library [\172.20.1.249softwareISOlinuxUbuntu]

                host ( RO): xs-10.8

                type ( RO): iso

        content-type ( RO): iso

vmware vsphere

  结合图形,不难理解,所谓的SR就是一个存储仓库,里面存储了很多的ISO文件,你可以利用这些ISO文件来存储东西,如vmware vsphere、ubuntu这两个SR。又或者当做存储虚拟机文件的仓库,例如xenserver这个SR。下面接着看SR下一层的对象,叫做VDI

  2、VDI

  虚拟磁盘映像是显示给 VM 的存储抽象,VDI 是 XenServer 中的虚拟化存储的基本单元。

  下面我们看一下Ubuntu这个SR存储库中有哪些VDI,即VDI是包含在SR中的。

  [root@xs-10 ~]# xe vdi-list sr-uuid=4188b1ee-76bc-10ed-dc15-6c7a236ce9aa

  uuid ( RO)                : 5b5bd9b4-b061-4e55-ab8f-a6e685358357

          name-label ( RW): ubuntu-11.04-desktop-i386.iso

    name-description ( RW):

             sr-uuid ( RO): 4188b1ee-76bc-10ed-dc15-6c7a236ce9aa

        virtual-size ( RO): 718583808

            sharable ( RO): false

           read-only ( RO): true

  uuid ( RO)                : a81d7dcc-27bb-45cc-8c8b-c761cb1f1a04

          name-label ( RW): ubuntu-11.10-desktop-amd64.iso

    name-description ( RW):

             sr-uuid ( RO): 4188b1ee-76bc-10ed-dc15-6c7a236ce9aa

        virtual-size ( RO): 731164672

            sharable ( RO): false

           read-only ( RO): true

  uuid ( RO)                : 98354aff-f259-4ba4-8617-fb53cc6c08b7

          name-label ( RW): ubuntu-10.04.3-server-i386.iso

    name-description ( RW):

             sr-uuid ( RO): 4188b1ee-76bc-10ed-dc15-6c7a236ce9aa

        virtual-size ( RO): 704217088

            sharable ( RO): false

           read-only ( RO): true

  部分省略。。。

  ubuntu这个SR所包含的VDI截图如下

ubuntu这个SR所包含的VDI

  而xenserver这个SR下面含有如下的VDI

xenserver这个SR下面含有如下的VDI

  可以看到VDI。由截图不难看出,所谓的VDI就是里面的ISO文件或虚拟机的硬盘文件。下面我们继续vbd

  3、VBD

  虚拟块设备是连接器对象(与上述的 PBD 类似),可用于在 VDI 和 VM 之间进行映射。VBD 还可用于微调给定 VDI 的 QoS(服务质量)、统计数据和可引导性等相关参数。

  上文中讲述的VDI只是一些ISO文件或虚拟机的硬盘文件,这些文件如果单独放在一起是没有任何价值的。正如描述中的那样,VBD是用在VDI和VM之间的映射,如果没了这层映

射,光有VDI也是不行的。

  利用xe命令查看“UCA-VM-10.24”这个主机含有哪些VBD,首先查看UCA-VM-10.24的UUID号

  [root@xs-10 ~]# xe vm-list name-label=UCA-VM-10.24

  uuid ( RO)           : 89577946-f487-76a6-387e-86daaca15bef

     name-label ( RW): UCA-VM-10.24

    power-state ( RO): halted

  再查看

  [root@xs-10 ~]# xe vbd-list vm-uuid=89577946-f487-76a6-387e-86daaca15bef

  uuid ( RO)             : a798413b-df47-9fb5-4b4d-56539a26eaf2

          vm-uuid ( RO): 89577946-f487-76a6-387e-86daaca15bef

    vm-name-label ( RO): UCA-VM-10.24

         vdi-uuid ( RO): 34fc2c1c-a3aa-43c7-95e4-b8bf6603e52f

            empty ( RO): false

           device ( RO): hda

  uuid ( RO)             : 5a702417-e40e-ac62-c282-9b89bf8cb7b6

          vm-uuid ( RO): 89577946-f487-76a6-387e-86daaca15bef

    vm-name-label ( RO): UCA-VM-10.24

         vdi-uuid ( RO): <not in database>

            empty ( RO): true

           device ( RO): hdd

  uuid ( RO)             : 07fe6b36-c836-d99e-e3ea-8b8eda2fe134

          vm-uuid ( RO): 89577946-f487-76a6-387e-86daaca15bef

    vm-name-label ( RO): UCA-VM-10.24

         vdi-uuid ( RO): 56c1b396-4776-4b43-ba8f-42870669055e

            empty ( RO): false

           device ( RO): hdc

  uuid ( RO)             : 49d4e02d-f7e6-ec4a-235e-16bcddb64a99

          vm-uuid ( RO): 89577946-f487-76a6-387e-86daaca15bef

    vm-name-label ( RO): UCA-VM-10.24

         vdi-uuid ( RO): 6ee51222-6ae4-4614-b337-1b22bf340098

            empty ( RO): false

           device ( RO): hdb

VBD

  可以看出上面的VBD其实将第2节中的VDI和UCA-VM-10.24这个虚拟机做了个映射。也就是说如果我将上图中的disk1这个VDI attach到另一个主机如SQL Server,则VDI不变,而你用xe vbd-list 这个命令查看UCA-VM-10.24这个主机时,会发现少了一个VBD,而SQL Server主机会多了一个VBD。

  知道了如上的原理,接下来添加virtual disk就好办了,步骤很简单:

  1、在某个SR下面建新的vdi,命名为disk3,其实就是创建虚拟机的硬盘文件

  xe vdi-create name-label=disk3 type=user sr-uuid=0554628e-448d-fbdf-4544-04cc4f390529 virtual-size=4GiB
5b4dfa6a-17f0-4207-b7f2-9d205f4517a9–新的VDI的UUID

  2、利用新得到的vdi号创建新的vbd,其实就是为上一步创建的硬盘文件和虚拟机之间做映射

  [root@xs-10 ~]# xe vbd-create vdi-uuid=5b4dfa6a-17f0-4207-b7f2-9d205f4517a9 device=5 vm-uuid=89577946-f487-76a6-387e-86daaca15bef
9bcad328-4006-fb95-eea8-87de94bf0ff8

  3、将创建的vbd plug即可。

  [root@xs-10 ~]# xe vbd-plug uuid=9bcad328-4006-fb95-eea8-87de94bf0ff8
You attempted an operation on a VM which requires PV drivers to be installed but the drivers were not detected.
vm: 89577946-f487-76a6-387e-86daaca15bef (UCA-VM-10.24)

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐