12.8.2. 使用 vHBA 创建存储池
建议您基于 vHBA 定义 libvirt 存储池来保留 vHBA 配置。
使用存储池有两个主要优点:
- libvirt 代码可以使用 virsh 命令输出轻松查找 LUN 的路径,并
- 虚拟机迁移只需要在目标机器上定义和启动具有相同 vHBA 名称的存储池。 要做到这一点,在虚拟机的 XML 配置中必须指定 vHBA LUN、libvirt LUN、libvirt 存储池和卷名称。如需示例,请参阅 第 12.8.3 节 “将虚拟机配置为使用 vHBA LUN”。
创建 SCSI 存储池
要创建 vHBA 配置,首先请创建一个 libvirt'scsi'存储池 XML 文件,该文件基于 vHBA 使用以下格式。注意确定使用在 过程 12.6, “创建 vHBA” 中创建的 vHBA 作为主机名,修改 vHBA 名称 scsi_ hostN 为存储池配置。在本例中,vHBA 名为 scsi_host5,它在 Red Hat Enterprise Linux 6 libvirt 存储池中指定为 <adapter name='host5'/>。建议您为<path>值使用稳定位置,如系统中的/dev/disk/by-{path|id|uuid|label}位置。有关<path>和<target>中的元素的更多信息,请访问 http://libvirt.org/formatstorage.html。在这个示例中,'scsi'存储池名为 vhbapool_host3.xml :Copy to Clipboard Copied! Toggle word wrap Toggle overflow 定义池
要定义存储池(在这个示例中名为 vhbapool_host3 ),请使用 virsh pool-define 命令:virsh pool-define vhbapool_host3.xml
# virsh pool-define vhbapool_host3.xml Pool vhbapool_host3 defined from vhbapool_host3.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动池
使用以下命令启动存储池:virsh pool-start vhbapool_host3
# virsh pool-start vhbapool_host3 Pool vhbapool_host3 startedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用自动启动
最后,要确保后续主机重启将自动定义虚拟机中使用的 vHBA,设置存储池自动启动功能(在本例中,对于名为 vhbapool_host3的池):virsh pool-autostart vhbapool_host3
# virsh pool-autostart vhbapool_host3Copy to Clipboard Copied! Toggle word wrap Toggle overflow