我正在运行 CentOS 7,并且正在阅读一本有关虚拟化和创建存储池的书中的一章。我成功运行了以下命令,但我不确定- - - -
源路径的实际设置是什么。
virsh pool-define-as rhpol_virsh dir - - - - /var/lib/libvirt/rhpol_virsh
命令说明:定义存储池类型为“dir”,源路径为“----”,目标路径为“dir”/var/lib/libvirt/rhpol_virsh目录
我阅读了手册页并用谷歌搜索了这个主题,但没有找到解释。有人能指出我正确的方向吗?
答案1
存储池的类型dir
是目录路径。唯一有意义的值是目录路径本身,因此所有其他参数都将被忽略。在您的示例中,/var/lib/libvirt/rhpol_virsh
是文件系统中将映射到存储池的位置rhpol_virsh
。
我更喜欢查看此命令的另一种方法是通过命名参数而不是位置参数。这还将您的池定义为rhpol_virsh
从以下位置开始的文件系统的一部分/var/lib/libvirt/rhpol_virsh
:
virsh pool-define-as rhpol_virsh --type dir --target /var/lib/libvirt/rhpol_virsh
冒着使事情变得过于复杂的风险,但试图回答您的评论问题,手册页定义了位置参数,如下所示:
pool-define-as name --print-xml type [source-host] [source-path] [source-dev] [source-name] [<target>] [--source-format format]
由于池定义不需要任何东西,除了target
我们需要-
占位符来访问target
.因此pool-define-as rhpol_virsh - - - - /var/lib/libvirt/rhpol_virsh
。
定义存储池后,您需要启动它:
virsh pool-autostart rhpol_virsh # Start on boot
virsh pool-start rhpol_virsh # Start now
您可以使用 来查看定义了哪些存储池及其状态virsh pool-list
。如果您向存储池添加某些内容,您可能需要告诉libvirt
套件池内容需要刷新:
virsh pool-list | awk '/active/{print$1}' | xargs -n1 virsh pool-refresh