Статья по установке iscsi initiator на FreeBSD 

  • Михаил
  • 12 мин. на прочтение
  • 83
  • 12 Dec 2010
  • 12 Dec 2010

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