====== iSCSI Over ZFS Cheat Code ======
FreeBSD 官方文档: https://www.freebsd.org/doc/handbook/network-iscsi.html
以下例子为本机同时做 Target 和 Initiator
===== ZFS =====
# zfs create -o compress=lz4 -o volblocksize=64k -s -V 10G tank/iscsi
===== /etc/ctl.conf =====
auth-group ag0 {
chap user 1234567890123456
}
portal-group pg0 {
discovery-auth-group no-authentication
listen 0.0.0.0
listen [::]
}
target iqn.2016-10.org.hshh:target0 {
auth-group ag0
portal-group pg0
lun 0 {
path /dev/zvol/tank/iscsi
}
}
===== /etc/iscsi.conf =====
t0 {
TargetAddress = 127.0.0.1
TargetName = iqn.2016-10.org.hshh:target0
AuthMethod = CHAP
chapIName = user
chapSecret = 1234567890123456
}
===== /etc/rc.conf =====
ctld_enable="YES"
iscsid_enable="YES"
iscsictl_enable="YES"
iscsictl_flags="-Aa"
===== iSCSI Target (Server) =====
# service ctld start
===== iSCSI Initiator (Client) =====
# service iscsid start
# service iscsictl start
===== Disk =====
# camcontrol devlist
# gpart create -s gpt da6
# gpart add -t freebsd-ufs da6
# newfs -j da6p1
# mount /dev/da6p1 /mnt
===== Remove =====
# umount /mnt
# iscsictl -L
# iscsictl -Ra
# service iscsid stop
# service ctld stop
# kldstat
===== Resize =====
# umount /mnt
# iscsictl -Ra
# service iscsid stop
# service ctld stop
# zfs set volsize=20G tank/iscsi
# service ctld start
# service iscsid start
# iscsictl -Aa
# gpart show da6
# gpart recover da6
# gpart resize -i 1 da6
# growfs /dev/da6p1
# fsck -y /dev/da6p1
{{tag>freebsd zfs iscsi}}