虚拟块设备是连接器对象(与上述的 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其实将第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)