本地 ZFS 池后端

存储池类型:`zfspool

这个后端允许你访问本地的ZFS池(或者这些池中的ZFS文件系统)。

配置

后端支持常见的存储属性`content`、nodesdisable,以及以下特定于ZFS的属性:

池塘

选择ZFS池/文件系统。所有的分配都在那个池中完成。

块大小

设置ZFS块大小参数。

稀疏

使用ZFS薄置备。稀疏卷是一个预留空间不等于卷大小的卷。

挂载点

ZFS池/文件系统的挂载点。更改此项不会影响 zfs 所看到的数据集的 mountpoint 属性。默认为 /<pool>

配置示例 (/etc/pve/storage.cfg)
zfspool: vmdata
        pool tank/vmdata
        content rootdir,images
        sparse

文件命名规范

后端对虚拟机镜像使用以下命名方案:

vm-<VMID>-<NAME>      // 普通虚拟机镜像
base-<VMID>-<NAME>    // 模板虚拟机镜像(只读)
subvol-<VMID>-<NAME>  // 子卷 (ZFS 文件系统用于容器)
<VMID>

这指定了所有者虚拟机。

<NAME>

这可以是一个任意的名字(ascii),不包含空白字符。后端默认使用`disk[N]作为名称,其中的[N]`被替换为一个整数以确保名称的唯一性。

存储功能

ZFS可能是关于快照和克隆方面最先进的存储类型。后端使用ZFS数据集来存储虚拟机镜像(格式为`raw`)和容器数据(格式为`subvol`)。ZFS属性从父数据集继承,因此你可以简单地在父数据集上设置默认值。

Table 1. 后端为`zfs`的存储特性
Content types Image formats Shared Snapshots Clones

images rootdir

raw subvol

no

yes

yes

示例

建议创建一个额外的ZFS文件系统来存储你的虚拟机镜像:

# zfs create tank/vmdata

要在那个新分配的文件系统上启用压缩:

zfs set compression=on tank/vmdata

您可以使用以下命令获取可用的ZFS文件系统列表:

pvesm zfsscan