Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

12.3. 基于目录的存储池

本节介绍将客户机虚拟机存储在主机物理机器的目录中。
可以通过 virt-managervirsh 命令行工具创建基于目录的存储池。

12.3.1. 使用 virt-manager 创建基于目录的存储池

  1. 创建本地目录

    1. 可选:为存储池创建新目录

      在主机物理计算机中为存储池创建 目录。这个示例使用名为 /guest virtual_images 的目录。
      # mkdir /guest_images
    2. 设置目录所有权

      更改 目录的用户和组所有权。目录必须由 root 用户所有。
      # chown root:root /guest_images
    3. 设置目录权限

      更改 目录的文件权限。
      # chmod 700 /guest_images
    4. 验证更改

      验证权限已被修改。输出显示正确配置了空目录。
      # 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 ..
      
  2. 配置 SELinux 文件上下文

    为新目录配置正确的 SELinux 上下文。请注意,池的名称和 目录不需要匹配。但是,当您关闭客户端虚拟机时,libvirt 必须把上下文设置为默认值。目录的上下文决定了这个默认值。值得显式标记目录 virt_image_t,因此,当客户机虚拟机关闭时,镜像会标记为"virt_image_t",因此与在主机物理机器上运行的其他进程隔离开来。
    # semanage fcontext -a -t virt_image_t '/guest_images(/.*)?'
    # restorecon -R /guest_images
    
  3. 打开存储池设置

    1. virt-manager 图形界面,从主窗口中选择主机物理计算机。
      打开 Edit 菜单,然后选择 Connection Details

      图 12.7. 连接详情窗口

      连接详情窗口
    2. 单击 Connection Details 窗口中的 Storage 选项卡。

      图 12.8. 存储标签

      存储标签
  4. 创建新存储池

    1. 添加新池(第 1 部分)

      + 按钮(添加池按钮)。此时会出现 Add a New Storage Pool 向导。
      为存储池选择一个 名称。这个示例使用名称 guest_images。将 Type 更改为 dir: Filesystem Directory

      图 12.9. 将存储池命名为

      将存储池命名为
      转发 按钮继续。
    2. 添加新池(第 2 部分)

      更改 Target Path 字段。例如: /guest_images
      验证详细信息,然后按 "完成 "按钮创建存储池。
  5. 验证新存储池

    在几秒钟后,新存储池会出现在左侧的存储列表中。验证大小已如预期报告,本例中为 36.41 GB 空闲。验证 State 字段将新存储池报告为 Active
    选择存储池。在 Autostart 字段中,确认选中 On Boot 复选框。这将确保无论 libvirtd 服务启动时都启动存储池。

    图 12.10. 验证存储池信息

    验证存储池信息
    现在创建了存储池,关闭 Connection Details 窗口。