12.3. 基于目录的存储池
本节介绍将客户机虚拟机存储在主机物理机器的目录中。
可以通过 virt-manager 或 virsh 命令行工具创建基于目录的存储池。
12.3.1. 使用 virt-manager 创建基于目录的存储池
创建本地目录
可选:为存储池创建新目录
在主机物理计算机中为存储池创建 目录。这个示例使用名为 /guest virtual_images 的目录。# mkdir /guest_images
设置目录所有权
更改 目录的用户和组所有权。目录必须由 root 用户所有。# chown root:root /guest_images
设置目录权限
更改 目录的文件权限。# chmod 700 /guest_images
验证更改
验证权限已被修改。输出显示正确配置了空目录。# ls -la /guest_images total 8 drwx------. 2 root root 4096 May 28 13:57 . dr-xr-xr-x. 26 root root 4096 May 28 13:57 ..
配置 SELinux 文件上下文
为新目录配置正确的 SELinux 上下文。请注意,池的名称和 目录不需要匹配。但是,当您关闭客户端虚拟机时,libvirt 必须把上下文设置为默认值。目录的上下文决定了这个默认值。值得显式标记目录 virt_image_t,因此,当客户机虚拟机关闭时,镜像会标记为"virt_image_t",因此与在主机物理机器上运行的其他进程隔离开来。# semanage fcontext -a -t virt_image_t '/guest_images(/.*)?' # restorecon -R /guest_images
打开存储池设置
- 在 virt-manager 图形界面,从主窗口中选择主机物理计算机。打开 Edit 菜单,然后选择 Connection Details
图 12.7. 连接详情窗口
- 单击 Connection Details 窗口中的 Storage 选项卡。
图 12.8. 存储标签
创建新存储池
添加新池(第 1 部分)
按 + 按钮(添加池按钮)。此时会出现 Add a New Storage Pool 向导。为存储池选择一个 dir: Filesystem Directory。。这个示例使用名称 guest_images。将 更改为图 12.9. 将存储池命名为
按按钮继续。添加新池(第 2 部分)
更改字段。例如: /guest_images。验证详细信息,然后按"按钮创建存储池。
验证新存储池
在几秒钟后,新存储池会出现在左侧的存储列表中。验证大小已如预期报告,本例中为 36.41 GB 空闲。验证字段将新存储池报告为 Active。选择存储池。在字段中,确认选中 复选框。这将确保无论libvirtd
服务启动时都启动存储池。图 12.10. 验证存储池信息
现在创建了存储池,关闭 Connection Details 窗口。