最近停止使用FreeNas,我已经build立了一个zfspool,共有3个在iscsi上共享的范围。
我现在在一个RHEL 7.2服务器上使用这些磁盘,并想使用iscsi来转换现有的zfspool(就像我一直在用FreeNas做的那样)
我已经安装并设置了zfs,这些zfs提取了现有的池:
[root@sycamore ~]# zpool status pool: STORAGE state: ONLINE status: Some supported features are not enabled on the pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not support the features. See zpool-features(5) for details. scan: none requested config: NAME STATE READ WRITE CKSUM STORAGE ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-ST2000DL003-9VT166_5YD2PYT4 ONLINE 0 0 0 ata-WDC_WD20EFRX-68AX9N0_WD-WMC300200707 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 ata-ST2000DL003-9VT166_6YD1FVPV ONLINE 0 0 0 ata-ST32000542AS_6XW1YDN4 ONLINE 0 0 0 errors: No known data errors [root@sycamore ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/rhel_sycamore-root00 215G 4.0G 211G 2% / devtmpfs 24G 0 24G 0% /dev tmpfs 24G 1.3M 24G 1% /dev/shm tmpfs 24G 9.5M 24G 1% /run tmpfs 24G 0 24G 0% /sys/fs/cgroup /dev/sde1 247M 208M 39M 85% /boot /dev/mapper/rhel_sycamore00-home 699G 193M 699G 1% /home tmpfs 4.8G 16K 4.8G 1% /run/user/1000 STORAGE 3.6T 1.6T 2.0T 44% /STORAGE STORAGE/.samba4 2.0T 128K 2.0T 1% /STORAGE/.samba4
我也build立了一个iscsi目标和门户,但不知道如何将现有的范围关联到目标:
[root@sycamore STORAGE]# ls -l total 1636815334 -rw-r--r--. 1 root root 1650878054400 Oct 18 17:56 extent -rw-r--r--. 1 root root 1100585369600 Oct 18 19:31 extent2 -rw-r--r--. 1 root root 1100585369600 Oct 18 17:56 extent3 [root@sycamore STORAGE]# pwd /STORAGE [root@sycamore ~]# targetcli targetcli shell version 2.1.fb41 Copyright 2011-2013 by Datera, Inc and others. For help on commands, type 'help'. /> ls o- / ...........................................................,.......[...] o- backstores ....................................................... [...] | o- block ........................................... [Storage Objects: 0] | o- fileio .......................................... [Storage Objects: 0] | o- pscsi ........................................... [Storage Objects: 0] | o- ramdisk ......................................... [Storage Objects: 0] o- iscsi ..................................................... [Targets: 1] | o- iqn.2003-01.org.linux-iscsi.sycamore.x8664:sn.253bc772ce44 . [TPGs: 1] | o- tpg1 ........................................ [no-gen-acls, no-auth] | o- acls ................................................... [ACLs: 0] | o- luns ................................................... [LUNs: 0] | o- portals ............................................. [Portals: 1] | o- 192.168.2.10:3260 ......................................... [OK] o- loopback .................................................. [Targets: 0] />
我怎样才能完成我需要做的事情?
您已经创build了一个iSCSI目标和一个门户网站供其进行监听,这是必要的第一步。
您需要在/ backstores / block或/ backstores / fileio中定义备份存储。 这些应该是你的块设备的文件path,无论你正在使用。
他们可以像这样创build:
/backstores/block create name=<name> dev=<path/to/block/device>
在完成所有相关的预先创build的后备存储之后,您需要将它们映射为一个在目标中定义的ACL。 这里的第一步是在目标门户组中创buildLUN。
/iscsi/<targetname>/tpg1/luns/ create /backstores/block/<name of backstore>
一旦你完成了这个目标的所有相关的LUN,你需要制作ACL,以便你的发起者可以连接到你的目标。 这是通过指定发起者IQN作为ACL来完成的。 这将允许发现和login。
/iscsi/<targetname>/tpg1/acls/ create <initiator IQN>
完成此操作后,根据需要将LUN映射到适当的ACL。 这是默认自动完成的,适用于大多数情况。 使用自动映射,您将为每个专用存储指定一个目标,并将ACL添加到该目标以启用群集中的LUN共享或类似操作。 如果这是你想要的,那么你就完成了。 你应该能够连接到你的目标。
但是,在非共享环境中,启动器都使用相同的目标名称(例如具有固定固件设置的大规模部署的iSCSI引导scheme),则手动映射目标中每个ACL的有限范围的LUN会很有用。 要做到这一点,你必须先禁用自动映射。
> set global auto_add_mapped_luns=false
/iscsi/<targetname>/tpg1/acls/<initiator IQN>/ create <mapped_lun> <tpg lun or explicit backstore>
在这个命令中,mapped_lun指的是您在ACL中看到的LUN ID。 对于每个ACL,通常从零开始。 您也可以直接(通过/backstores/block/<name> )定义backstores,而不是在lun中预先映射的luns/以避免自己手动创build这些映射(并跳过一个步骤)。