Настройка и использование iSCSI

iSCSI (Internet Small Computer System Interface) — это сетевой протокол, который позволяет устройствам хранения данных взаимодействовать по IP-сетям. С помощью iSCSI можно подключать удаленные диски и использовать их как локальные. В данной документации мы рассмотрим настройку и использование iSCSI в операционной системе НАЙС ОС, включая настройку iSCSI таргета (сервера) и инициализатора (клиента).

Установка и настройка iSCSI таргета

iSCSI таргет — это сервер, предоставляющий доступ к устройствам хранения данных через протокол iSCSI.

Установка iSCSI таргета

Для установки iSCSI таргета используйте dnf:


sudo dnf install targetcli

Настройка iSCSI таргета

После установки targetcli приступим к настройке iSCSI таргета.

Запуск targetcli


sudo targetcli

Создание iSCSI бекенда

Создайте директорию для хранения iSCSI бекенда:


mkdir -p /iscsi_disks

Создайте виртуальный диск для iSCSI таргета:


dd if=/dev/zero of=/iscsi_disks/disk1.img bs=1M count=1024

Войдите в командный интерфейс targetcli и создайте бекенд:


cd /backstores/fileio
create disk1 /iscsi_disks/disk1.img

Создание iSCSI таргета

Перейдите в директорию iSCSI и создайте таргет:


cd /iscsi
create iqn.2023-06.com.example:target1

Добавление LUN к таргету

Перейдите в директорию созданного таргета и добавьте LUN (Logical Unit Number):


cd iqn.2023-06.com.example:target1/tpg1/luns
create /backstores/fileio/disk1

Добавление ACL (Access Control List)

Добавьте инициализатор в ACL, чтобы разрешить доступ к таргету:


cd /iscsi/iqn.2023-06.com.example:target1/tpg1/acls
create iqn.2023-06.com.example:initiator1

Сохранение конфигурации и выход

Сохраните конфигурацию и выйдите из targetcli:


exit

Запуск службы iSCSI таргета

Запустите и настройте автозапуск службы iSCSI таргета:


sudo systemctl start target
sudo systemctl enable target

Установка и настройка iSCSI инициализатора

iSCSI инициализатор — это клиент, подключающийся к iSCSI таргету и использующий его устройства хранения данных.

Установка iSCSI инициализатора

Для установки iSCSI инициализатора используйте dnf:


sudo dnf install iscsi-initiator-utils

Настройка iSCSI инициализатора

После установки приступим к настройке iSCSI инициализатора.

Настройка имени инициализатора

Откройте файл /etc/iscsi/initiatorname.iscsi для редактирования и укажите имя инициализатора:


sudo nano /etc/iscsi/initiatorname.iscsi

Добавьте или измените строку:

InitiatorName=iqn.2023-06.com.example:initiator1

Перезапуск службы iSCSI

Перезапустите службу iSCSI:


sudo systemctl restart iscsi

Подключение к iSCSI таргету

Для подключения к iSCSI таргету выполните следующие шаги:

Дискавери iSCSI таргетов

Выполните команду дискавери для обнаружения доступных таргетов:


sudo iscsiadm -m discovery -t sendtargets -p target_ip

Где target_ip — IP-адрес iSCSI таргета.

Логин к iSCSI таргету

Выполните логин к обнаруженному таргету:


sudo iscsiadm -m node -T iqn.2023-06.com.example:target1 -p target_ip --login

Проверка состояния подключения

Проверьте состояние подключения с помощью команды iscsiadm:


sudo iscsiadm -m session -o show

Использование подключенного iSCSI диска

После успешного подключения к iSCSI таргету подключенный диск будет доступен как устройство в системе. Используйте команду lsblk для отображения списка устройств:


lsblk

Создайте файловую систему на подключенном iSCSI диске (например, /dev/sdX):


sudo mkfs.ext4 /dev/sdX

