15.4. 创建存储池的参数


根据您需要的存储池类型,您可以修改其 XML 配置文件,并定义特定的存储池类型。本节提供了关于创建各种类型的存储池所需的 XML 参数以及示例。

15.4.1. 基于目录的存储池参数

当您想使用 XML 配置文件创建或修改基于目录的存储池时,您必须包含某些必要的参数。有关这些参数的更多信息,请参阅下表。

您可以使用 virsh pool-define 命令来根据指定文件中的 XML 配置创建存储池。例如:

# virsh pool-define ~/guest_images.xml
  Pool defined from guest_images_dir
Copy to Clipboard Toggle word wrap

参数

下表提供了基于目录的存储池 XML 文件所需的参数列表。

Expand
表 15.1. 基于目录的存储池参数
描述XML

存储池的类型

<pool type='dir'>
Copy to Clipboard Toggle word wrap

存储池的名称

<name>name</name>
Copy to Clipboard Toggle word wrap

指定目标的路径。这将是用于存储池的路径。

<target>
   <path>target_path</path>
</target>
Copy to Clipboard Toggle word wrap

示例

以下是一个基于 /guest_images 目录的存储池的 XML 文件示例:

<pool type='dir'>
  <name>dirpool</name>
  <target>
    <path>/guest_images</path>
  </target>
</pool>
Copy to Clipboard Toggle word wrap

15.4.2. 基于磁盘的存储池参数

当您想使用 XML 配置文件创建或修改基于磁盘的存储池时,您必须包含某些必要的参数。有关这些参数的更多信息,请参阅下表。

您可以使用 virsh pool-define 命令来根据指定文件中的 XML 配置创建存储池。例如:

# virsh pool-define ~/guest_images.xml
  Pool defined from guest_images_disk
Copy to Clipboard Toggle word wrap

参数

下表提供了基于磁盘存储池的 XML 文件所需的参数列表。

Expand
表 15.2. 基于磁盘的存储池参数
描述XML

存储池的类型

<pool type='disk'>
Copy to Clipboard Toggle word wrap

存储池的名称

<name>name</name>
Copy to Clipboard Toggle word wrap

指定存储设备的路径。例如:/dev/sdb

<source>
   <path>source_path</path>
</source>
Copy to Clipboard Toggle word wrap

指定目标设备的路径。这将是用于存储池的路径。

<target>
   <path>target_path</path>
</target>
Copy to Clipboard Toggle word wrap

示例

以下是基于磁盘存储池的 XML 文件示例:

<pool type='disk'>
  <name>phy_disk</name>
  <source>
    <device path='/dev/sdb'/>
    <format type='gpt'/>
  </source>
  <target>
    <path>/dev</path>
  </target>
</pool>
Copy to Clipboard Toggle word wrap

15.4.3. 基于文件系统的存储池参数

当您想使用 XML 配置文件创建或修改基于文件系统的存储池时,您必须包含某些必要的参数。有关这些参数的更多信息,请参阅下表。

您可以使用 virsh pool-define 命令来根据指定文件中的 XML 配置创建存储池。例如:

# virsh pool-define ~/guest_images.xml
  Pool defined from guest_images_fs
Copy to Clipboard Toggle word wrap

参数

下表提供了基于文件系统的存储池 XML 文件所需的参数列表。

Expand
表 15.3. 基于文件系统的存储池参数
描述XML

存储池的类型

<pool type='fs'>
Copy to Clipboard Toggle word wrap

存储池的名称

<name>name</name>
Copy to Clipboard Toggle word wrap

指定分区的路径。例如:/dev/sdc1

<source>
   <device path=device_path />
Copy to Clipboard Toggle word wrap

文件系统类型,例如 ext4

   <format type=fs_type />
</source>
Copy to Clipboard Toggle word wrap

指定目标的路径。这将是用于存储池的路径。

<target>
   <path>path-to-pool</path>
</target>
Copy to Clipboard Toggle word wrap

示例

以下是基于 /dev/sdc1 分区的存储池的一个 XML 文件示例:

<pool type='fs'>
  <name>guest_images_fs</name>
  <source>
    <device path='/dev/sdc1'/>
    <format type='auto'/>
  </source>
  <target>
    <path>/guest_images</path>
  </target>
</pool>
Copy to Clipboard Toggle word wrap

15.4.4. 基于 iSCSI 的存储池参数

当您想使用 XML 配置文件创建或修改基于 iSCSI 的存储池时,您必须包含某些必要的参数。有关这些参数的更多信息,请参阅下表。

