Iscsi storage in linux

Записки IT специалиста

Протокол iSCSI получил широкое распространение как простой и недорогой способ организации сетей хранения данных (SAN). Ранее мы рассказывали, как организовать iSCSI-хранилище на базе серверных операционных систем Windows, незаслуженно обделив вниманием свободные ОС. Поэтому сегодня мы решили устранить этот пробел и рассмотреть настройку iSCSI-хранилища на базе Ubuntu Server или Debian.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Внимание! Начиная с Debian 9 Stretch и Ubuntu 18.04 LTS пакет iSCSI Enterprise Target (iscsitarget) был удален и ему на смену пришел Linux SCSI target (tgt), для настройки которого воспользуйтесь следующей статьей.

В качестве серверной ОС в данном случае мы выбрали Ubuntu Server 16.04 LTS, однако процесс настройки в ее среде ничем не отличается от Debian или любого иного дистрибутива, основанного на любой из этих двух систем.

В Linux-системах в качестве программной цели iSCSI используется iSCSI Enterprise Target (IET) — успевшее зарекомендовать себя надежное и проверенное решение. Для работы с ним потребуется установить два пакета:

apt-get install iscsitarget iscsitarget-dkms

Первый пакет представляет собой собственно программную цель, а второй является DKMS-модулем ядра для поддержки программной цели. Технология DKMS позволяет динамически пересобирать модуль при обновлении версии ядра. Теперь вам не надо беспокоиться, что ваш модуль перестанет работать после обновления ядра, система обо всем позаботится сама. Налицо принцип — поставил и забыл.

Читайте также:  Windows 1251 для linux

Установка потянет за собой довольно много зависимостей, это не удивительно, так как будут установлены все необходимые компоненты для сборки модуля.

iscsi-targer-ubuntu-debian-001.png

Сама сборка будет выполнена в процессе установки и может занять некоторое время.

После установки следует включить автоматический запуск службы цели iSCSI, для этого откройте файл /etc/default/iscsitarget и приведите к следующему виду строку:

Теперь можно приступить к созданию целей. На текущем этапе развития технологий в качестве LUN наиболее удобно использовать файлы виртуальных дисков, хотя никто не мешает вам выделить в LUN дисковое устройство или LVM-том. Прежде всего создадим папку для хранения виртуальных дисков и разместим в ней тестовый диск объемом в 2 ГБ:

mkdir /storage
dd if=/dev/zero of=/storage/lun0.img bs=1M count=2048

Для создания файла диска мы воспользовались командой dd, опция bs указывает размер блока — 1 МБ, а опция count — количество этих блоков. Имя файла и расширение могут быть произвольными, в нашем случае это lun0.img.

Для создания программной цели (таргета) откроем файл /etc/iet/ietd.conf и добавим в него следующие строки:

Target iqn.2009-02.lab.interface31:ubuntu-1604-test-lun0-target 
IncomingUser test Pa$$word1234
OutgoingUser
Lun 0 Path=/storage/lun0.img,Type=fileio

Разберем синтаксис подробнее. Первая строка задает собственно цель, точнее ее IQN, это полностью определенное имя цели, которое записывается в формате:

  • year-mo — год и месяц регистрации домена
  • reversed_domain_name — доменное имя, записанное в обратном порядке
  • unique_name — уникальное имя цели

IncomingUser определяет учетные данные (логин и пароль) для подключения к данной цели, если аутентификация не требуется можно оставить пустым. OutgoingUser — учетные данные для аутентификации на инициаторе в случае использования взаимной проверки подлинности, если не используется — также оставляется пустым. Обратите внимание, согласно стандарту, пароль должен содержать ровно 12 символов.

Читайте также:  Linux install deb dpkg

И наконец Lun описывает доступные для данной цели объекты (LUN), которых может быть несколько, нумерация LUN начинается с нуля. Path указывает путь к файлу виртуального диска, а Type указывает тип доступа. После запятой и перед Type пробел отсутствует.

Например, если мы хотим добавить в цель еще один диск, то следует добавить строку:

Lun 1 Path=/storage/lun1.img,Type=fileio

Закончив настройку сохраняем файл конфигурации и запускаем службу. Управлять ею лучше «по-старинке», через /etc/init.d, в этом случае вы получите наиболее информативный вывод и сообщения о возможных ошибках:

/etc/init.d/iscsitarget start

Состояние запущенной службы можно посмотреть командой:

/etc/init.d/iscsitarget status

iscsi-targer-ubuntu-debian-002.png

Теперь можно попробовать подключитья к нашей цели. В качестве инициатора мы использовали Windows Server 2012R2, который без проблем обнаружил таргет и подключил диск после ввода учетных данных.

iscsi-targer-ubuntu-debian-003.png

Для ограничения доступа к целям служит файл настроек /etc/iet/initiators.allow, содержащий записи об инициаторах, IP-адресах или сетях, которым разрешен доступ. Первым указывается таргет, затем через запятую перечисляются объекты, имеющие к нему доступ. По умолчанию доступ разрешен всем к любым целям:

Как минимум имеет смысл ограничить доступ только сетью хранения данных, например:

При необходимости можно явно ограничить доступ к цели для конкретного инициатора и определенной сети:

iqn.2009-02.lab.interface31:ubuntu-1604-test-lun0-target 192.168.18.0/24, iqn\.1991-05\.com\.microsoft:srv12r2-stor

IQN инициатора может быть записан в виде регулярного выражения, поэтому даже если вы не используете данную возможность, то не забывайте использовать regexp-синтаксис, например, экранирование символа точки.

Как видим, настройка iSCSI-хранилища на базе Linux предельно проста и позволяет быстро и с минимальными затратами развернуть необходимую инфраструктуру.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Читайте также:  Linux firewall and security

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Источник

Оцените статью
Adblock
detector