Смонтируйте подключенный iSCSI диск:


sudo mkdir -p /mnt/iscsi_disk
sudo mount /dev/sdX /mnt/iscsi_disk

Автоматическое подключение при загрузке

Для автоматического подключения iSCSI диска при загрузке системы добавьте соответствующую запись в /etc/fstab:


sudo nano /etc/fstab

Добавьте следующую строку:

/dev/sdX /mnt/iscsi_disk ext4 defaults,_netdev 0 0

Мониторинг и управление iSCSI

Мониторинг и управление iSCSI соединениями и устройствами позволяет поддерживать их стабильную работу и быстро реагировать на возможные проблемы.

Проверка состояния iSCSI соединений

Используйте команду iscsiadm для проверки состояния активных iSCSI соединений:


sudo iscsiadm -m session -o show

Отключение от iSCSI таргета

Для отключения от iSCSI таргета используйте команду iscsiadm --logout:


sudo iscsiadm -m node -T iqn.2023-06.com.example:target1 -p target_ip --logout

Удаление iSCSI узла

Для удаления iSCSI узла из конфигурации используйте команду iscsiadm --remove:


sudo iscsiadm -m node -o delete -T iqn.2023-06.com.example:target1

Логирование

Для диагностики и устранения проблем используйте журналы iSCSI. Логи можно найти в директории /var/log:


sudo tail -f /var/log/messages

Обеспечение безопасности iSCSI

Обеспечение безопасности iSCSI соединений включает использование аутентификации и шифрования для защиты данных от несанкционированного доступа.

Настройка CHAP аутентификации

CHAP (Challenge-Handshake Authentication Protocol) обеспечивает дополнительный уровень безопасности при подключении к iSCSI таргету.

Настройка CHAP на iSCSI таргете

Войдите в командный интерфейс targetcli и настройте CHAP для таргета:


sudo targetcli
cd /iscsi/iqn.2023-06.com.example:target1/tpg1
set attribute authentication=1
cd acls/iqn.2023-06.com.example:initiator1
set auth userid=your_username
set auth password=your_password
exit

Настройка CHAP на iSCSI инициализаторе

Откройте файл /etc/iscsi/iscsid.conf для редактирования и укажите имя пользователя и пароль для CHAP аутентификации:


sudo nano /etc/iscsi/iscsid.conf

Добавьте или измените строки:

node.session.auth.username = your_username
node.session.auth.password = your_password

Перезапустите службу iSCSI для применения изменений:


sudo systemctl restart iscsi

Шифрование iSCSI трафика

Для защиты данных в транзите можно использовать шифрование на уровне сети, такое как IPsec.

Настройка IPsec

Установите и настройте IPsec для шифрования трафика между iSCSI таргетом и инициализатором:


sudo dnf install libreswan

Откройте файл /etc/ipsec.conf для редактирования и добавьте настройки IPsec:


sudo nano /etc/ipsec.conf

Добавьте следующую конфигурацию:

config setup
    protostack=netkey
    interfaces=%defaultroute

conn iscsi
    left=initiator_ip
    right=target_ip
    authby=secret
    auto=start
    type=transport
    esp=aes256-sha1

Откройте файл /etc/ipsec.secrets и добавьте секрет для аутентификации:


sudo nano /etc/ipsec.secrets

Добавьте следующую строку:

initiator_ip target_ip : PSK "your_secret_key"

Перезапустите службу IPsec для применения изменений:


sudo systemctl restart ipsec

Заключение

Настройка и использование iSCSI в НАЙС ОС предоставляет мощные возможности для организации сетевых хранилищ и подключения удаленных дисков. С помощью iSCSI можно эффективно управлять устройствами хранения данных, обеспечивать отказоустойчивость и безопасность данных. Следуя приведенным инструкциям и примерам, вы сможете настроить и использовать iSCSI в НАЙС ОС для решения различных задач хранения данных.