您可以使用 virsh pool-define 命令来根据指定文件中的 XML 配置创建存储池。例如:

# virsh pool-define ~/guest_images.xml
  Pool defined from guest_images_iscsi
Copy to Clipboard Toggle word wrap

参数

下表提供了基于 iSCSI 存储池的 XML 文件所需的参数列表。

Expand
表 15.4. 基于 iSCSI 的存储池参数
描述XML

存储池的类型

<pool type='iscsi'>
Copy to Clipboard Toggle word wrap

存储池的名称

<name>name</name>
Copy to Clipboard Toggle word wrap

主机的名称

<source>
   <host name=hostname />
Copy to Clipboard Toggle word wrap

iSCSI IQN

   <device path=iSCSI_IQN />
</source>
Copy to Clipboard Toggle word wrap

指定目标的路径。这将是用于存储池的路径。

<target>
   <path>/dev/disk/by-path</path>
</target>
Copy to Clipboard Toggle word wrap

[可选] iSCSI initiator 的 IQN。只有 ACL 将 LUN 限制为特定发起方时才需要。

<initiator>
   <iqn name='initiator0' />
</initiator>
Copy to Clipboard Toggle word wrap
注意

可使用 virsh find-storage-pool-sources-as iscsi 命令确定 iSCSI initiator 的 IQN 。

示例

以下是基于指定 iSCSI 设备的存储池的 XML 文件示例:

<pool type='iscsi'>
  <name>iSCSI_pool</name>
  <source>
    <host name='server1.example.com'/>
    <device path='iqn.2010-05.com.example.server1:iscsirhel7guest'/>
  </source>
  <target>
    <path>/dev/disk/by-path</path>
  </target>
</pool>
Copy to Clipboard Toggle word wrap

15.4.5. 基于 LVM 的存储池参数

当您想使用 XML 配置文件创建或修改基于 LVM 的存储池时,您必须包含某些必要的参数。有关这些参数的更多信息,请参阅下表。

您可以使用 virsh pool-define 命令来根据指定文件中的 XML 配置创建存储池。例如:

# virsh pool-define ~/guest_images.xml
  Pool defined from guest_images_logical
Copy to Clipboard Toggle word wrap

参数

下表提供了基于 LVM 的存储池 XML 文件所需的参数列表。

Expand
表 15.5. 基于 LVM 的存储池参数
描述XML

存储池的类型

<pool type='logical'>
Copy to Clipboard Toggle word wrap

存储池的名称

<name>name</name>
Copy to Clipboard Toggle word wrap

存储池设备的路径

<source>
   <device path='device_path' />
Copy to Clipboard Toggle word wrap

卷组名称

   <name>VG-name</name>
Copy to Clipboard Toggle word wrap

虚拟组格式

   <format type='lvm2' />
</source>
Copy to Clipboard Toggle word wrap

目标路径

<target>
   <path=target_path />
</target>
Copy to Clipboard Toggle word wrap
注意

如果逻辑卷组由多个磁盘分区组成,则可能会列出多个源设备。例如:

<source>
  <device path='/dev/sda1'/>
  <device path='/dev/sdb3'/>
  <device path='/dev/sdc2'/>
  ...
</source>
Copy to Clipboard Toggle word wrap

示例

以下是基于指定 LVM 的存储池的 XML 文件示例:

<pool type='logical'>
  <name>guest_images_lvm</name>
  <source>
    <device path='/dev/sdc'/>
    <name>libvirt_lvm</name>
    <format type='lvm2'/>
  </source>
  <target>
    <path>/dev/libvirt_lvm</path>
  </target>
</pool>
Copy to Clipboard Toggle word wrap

15.4.6. 基于 NFS 的存储池参数

当您想使用 XML 配置文件创建或修改基于 NFS 的存储池时,您必须包含某些必要的参数。有关这些参数的更多信息,请参阅下表。

您可以使用 virsh pool-define 命令来根据指定文件中的 XML 配置创建存储池。例如:

# virsh pool-define ~/guest_images.xml
  Pool defined from guest_images_netfs
Copy to Clipboard Toggle word wrap

参数

下表提供了基于 NFS 的存储池 XML 文件所需的参数列表。

Expand
表 15.6. 基于 NFS 的存储池参数
描述XML

存储池的类型

<pool type='netfs'>
Copy to Clipboard Toggle word wrap

存储池的名称

<name>name</name>
Copy to Clipboard Toggle word wrap

挂载点所在的网络服务器的主机名。这可以是主机名或 IP 地址。

