ZFS通过ISCSI后端

储存池类型:`zfs

这个后端访问一个拥有ZFS池作为存储并通过`ssh`实现iSCSI目标的远程机器。对于每个客户端磁盘,它创建一个ZVOL,并将其作为iSCSI LUN导出。这个LUN由{pve}用作客户端磁盘。

以下iSCSI目标实现是受支持的:

  • LIO (Linux)

  • IET (Linux)

  • ISTGT (FreeBSD)

  • 康斯塔(索拉里斯)

Note
这个插件需要一个支持ZFS的远程存储设备,你不能用它在常规存储设备/SAN上创建一个ZFS池。

配置

为了使用ZFS over iSCSI插件,您需要配置远程机器(目标)以接受来自{pve}节点的`ssh`连接。{pve}连接到目标机器以创建ZVOLs并通过iSCSI导出它们。认证是通过存储在`/etc/pve/priv/zfs/<target_ip>_id_rsa`中的无密码保护的ssh-key完成的。

以下步骤创建一个ssh密钥并将其分发到IP为192.0.2.1的存储机器:

mkdir /etc/pve/priv/zfs
ssh-keygen -f /etc/pve/priv/zfs/192.0.2.1_id_rsa
ssh-copy-id -i /etc/pve/priv/zfs/192.0.2.1_id_rsa.pub root@192.0.2.1
ssh -i /etc/pve/priv/zfs/192.0.2.1_id_rsa root@192.0.2.1

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

游泳池

iSCSI目标上的ZFS池/文件系统。所有分配都在该池中完成。

传送门

iSCSI门户(IP或DNS名称,可选端口)。

目标

iSCSI 目标。

iSCSI提供者

远程机器上使用的iSCSI目标实现

comstar_tg

comstar视图的目标群体。

comstar_hg

用于comstar视图的主机组。

lio_tpg

Linux LIO目标的目标门户组

禁用写缓存

禁用目标设备上的写缓存

块大小

设置ZFS块大小参数。

稀疏

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

配置示例(/etc/pve/storage.cfg
zfs: lio
   blocksize 4k
   iscsiprovider LIO
   pool tank
   portal 192.0.2.111
   target iqn.2003-01.org.linux-iscsi.lio.x8664:sn.xxxxxxxxxxxx
   content images
   lio_tpg tpg1
   sparse 1

zfs: solaris
   blocksize 4k
   target iqn.2010-08.org.illumos:02:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:tank1
   pool tank
   iscsiprovider comstar
   portal 192.0.2.112
   content images

zfs: freebsd
   blocksize 4k
   target iqn.2007-09.jp.ne.peach.istgt:tank1
   pool tank
   iscsiprovider istgt
   portal 192.0.2.113
   content images

zfs: iet
   blocksize 4k
   target iqn.2001-04.com.example:tank1
   pool tank
   iscsiprovider iet
   portal 192.0.2.114
   content images

存储特性

ZFS通过iSCSI插件提供了一个能够进行快照的共享存储。你需要确保在部署过程中,ZFS设备不会成为单点故障。

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

images

raw

yes

yes

no