本地 ZFS 池后端
存储池类型:`zfspool
这个后端允许你访问本地的ZFS池(或者这些池中的ZFS文件系统)。
配置
后端支持常见的存储属性`content`、nodes
、disable
,以及以下特定于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属性从父数据集继承,因此你可以简单地在父数据集上设置默认值。
Content types | Image formats | Shared | Snapshots | Clones |
---|---|---|---|---|
|
|
no |
yes |
yes |
示例
建议创建一个额外的ZFS文件系统来存储你的虚拟机镜像:
# zfs create tank/vmdata
要在那个新分配的文件系统上启用压缩:
zfs set compression=on tank/vmdata
您可以使用以下命令获取可用的ZFS文件系统列表: