Red Hat Training

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

12.2.3. 使用 virsh 创建基于分区的存储池

这部分论述了使用 virsh 命令创建基于分区的存储池。
警告
不要使用此流程将整个磁盘分配为一个存储池(例如: /dev/sdb)。不应该对整个磁盘或块设备进行写入访问权限。仅使用此方法将分区(例如 /dev/sdb1)分配给存储池。

过程 12.2. 使用 virsh 创建预格式化的块设备存储池

  1. 创建存储池定义

    使用 virsh pool-define-as 命令创建一个新的存储池定义。必须提供三个选项来定义预格式化的磁盘作为存储池:
    分区名称
    name 参数决定存储池的名称。本例使用以下示例中的 guest_images_fs 名称。
    device
    带有 device 属性的 path 参数指定存储设备的设备路径。这个示例使用分区 /dev/sdc1
    mountpoint
    挂载格式化设备的本地文件系统中的 mountpoint。如果挂载点目录不存在,则 virsh 命令可以创建该目录。
    本例中使用了 /guest_images 目录。
    # virsh pool-define-as guest_images_fs fs - - /dev/sdc1 - "/guest_images"
    Pool guest_images_fs defined
    
    新的池和挂载点现已创建。
  2. 验证新池

    列出 present 存储池。
    # virsh pool-list --all
    Name                 State      Autostart
    -----------------------------------------
    default              active     yes
    guest_images_fs      inactive   no
    
  3. 创建挂载点

    使用 virsh pool-build 命令为预格式化的文件系统存储池创建挂载点。
    # 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
    
  4. 启动存储池

    使用 virsh pool-start 命令将文件系统挂载到挂载点,并让池可用。
    # 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
    
  5. 打开自动启动

    默认情况下,使用 virsh 定义的存储池不会设置为在每次 libvirtd 启动时自动启动。要补救这一点,请使用 virsh pool-autostart 命令启用自动启动。现在,每次 libvirtd 启动时都会自动启动存储池。
    # 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
    
  6. 验证存储池

    验证存储池是否已正确创建,报告的大小与预期相同,并且报告为运行 状态。验证文件系统的挂载点中存在"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