Q. Как я могу установить и настроить службу iSCSI на сервере FreeBSD ?
A. FreeBSD 7.x полностью поддерживает iSCSI. Старые версии, такие как FreeBSD
6.3 требуют обратного
портирования для поддержки iSCSI. Следущие инструкции приведены для настройки
iSCSI только под FreeBSD 7.0.
FreeBSD iscsi_initiator driver
iscsi_initiator в ядре FreeBSD реализует страндарт сетевого протокола Internet SCSI (iSCSI),
взаимодействует с пользовательским окружением iscontrol и обеспечивает доступ к
удаленным виртуальным SCSI устройствам.
Компилирование драйвера
обратите внимание на то, что FreeBSD 7.x поставляется с уже скомпилированным драйвером.
Вы можете пропустить этот шаг, если драйвер /boot/kernel/iscsi_initiator.ko
уже присутствует в вашей системе.
Для компиляции ядра с драйвером, выполните следущее:
# cd /usr/src/sys/i386/conf
# cp GENERIC ISCSIKERNEL
# vi ISCSIKERNEL
Вставьте строку:
device iscsi_initiator
Сохраните и закройте файл конфигурации. Соберите ядро:
# cd /usr/src
# make buildkernel KERNCONF=ISCSIKERNEL
Установите ядро:
# make installkernel KERNCONF=ISCSIKERNEL
Перезагрузите систему:
# reboot
Установка драйвера iSCSI в FreeBSD
Нам необходим драйвер ядра FreeBSD для протокола iSCSI, который называется /boot/kernel/iscsi_initiator.ko.
Загрузите его можно с правами пользователя root следующей командой:
# kldload -v iscsi_initiator.ko
Вывод:
Loaded iscsi_initiator.ko, id=6
Для загрузки драйвера во время начальной загрузки, поместите слудующую строку в /boot/loader.conf:
# vi /boot/loader.conf
# Beginning of the iSCSI block added by Vivek
iscsi_initiator_load="YES"
# End of the block added by Vivek
Сохраните и закройте файл.
Команда iscontrol для подключения, предоставления и контроля сессии iSCSI initiator.
Теперь нам необходимо использовать команду iscontrol. Сперва просмотрим сессии:
# iscontrol -d targetaddress=iSCSI-SERVER-IP-ADDRESS initiatorname=nxl
# iscontrol -v -d targetaddress=192.168.1.100 initiatorname=nxl
Пожалуйста, запишите список доступных targetnames/targetadresses. Как только
будет известно targetname,
отредактируйте файл /etc/iscsi.conf:
# vi /etc/iscsi.conf
Укажите директивы подобным образом:
officeiscsi {
authmethod = CHAP
chapIName = YOUR-ISCSI-USERNAME
chapSecret = YOUR-ISCSI-PASSWORD
initiatorname = nxl
TargetName = iqn.XYZZZZZZZZZZZZZ # whatever "iscontrol -v -d " gives you
TargetAddress = 192.168.1.100:3260,1 # your iscsi server IP
}
Сохраните и закройте файл.
Где:
officeiscsi { : Начало конфигурации iSCSI.
authmethod : Установить в качестве метода аутентификации chap
chapIName : Имя
chapSecret : Пароль
initiatorname : Если не указано другое, то iqn.2005-01.il.ac.huji.cs:<hostname>
TargetName : Имя, под которым будет изветен target. Не путайте его с target address,
который назначается администратором или через поиск устройств.
TargetAddress : Имеет вид domainname[:port][,portal-group-tag] согласно RFC:
domainname может быть определен как имя DNS, адрес IPv4 в десятичном представлении
или IPv6 адрес, как указано в [RFC2732].
} : Конец конфигурации
Старт сессии iSCSI
Следущие команды читают опции из /etc/iscsi.conf, используя targetaddress в блоке,
называемом officeiscsi, и запускают сессию iscsi.
# iscontrol -c /etc/iscsi.conf -n officeiscsi
Как только вы выполните команду iscontrol, должно создаться новое устройство в каталоге /dev.
Для проверки выполним команду dmesg:
# dmesg
Форматируем диск iSCSI
Запустим sysinstall для форматирования обнаруженного устройства iSCSI:
# sysinstall
Выбираем Custom > 3 Partition > Выбираем устройство iSCSI по имени da1. После
форматирования вводим:
# mkdir /iscsi
# mount /dev/da1s1 /iscsi
Возможно вам понадобится обновить файл /etc/fstab:
/dev/ad1s1 /iscsi ufs rw 3 3
|