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
URL: http://www.cyberciti.biz/faq/freebsd-iscsi-initiator-howto/
Обсуждается: http://www.opennet.me/tips/info/1726.shtml
А target mode где?
/usr/ports/net/iscsi-target
у меня большая проблема:
1. поднимаю iSCSI target;
2. подключаю к нему одного initiator'a;
Всё работает просто прекрасно.3. подключаю второго initiator'a
Вот тут-то и начинаются проблемы: инитиаторы не видят в реальном времени изминений сделаных другим инитиатором (например на одном удаляешь/создаёшь файлы/папки, на другом всё как буд-то ни в чём не бывало) и т.п.
Т.е. как бы нет синхронизации действий в реальном времени м/у инитиаторами
Доброго времени суток, tekken!Я пытался сделать тожесамое! И могу смело сказать что работать с одним таргетом с двух и более инициаторов у тебя не получиться, т.к. в результате создается блочное утройство.., и кто последний сделал изменения - тот и папа!
Если я не прав, бросайте в меня камни и подскажите как надо!
>Доброго времени суток, tekken!
>
>Я пытался сделать тожесамое! И могу смело сказать что работать с одним
>таргетом с двух и более инициаторов у тебя не получиться, т.к.
>в результате создается блочное утройство.., и кто последний сделал изменения -
>тот и папа!
>
>Если я не прав, бросайте в меня камни и подскажите как надо!
>прав. ибо для отслеживания изменений на общей файловой системе нужны отдельные прибамбасы, вроде кластерного кворума, nfs и иже с ними.
iscsi просто не умеет файловой системы, он уровнем ниже.
Как настроить автоматическое монтирование iscsi при загрузке?
Пол интернета завалено этим описанием настройки, и ни одного описания автомонтирования при загрузке...
rc-скрипт который есть в рассылке (http://lists.freebsd.org/pipermail/freebsd-stable/2008-July/...) на (FreeBSD 8.3-RELEASE) у меня не работает...
Так всё таки, процитирую предыдущий пост: "Как настроить автоматическое монтирование iscsi при загрузке?"
да в чём проблема запихнуть в скрипт то, что вы вводите вручную?