Налаштування iscsi-сховища в ubuntu server

Налаштування iscsi-сховища в ubuntu server
Протокол iSCSI набув широкого поширення як простий і недорогий спосіб організації мереж зберігання даних (SAN). Раніше ми розповідали, як організувати iSCSI-сховище на базі серверних операційних систем Windows. незаслужено обділивши увагою вільні ОС. Тому сьогодні ми вирішили усунути цю прогалину і розглянути настройку iSCSI-сховища на базі Ubuntu Server або Debian.

В якості серверної ОС в даному випадку ми вибрали Ubuntu Server 16.04 LTS, однак процес налаштування в її середовищі нічим не відрізняється від Debian або будь-якого іншого дистрибутива, заснованого на будь-який з цих двох систем.

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

Перший пакет являє собою власне програмну мету, а другий є DKMS-модулем ядра для підтримки програмної мети. Технологія DKMS дозволяє динамічно збирати заново модуль при оновленні версії ядра. Тепер вам не треба турбуватися, що ваш модуль перестане працювати після оновлення ядра, система про все подбає сама. У наявності принцип - поставив і забув.

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

Налаштування iscsi-сховища в ubuntu server

Сама збірка буде виконана в процесі установки і може зайняти деякий час.

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

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

Для створення файлу диска ми скористалися командою dd. опція bs вказує розмір блоку - 1 МБ, а опція count - кількість цих блоків. Файл та розширення можуть бути довільними, в нашому випадку це lun0.img.

Для створення програмної мети (таргета) відкриємо файл /etc/iet/ietd.conf і додамо в нього наступні рядки:

Розберемо синтаксис докладніше. Перший рядок задає власне мета, точніше її IQN, це повністю певне ім'я мети, яке записується в форматі:

  • year-mo - рік і місяць реєстрації домену
  • reversed_domain_name - доменне ім'я, записане в зворотному порядку
  • unique_name - унікальне ім'я мети

IncomingUser визначає облікові дані (логін і пароль) для використання саме з цією мети, якщо аутентифікація не вимагається можна залишити порожнім. OutgoingUser - облікові дані для аутентифікації на ініціатора в разі використання взаємної перевірки автентичності, якщо не використовується - також залишається порожнім. Зверніть увагу, відповідно до стандарту, пароль повинен містити рівно 12 символів.

І нарешті Lun описує доступні для цієї мети об'єкти (LUN), яких може бути кілька, нумерація LUN починається з нуля. Path вказує шлях до файлу віртуального диска, а Type вказує тип доступу. Після коми і перед Type пробіл відсутній.

Наприклад, якщо ми хочемо додати в ціль ще один диск, то слід додати рядок:

Закінчивши настройку зберігаємо файл конфігурації і запускаємо службу. Керувати нею краще "по-старому", через /etc/init.d. в цьому випадку ви отримаєте найбільш інформативний висновок і повідомлення про можливі помилки:

Стан запущеної служби можна подивитися командою:

Налаштування iscsi-сховища в ubuntu server

Як мінімум має сенс обмежити доступ тільки мережею зберігання даних, наприклад:

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

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

Як бачимо, настройка iSCSI-сховища на базі Linux гранично проста і дозволяє швидко і з мінімальними витратами розгорнути необхідну інфраструктуру.

Схожі статті