15.9. 使用 libvirt secret 保护 iSCSI 存储池
可以使用 virsh
配置用户名和密码参数,来保护 iSCSI 存储池的安全。您可以在定义池之前或之后配置它,但必须启动池才能使验证设置生效。
以下提供了使用 libvirt
secret 保护基于 iSCSI 的存储池的说明。
如果在创建 iSCSI 目标时定义了 user_ID
和 密码
,则需要这个流程。
先决条件
- 确保您已创建了一个基于 iSCSI 的存储池。如需更多信息,请参阅 使用 CLI 创建基于 iSCSI 的存储池。
流程
创建具有质询握手身份验证协议(CHAP)用户名的 libvirt secret 文件。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
virsh secret-define
命令定义 libvirt secret:virsh secret-define secret.xml
# virsh secret-define secret.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
virsh secret-list
命令验证 UUID:virsh secret-list
# virsh secret-list UUID Usage -------------------------------------------------------------- 2d7891af-20be-4e5e-af83-190e8a922360 iscsi iscsirhel7secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
virsh secret-set-value
命令,为上一步输出中的 UUID 分配 secret。这样可保证 CHAP 用户名和密码位于由 libvirt 控制的 secret 列表中。例如:virsh secret-set-value --interactive 2d7891af-20be-4e5e-af83-190e8a922360
# virsh secret-set-value --interactive 2d7891af-20be-4e5e-af83-190e8a922360 Enter new value for secret: Secret value set
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
virsh edit
命令在存储池的 XML 文件中添加一个身份验证条目,并添加<auth>
元素,指定authentication type
、username
和secret usage
。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意<auth>
子元素位于虚拟机的<pool>
和<disk>
XML 元素的不同位置。对于<pool>
,<auth>
在<source>
元素中指定,这描述了在哪里查找池源,因为身份验证是某些池源(iSCSI 和 RBD)的属性。对于是域子元素的<disk>
,对 iSCSI 或 RBD 磁盘的身份验证是磁盘的一个属性。另外,磁盘的<auth>
子元素与存储池的 <auth> 子元素不同。<auth username='redhat'> <secret type='iscsi' usage='iscsirhel7secret'/> </auth>
<auth username='redhat'> <secret type='iscsi' usage='iscsirhel7secret'/> </auth>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要激活更改,激活存储池。如果池已启动,停止并重启存储池:
virsh pool-destroy iscsirhel7pool virsh pool-start iscsirhel7pool
# virsh pool-destroy iscsirhel7pool # virsh pool-start iscsirhel7pool
Copy to Clipboard Copied! Toggle word wrap Toggle overflow