Настройка iSCSI target и initiator на Linux

Сам по себе iSCSI — это протокол передачи команд SCSI по IP сетям.

Настройка iSCSI target:

Ставим пакеты:
redhat: yum install scsi-target-utils
debian: apt-get install tgt

Теперь решаем, что будем шарить. Самое удобное — пользоваться виртуальным томом LVM — я взял описанный в прошлой статье. Убеждаемся что этот раздел отмонтирован.

Правим конфиг:
vi /etc/tgt/targets.conf
Там в конце прописываем следующее:

#после слова target - название нашей шары, составляется как (iqn.<год>-<месяц>.<наш домен в обратном порядке>:<название шары>)
# том, который будем шарить, может быть и файлом на диске
backing-store /dev/mapper/stripe_group-data_array
# IP клиента, которому будет видна шара (если не ставим ничего, будет видно всем желающим - крайне рисковано!)
initiator-address 10.0.0.31
# пользователь и пароль, тоже не обязательно
incominguser username password

Запускаем!
(в debian нету этого init скрипта, предлагается его нагуглить самостоятельно)
/etc/init.d/tgtd start
Проверяем работу:
tgtadm --mode target --op show
должны увидеть два экспорта — первый (LUN 0) создаётся системой, второй (LUN 1) — то, что мы только что настроили
если так и есть — всё отлично! Проверяем чтоб был открыт порт 3260 в iptables и переходим на клиентскую сторону.
Также если тестируем с файлом а не LVM, нужно убедиться что для файла прописан selinux контекст (или пихаем его в /var/lib/tgtd/ где контексты существуют)
Включаем наш сервис по умолчанию:
redhat: chkconfig tgtd on
debian: update-rc.d tgtd defaults

Настройка iSCSI initiator:

Тут всё не более сложно.
Для начала проверяем что мы можем достучаться до target’a — если telnet на порт 3260 ничего не даёт — устраняем ограничение в сети.
Теперь ставим софт
redhat: yum install iscsi-initiator-utils
debian: apt-get install open-iscsi

Если на сервере настроена аутентификация, правим конфиг:
vi /etc/iscsi/iscsid.conf
# раскоментируем
node.session.auth.authmethod = CHAP
# проставляем пользователя и пароль
node.session.auth.username = username
node.session.auth.password = password

теперь сканируем наш target сервер для обнаружения доступных дисков:
iscsiadm -m discovery -t sendtargets -p 10.0.0.30
должны увидеть:

Starting iscsid: Loading iSCSI transport class v2.0-870.
[ OK ]
10.0.0.30:3260,1 iqn.2011-07.world.server:target0

Отлично! Подключаемся к таргету:
iscsiadm -m node --login
Видим:

Logging in to [iface: default, target: iqn.2011-07.world.server:target0, portal: 10.0.0.30,3260]
Login to [iface: default, target: iqn.2011-07.world.server:target0, portal: 10.0.0.30,3260] successful.

Готово. Теперь у нас в системе появилось новое блочное устройство!
Проверим:
cat /proc/partitions
Видим новый диск /dev/sdb

major minor #blocks name
8 0 31457280 sda
8 1 512000 sda1
8 2 30944256 sda2
8 16 104857600 sdb

Включаем службу по умолчанию
redhat: chkconfig iscsid on
debian: прописываем node.startup = automatic в /etc/iscsi/iscsid.conf

Теперь делаем с новым диском то-же что и с обычным (создаём таблицу разделов, сами разделы с любыми файловыми системами, монтируем их).

Источник


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2019

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!