управление iscsi в solaris nexenta
Применимость: solaris, nexenta
Слова для поиска: solaris, nexenta, comstar
Для управления службой ISCSI потребуются навыки по следующим действиям:
- Установить Solaris и настроить сетевые параметры.
- Установить и настроить необходимые программные компоненты
- Создать, подключить и настроить ZFS pool и блочные устройства LUN для ISCSI таргета
- Настроить iSCSI таргет и его представление (view)
- Настроить ограничения доступа и проверку подлинности между iSCSI инициатором и таргетом.
- Обеспечить тюнинг и мониторинг ISCSI конфигурации
Термины и определения
- Host Groups (Группа хостов): - группа состоящая из списка инициаторов. Один инициатор может быть только в одной группе.
- Target Groups (Группа таргетов): - группа состоящая из списка iSCSIтаргетов или WWID локальных FC-карт. Один таргет может быть только в одной группе.
- Views (представление): набор параметров определяющий для какого инициатора (группы хостов) какой LUN отображается и под каким порядковым номером устройства.
- Logical Unit Number (LUN) (логическое устройство): - средство идентификации отдельного устройства которому предоставляется доступ по протоколу iSCSI. Ядро системы направляет команды блочного ввода-вывода соответствующему логическому устройству (LU) в соотвествии с его LUN (Logical Unit Number).
Активировать службу iscsi target
Установить ПО и запустить службы.
pkg install storage-server pkg install SUNWiscsit svcadm enable system/stmf svcadm enable iscsi/target
Если был установлен iscsitadm, то его надо остановить иначе будут конфликты с COMSTAR.
svcadm disable iscsitgt
Создать ZVOL и LUN для iSCSI target
ZVOL
Создать блочное устройство (ZVOL / ZFS Volume) фиксированного размера 2Гб с резервированием пространства в файловой системе ZFS на пуле с именем tank
zfs create -V 2g tank/zvol1
или создать ZVOL без резервирования пространства (аналог разреженного файла (англ. sparse file)) c использованием сжатия данных по алгоритму lzjb
zfs create -s -V 2g -o compression=lzjb tank/zvol1
LUN
stmfadm create-lu /dev/zvol/rdsk/tank/zvol1
Убедитесь, что LUN создан
stmfadm list-lu LU Name: 600144F0D02C8F000000510BF6B30001
Представление (view)
Иногда это действие называют mapping Добавить представление (view) для LUN:
Эта команда делает LUN доступными для всех систем
stmfadm add-view 600144F0D02C8F000000510BF6B30001
Убедиться что представление добавлено:
stmfadm list-view -l 600144F0D02C8F000000510BF6B30001
Создание целевого устройства iSCSI target
itadm create-target Target iqn.2010-09.org.openindiana:02:afaa4da7-948d-c18a-b4f3-93b740270e2e successfully created
Отобразить информацию о ISCSI target.
itadm list-target -v
Ограничение доступа
Описанные выше действия открывают полный доступ к LUN для всех.
Для запрета доступа удалим предыдущее представление (view)
stmfadm remove-view -l 600144F0D02C8F000000510BF6B30001 -a
И создадим новое представление с ограничениями доступа к определенным таргетам для заданного списка инициаторов.
Создать Target Portal Group
Target Portal Group (TPG) представляет собой список IP-адресов и портов, на которых служба будет «слушать» подключения по iSCSI.
TPG не используется для контроля доступа, а определяет сетевые адаптеры для соединения по iSCSI.
itadm create-tpg iscsi-tpg01 10.100.30.73:3260 192.168.1.23:3260 itadm list-tpg
Создать группы таргетов (TG - target group)
Группа таргетов (TG) - представляет собой список имен таргетов (IQN). Каждый таргет может быть только в одной группе.
stmfadm create-tg my10-tg01 stmfadm create-tg my10-tg02 svcadm disable stmf stmfadm add-tg-member -g my10-tg01 iqn.2010-09.org.openindiana:02:c3ef53a4-fe7d-c15d-dc45-dcdd4ed099d1 stmfadm add-tg-member -g my10-tg02 iqn.2010-09.org.openindiana:02:8b99aac1-18f3-6f69-9701-da43ddfdf1c6 svcadm enable stmf
Создать группы хостов (HG - host group)
Группа хостов (HG - host group) - список имен инициаторов (IQN), которым разрешено видеть ваши LU (логические устройства) по iSCSI.
stmfadm create-hg my10-hg01 stmfadm add-hg-member -g my10-hg01 iqn.2013-02.net.colobridge.pro-book:01:8de284ad181 stmfadm list-hg -v
Mapping
MAPPING сопоставляет кому именно и что именно доступно.
Вспомнить имена созданных объектов:
stmfadm list-lu -v sbdadm list-lu stmfadm list-tg stmfadm list-hg
Создать представление (view) или mapping для заданных TG (target group) и HG (host group)
stmfadm add-view -t my10-tg01 -h my10-hg01 600144F0D02C8F000000510BF6B30001 stmfadm list-view -l 600144F0D02C8F000000510BF6B30001
Добавить еще один LU в таргет
Создать ZVOL
zfs create -V 2g tank/zvol2
Создать LU
stmfadm create-lu /dev/zvol/rdsk/tank/zvol2
Узнать LU Name
stmfadm list-lu -v sbdadm list-lu
Добавить новый LU к существующему таргету (группе таргетов)
stmfadm add-view -t my10-tg01 -h my10-hg01 600144F0D02C8F000000510FFB0C0002
Перечитать таргет на стороне клиента (linux)
iscsiadm -m session -R
Сохранение конфигурации
svccfg export -a stmf > comstar.bak.${DATE} svccfg import comstar.bak.${DATE}
Расширить размер тома для таргета
В этом примере добавляем 100GB
zfs get volsize RAPID1/iSCSI/3070 NAME PROPERTY VALUE SOURCE TANK/iSCSI/3070 volsize 550G local
Расширяем датасет
zfs set volsize=650G TANK/iSCSI/3070
Список лунов в подробностях
stmfadm list-lu -v LU Name: 600144F090898D110000556D99DC0006 Operational Status: Online Provider Name : sbd Alias : /dev/zvol/rdsk/TANK/iSCSI/3070 View Entry Count : 1 Data File : /dev/zvol/rdsk/TANK/iSCSI/3070 Meta File : not set Size : 590558003200 Block Size : 512 Management URL : not set Vendor ID : SUN Product ID : COMSTAR Serial Num : not set Write Protect : Disabled Writeback Cache : Enabled Access State : Active
Расширяем лун таргета
sbdadm modify-lu -s 650G 600144F090898D110000556D99DC0006
Обновляем информацию на клиенте (инициаторе) доступными средствами.
Подключение к iSCSI
Подключение к таргету с сервера под Linux
iscsiadm -m discovery -t st -p 192.168.1.23
iscsiadm -m node --targetname iqn.2010-09.org.openindiana:02:c3ef53a4-fe7d-c15d-dc45-dcdd4ed099d1 -p 192.168.1.23 --login
Отобразить доступные блочные устройства:
parted -l или fdisk -l
Настройка таргета на идентификацию инициаторов с использованием CHAP
itadm modify-target -a chap <target-iqn>
Создать контекст описывающий инициатора.
itadm create-initiator -s <initiator-iqn> itadm modify-initiator --chap-name <user_name> <initiator-iqn> itadm modify-initiator --chap-secret <initiator-iqn>
Пример:
itadm modify-initiator -s iqn.2013-02.net.colobridge.pro-book:01:8de284ad181 itadm modify-initiator --chap-user probook iqn.2013-02.net.colobridge.pro-book:01:8de284ad181 itadm modify-initiator --chap-secret iqn.2013-02.net.colobridge.pro-book:01:8de284ad181 Enter CHAP secret: Secret must be between 12 and 255 characters
Контроль:
itadm list-initiator -v INITIATOR NAME CHAPUSER SECRET iqn.2013-02.net.colobridge.pro-book:01:8de284ad181 probook set
На хосте - клиенте под Linux прописать параметры CHAP в файле /etc/iscsi/iscsid.conf
node.session.auth.username = <имя> node.session.auth.password = <пароль> discovery.sendtargets.auth.username = <имя> discovery.sendtargets.auth.password = <пароль>
Монтирование iSCSI target на хосте под Solaris
Настройка авторизации chap:
iscsiadm modify initiator-node --chap-name <user_name> <initiator-iqn> iscsiadm modify initiator-node --chap-secret <initiator-iqn> iscsiadm modify initiator-node --authentication chap <initiator-iqn>
svcadm enable iscsi_initiator iscsiadm add discovery-address x.x.x.x iscsiadm modify discovery –sendtargets enable iscsiadm list target -S
Пролистать доступные диски:
devfsadm -i iscsi format < /dev/null
ISCSI Multipathing
Для включения многоканального доступа к таргетам надо выполнить на клиенте:
scsiadm modify discovery –static enable
Проверить файл /kernel/drv/iscsi.conf
Там должно быть значение
mpxio-disable="no"
Установить статические конфигурации:
iscsiadm add static-config iqn.2010-09.org.openindiana:02:c3ef53a4-fe7d-c15d-dc45-dcdd4ed099d1,10.100.30.73:3260 iscsiadm add static-config iqn.2010-09.org.openindiana:02:8b99aac1-18f3-6f69-9701-da43ddfdf1c6,192.168.1.23:3260
Проверьте /var/adm/messages
Вы должны увидеть degraded после первой команды и optimal после ввода команды второй статической конфигурации.
Проконтролируйте вывод dmesg:
dmesg | grep multipath
Мониторинг
Смотрите также:
Актуальность: 2012/10/22 12:50