Поддержка ISCSI target осуществляется встроенным средством ctld (начиная с FreeBsd 10). Файл конфигурации располагается в /etc/ctl.conf
Для начала подготовим диск(и) для хранения данных ISCSI и очистим диск от содержимого
- Код: выделить все
gpart destroy -F ada1
создаём разметку разделов в формате GPT
- Код: выделить все
gpart create -s gpt ada1
gpart add -t freebsd-zfs -a 4k -l hdd01 ada1
Создаём простой пул ZFS "iscsi" без избыточности, задействовав при этом один жесткий диск
- Код: выделить все
zpool create iscsi ada1
Создайте файловую систему в этом пуле и активируйте сжатие данных на ней
- Код: выделить все
zfs create iscsi/luns
zfs set compression=gzip iscsi/luns
zfs create -V 2g iscsi/luns/lun0
в результате чего создаётся ссылка для LUN'а
- Код: выделить все
/dev/zvol/iscsi/luns/lun0
Создаём конфигурационный файл /etc/ctl.conf
- Код: выделить все
portal-group server0 {
discovery-auth-group no-authentication
listen 195.0.1.8
listen [::]
}
#auth-group auth1 {
# chap-mutual "User" "ad1234567890" "mutualuser" "mutualsecret"
#}
auth-group auth0 {
chap User ad1234567890
}
target iqn.ru.serg.free11:target0 {
auth-group auth0
portal-group server0
lun 0 {
path /dev/zvol/iscsi/luns/lun0
size 2G
}
}
Перезапуск CAM Target Layer / iSCSI target daemon
- Код: выделить все
service ctld restart
ISCSI Initiator
В rc.conf добавляем запуск сервисов и флагов
- Код: выделить все
### ISCSI Initiator ###
iscsid_enable="YES"
iscsictl_enable="YES"
iscsictl_flags="-Aa"
создаём /etc/iscsi.conf
- Код: выделить все
t1 {
TargetAddress = 195.0.1.8
TargetName = iqn.ru.serg.free11:target1
AuthMethod = CHAP
chapIName = sergey
chapSecret = ad1234567890
}
Запускаем демоны
- Код: выделить все
service iscsid restart
iscsictl -An t1
посмотреть активные подключения ISCSI
- Код: выделить все
root@mirror:/ # iscsictl
Target name Target portal State
iqn.ru.serg.free11:target1 195.0.1.8 Connected: da0
В системе зарегистрировалось устройство /dev/da0 теперь можно создать на нём файловую систему. Поскольку нас интересует ZFS. то на da0 создаём пул с именем "net-disk"
- Код: выделить все
zpool create net-disk /dev/da0