搜索

13.2.2. 创建存储池

download PDF
这部分介绍了使用 virshVirtual Machine Manager 创建存储池的一般说明。使用 virsh 可让您指定所有参数,而使用虚拟机管理器 提供了创建更简单的存储池的图形方法。

13.2.2.1. 使用 virsh 创建存储池

注意
本节演示了创建基于分区的存储池作为示例。

过程 13.2. 使用 virsh 创建存储池

  1. 阅读建议并确保满足所有先决条件

    对于某些存储池,本指南建议您使用某些实践。另外,某些类型的存储池有一些先决条件。要查看建议和先决条件,如果有,请参阅 第 13.2.3 节 “存储池特定”
  2. 定义存储池

    存储池可以是持久性或临时的。主机系统重启后,持久性存储池会保留下来。临时存储池仅在主机重启前存在。
    执行以下操作之一:
    • 使用 XML 文件定义存储池。
      a.创建包含新设备所需的存储池信息的临时 XML 文件。
      XML 文件必须包含根据存储池类型的特定字段。如需更多信息,请参阅 第 13.2.3 节 “存储池特定”
      下面显示了一个存储池定义 XML 文件示例。在本例中,该文件被保存到 ~/guest_images.xml
      <pool type='fs'>
        <name>guest_images_fs</name>
        <source>
          <device path='/dev/sdc1'/>
        </source>
        <target>
          <path>/guest_images</path>
        </target>
      </pool>
      b.使用 virsh pool-define 命令创建持久性存储池或 virsh pool-create 命令,以创建并启动临时存储池。
      # virsh pool-define ~/guest_images.xml
      Pool defined from guest_images_fs
      
      # virsh pool-create ~/guest_images.xml
      Pool created from guest_images_fs
      c.删除步骤中创建的 XML 文件。
    • 使用 virsh pool-define-as 命令创建持久性存储池或 virsh pool-create-as 命令,以创建临时存储池。
      以下示例从 /guest_images 目录中创建一个永久、基于文件系统的存储池,映射到 /dev/sdc1
      # virsh pool-define-as guest_images_fs fs - - /dev/sdc1 - "/guest_images"
      Pool guest_images_fs defined
      # virsh pool-create-as guest_images_fs fs - - /dev/sdc1 - "/guest_images"
      Pool guest_images_fs created
      注意
      当使用 virsh 接口时,命令中的选项名称是可选的。如果没有使用选项名称,请将横线用于不需要指定的字段。
  3. 验证是否已创建池

    使用 virsh pool-list --all 列出所有现有存储池。
    # virsh pool-list --all
    Name                 State      Autostart
    -----------------------------------------
    default              active     yes
    guest_images_fs      inactive   no
    
  4. 定义存储池目标路径

    使用 virsh pool-build 命令为预格式化的文件系统存储池创建存储池目标路径,初始化存储源设备,并定义数据的格式。然后使用 virsh pool-list 命令,确保列出存储池。
    # virsh pool-build guest_images_fs
    Pool guest_images_fs built
    # ls -la /guest_images
    total 8
    drwx------.  2 root root 4096 May 31 19:38 .
    dr-xr-xr-x. 25 root root 4096 May 31 19:38 ..
    # virsh pool-list --all
    Name                 State      Autostart
    -----------------------------------------
    default              active     yes
    guest_images_fs      inactive   no
    
    注意
    构建目标路径只适用于基于磁盘、基于文件系统以及逻辑存储池。如果 libvirt 检测到源存储设备的数据格式与所选存储池类型的不同,构建将失败,除非指定了 覆盖 选项。
  5. 启动存储池

    使用 virsh pool-start 命令准备源设备以供使用。
    执行的操作取决于存储池类型。例如,对于基于文件系统的存储池,virsh pool-start 命令会挂载文件系统。对于基于 LVM 的存储池,virsh pool-start 命令可激活卷组 usng the vgchange 命令。
    然后,使用 virsh pool-list 命令来确保 存储池处于活动状态。
    # virsh pool-start guest_images_fs
    Pool guest_images_fs started
    # virsh pool-list --all
    Name                 State      Autostart
    -----------------------------------------
    default              active     yes
    guest_images_fs      active     no
    
    注意
    virsh pool-start 命令只适用于持久性存储池。临时存储池创建时会自动启动。
  6. 启用自动启动(可选)

    默认情况下,使用 virsh 定义的存储池不会被设置为在每次 libvirtd 启动时自动启动。您可以使用 virsh pool-autostart 命令将存储池配置为自动启动。
    # virsh pool-autostart guest_images_fs
    Pool guest_images_fs marked as autostarted
    
    # virsh pool-list --all
    Name                 State      Autostart
    -----------------------------------------
    default              active     yes
    guest_images_fs      active     yes
    
    现在,每次 libvirtd 启动时都会自动启动存储池。
  7. 验证存储池

    验证存储池是否已正确创建,报告的大小与预期相同,状态报告为 running。验证文件系统的目标路径中存在"lost+found"目录,表示挂载了该设备。
    # virsh pool-info guest_images_fs
    Name:           guest_images_fs
    UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
    State:          running
    Persistent:     yes
    Autostart:      yes
    Capacity:       458.39 GB
    Allocation:     197.91 MB
    Available:      458.20 GB
    # mount | grep /guest_images
    /dev/sdc1 on /guest_images type ext4 (rw)
    # ls -la /guest_images
    total 24
    drwxr-xr-x.  3 root root  4096 May 31 19:47 .
    dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
    drwx------.  2 root root 16384 May 31 14:18 lost+found
    
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.