<source>
   <host name=hostname />
Copy to Clipboard Toggle word wrap

存储池的格式

下面是其中之一:

   <format type='nfs' />
Copy to Clipboard Toggle word wrap
   <format type='cifs' />
Copy to Clipboard Toggle word wrap

网络服务器上使用的目录

   <dir path=source_path />
</source>
Copy to Clipboard Toggle word wrap

指定目标的路径。这将是用于存储池的路径。

<target>
   <path>target_path</path>
</target>
Copy to Clipboard Toggle word wrap

示例

以下是基于 file_server NFS 服务器的 /home/net_mount 目录的存储池的一个 XML 文件示例:

<pool type='netfs'>
  <name>nfspool</name>
  <source>
    <host name='file_server'/>
    <format type='nfs'/>
    <dir path='/home/net_mount'/>
  </source>
  <target>
    <path>/var/lib/libvirt/images/nfspool</path>
  </target>
</pool>
Copy to Clipboard Toggle word wrap

要为使用虚拟主机适配器总线(vHBA)设备的基于 SCSi 的存储池创建或修改 XML 配置文件,您必须在 XML 配置文件中包括某些必要的参数。有关所需参数的更多信息,请参阅下表。

您可以使用 virsh pool-define 命令来根据指定文件中的 XML 配置创建存储池。例如:

# virsh pool-define ~/guest_images.xml
  Pool defined from guest_images_vhba
Copy to Clipboard Toggle word wrap

参数

下表提供了使用 vHBA 的基于 SCSI 的存储池 XML 文件所需的参数列表。

Expand
表 15.7. 使用 vHBA 设备的基于 SCSI 的存储池的参数
描述XML

存储池的类型

<pool type='scsi'>
Copy to Clipboard Toggle word wrap

存储池的名称

<name>name</name>
Copy to Clipboard Toggle word wrap

vHBA 的标识符。parent 属性是可选的。

<source>
   <adapter type='fc_host'
   [parent=parent_scsi_device]
   wwnn='WWNN'
   wwpn='WWPN' />
</source>
Copy to Clipboard Toggle word wrap

目标路径。这将是用于存储池的路径。

<target>
   <path=target_path />
</target>
Copy to Clipboard Toggle word wrap
重要

<path> 字段是 /dev/ 时,libvirt 会为卷设备路径生成一个唯一的短设备路径。例如:/dev/sdc。否则会使用物理主机路径。例如:/dev/disk/by-path/pci-0000:10:00.0-fc-0x5006016044602198-lun-0。唯一的短设备路径允许多个存储池在多个虚拟机(VM)中列出相同的卷。如果多个虚拟机使用了物理主机路径,则可能会出现重复的设备类型警告。

注意

可以在 <adapter> 字段中使用 parent 属性来通过不同的路径标识 NPIV LUN 的物理 HBA 父级。此字段 scsi_hostNvportsmax_vports 属性相结合,以完成父识别。parentparent_wwnnparent_wwpnparent_fabric_wwn 属性提供了不同程度的保证,确保在主机重启后使用相同的 HBA。

  • 如果没有指定 parentlibvirt 将使用支持 NPIV 的第一个 scsi_hostN 适配器。
  • 如果只指定了 parent,则在配置中添加了额外的 SCSI 主机适配器时可能会出现问题。
  • 如果指定了 parent_wwnnparent_wwpn,则在主机重启后使用相同的 HBA。
  • 如果使用 parent_fabric_wwn,则在主机重新启动后,将选择同一结构上的 HBA ,而不考虑所用的 scsi_hostN

示例

以下是使用 vHBA 的基于 SCSI 的存储池的 XML 文件示例。

  • 它是 HBA 中唯一存储池的存储池:

    <pool type='scsi'>
      <name>vhbapool_host3</name>
      <source>
        <adapter type='fc_host' wwnn='5001a4a93526d0a1' wwpn='5001a4ace3ee047d'/>
      </source>
      <target>
        <path>/dev/disk/by-path</path>
      </target>
    </pool>
    Copy to Clipboard Toggle word wrap
  • 存储池是使用单个 vHBA 的多个存储池中的一个,并使用 parent 属性来识别 SCSI 主机设备:

    <pool type='scsi'>
      <name>vhbapool_host3</name>
      <source>
        <adapter type='fc_host' parent='scsi_host3' wwnn='5001a4a93526d0a1' wwpn='5001a4ace3ee047d'/>
      </source>
      <target>
        <path>/dev/disk/by-path</path>
      </target>
    </pool>
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat