Поиск по сайту:

Создание централизованного безопасного хранилища с использованием цели/инициатора 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 с инициатором клиента.