Создание централизованного безопасного хранилища с использованием цели/инициатора iSCSI в RHEL/CentOS 7 — часть 12
iSCSI — это протокол блочного уровня для управления устройствами хранения данных в сетях TCP/IP, особенно на больших расстояниях. Цель iSCSI — это удаленный жесткий диск, предоставляемый удаленным сервером iSCSI (или) целью. С другой стороны, клиент iSCSI называется Инициатором и будет иметь доступ к хранилищу, которое является общим на Целевой машине.
В этой статье были использованы следующие машины:
Сервер (Цель):
Operating System – Red Hat Enterprise Linux 7
iSCSI Target IP – 192.168.0.29
Ports Used : TCP 860, 3260
Клиент (Инициатор):
Operating System – Red Hat Enterprise Linux 7
iSCSI Target IP – 192.168.0.30
Ports Used : TCP 3260
Шаг 1. Установка пакетов на iSCSI Target
Чтобы установить необходимые для таргета пакеты (клиентом мы займемся позже), выполните:
yum install targetcli -y
Когда установка завершится, мы запустим и включим службу следующим образом:
systemctl start target
systemctl enable target
Наконец, нам нужно разрешить службу в firewalld:
firewall-cmd --add-service=iscsi-target
firewall-cmd --add-service=iscsi-target --permanent
И последнее, но не менее важное: мы не должны забыть разрешить обнаружение целей iSCSI:
firewall-cmd --add-port=860/tcp
firewall-cmd --add-port=860/tcp --permanent
firewall-cmd --reload
Шаг 2. Определение LUN на целевом сервере
Прежде чем приступить к определению LUN в Target, нам необходимо создать два логических тома, как описано в части 6 серии RHCSA («Настройка системного хранилища»). »).
На этот раз мы назовем их vol_projects
и vol_backups
и поместим их в группу томов с именем vg00
, как показано на рис. 1. Не стесняйтесь выберите пространство, выделенное каждому LV:
После создания LV мы готовы определить LUN в Target, чтобы сделать их доступными для клиентского компьютера.
Как показано на рис. 2, мы откроем оболочку targetcli
и выполним следующие команды, которые создадут два резервных хранилища блоков (локальные ресурсы хранения, представляющие LUN, который фактически будет использовать инициатор) и Полное имя Iscsi (IQN), метод обращения к целевому серверу.
Пожалуйста, обратитесь к странице 32 RFC 3720 для получения более подробной информации о структуре IQN. В частности, текст после символа двоеточия (:tgt1)
указывает имя цели, а текст перед (server:)
указывает имя хоста цели внутри домен.
targetcli
cd backstores
cd block
create server.backups /dev/vg00/vol_backups
create server.projects /dev/vg00/vol_projects
cd /iscsi
create iqn.2016-02.com.tecmint.server:tgt1
С помощью описанного выше шага была создана новая TPG (Целевая группа порталов) вместе с порталом по умолчанию (пара, состоящая из IP-адреса и порта, по которым инициаторы может достичь цели) прослушивает порт 3260 всех IP-адресов.
Если вы хотите привязать свой портал к определенному IP-адресу (например, к основному IP-адресу цели), удалите портал по умолчанию и создайте новый следующим образом (в противном случае пропустите следующие команды targetcli. style="color:red;">Обратите внимание, что для простоты мы их также пропустили):
cd /iscsi/iqn.2016-02.com.tecmint.server:tgt1/tpg1/portals
delete 0.0.0.0 3260
create 192.168.0.29 3260
Теперь мы готовы приступить к созданию LUN. Обратите внимание, что мы используем ранее созданные резервные хранилища (server.backups
и server.projects
). Этот процесс проиллюстрирован на рис. 3:
cd iqn.2016-02.com.tecmint.server:tgt1/tpg1/luns
create /backstores/block/server.backups
create /backstores/block/server.projects
Последняя часть целевой конфигурации состоит из создания списка контроля доступа для ограничения доступа для каждого инициатора. Поскольку наш клиентский компьютер называется «клиент», мы добавим этот текст к IQN. См. рис. 4 для получения подробной информации:
cd ../acls
create iqn.2016-02.com.tecmint.server:client
На этом этапе мы можем использовать оболочку targetcli для отображения всех настроенных ресурсов, как мы видим на рис. 5:
targetcli
cd /
ls
Чтобы выйти из оболочки targetcli, просто введите exit и нажмите Enter. Конфигурация будет автоматически сохранена в /etc/target/saveconfig.json.
Как вы можете видеть на рис. 5 выше, у нас есть портал, прослушивающий порт 3260 всех IP-адресов, как и ожидалось. В этом можно убедиться с помощью команды netstat (см. Рис. 6):
netstat -npltu | grep 3260
На этом настройка Цели завершена. Не стесняйтесь перезапустить систему и убедиться, что все настройки сохраняются после перезагрузки. Если нет, обязательно откройте необходимые порты в конфигурации брандмауэра и запустите целевую службу при загрузке. Теперь мы готовы настроить инициатор и подключиться к клиенту.
Шаг 3. Настройка инициатора клиента
В клиенте нам нужно будет установить пакет iscsi-initiator-utils, который предоставляет демон сервера для протокола iSCSI (iscsid), а также iscsiadm<, утилита администрирования:
yum update && yum install iscsi-initiator-utils
После завершения установки откройте /etc/iscsi/initiatorname.iscsi и замените имя инициатора по умолчанию (комментарий на рис. 7) на имя, которое ранее было установлено в ACL на сервере (iqn.2016-02.com.tecmint.server:client).
Затем сохраните файл и запустите iscsiadm в режиме обнаружения, указав на цель. В случае успеха эта команда вернет целевую информацию, как показано на рис. 7:
iscsiadm -m discovery -t st -p 192.168.0.29
Следующий шаг — перезапуск и включение службы iscsid:
systemctl start iscsid
systemctl enable iscsid
и контакт с целью в режиме узла. Это должно привести к появлению сообщений уровня ядра, которые при захвате с помощью dmesg показывают идентификацию устройства, которую удаленные LUN получили в локальной системе (sde и sdf на рис. 8):
iscsiadm -m node -T iqn.2016-02.com.tecmint.server:tgt1 -p 192.168.0.29 -l
dmesg | tail
С этого момента вы можете создавать разделы или даже логические тома (и файловые системы поверх них), как если бы вы делали это с любым другим устройством хранения данных. Для простоты мы создадим на каждом диске основной раздел, который будет занимать все доступное пространство, и отформатируем его с помощью ext4.
Наконец, давайте смонтируем /dev/sde1 и /dev/sdf1 в /projects и /backups соответственно ( обратите внимание, что эти каталоги необходимо сначала создать):
mount /dev/sde1 /projects
mount /dev/sdf1 /backups
Кроме того, вы можете добавить две записи в /etc/fstab, чтобы обе файловые системы автоматически монтировались при загрузке с использованием UUID каждой файловой системы, возвращаемого blkid . .
Обратите внимание, что необходимо использовать параметр монтирования _netdev, чтобы отложить монтирование этих файловых систем до запуска сетевой службы:
Теперь вы можете использовать эти устройства так же, как и любые другие носители данных.
Краткое содержание
В этой статье мы рассмотрели, как настроить цель iSCSI и инициатор в дистрибутивах RHEL/CentOS 7. Хотя первое задание не входит в число обязательных компетенций экзамена EX300 (RHCE), оно необходимо для реализации второй темы.
Не стесняйтесь сообщать нам, если у вас есть какие-либо вопросы или комментарии по поводу этой статьи – не стесняйтесь, напишите нам, используя форму комментариев ниже.
Если вы хотите настроить цель iSCSI и инициатор клиента в RHEL/CentOS 6, следуйте этому руководству: Настройка централизованного хранилища iSCSI с инициатором клиента.