Установка та базове налаштування iscsi lio target на centos 7

У записці буде розказано про установку і базове налаштування iSCSI LIO таргета на CentOS 7. Починаючи з версії CentOS 6.2 він став доступний в системі за замовчуванням. Він потрібен для організації СГД - системи зберігання даних.

Що дає установка LIO Target:

- це доступ по протоколу iSCSI до сховище даних

- популярність такого рішення

- надання блочного пристрою по протоколу iSCSI

- проста установка і настройка Target'a

Простими словами про сховище даних iSCSI: Всі знають що у кожного комп'ютера повинен бути жорсткий диск, припустимо є комп'ютер [Таргет] який має 10 Тбайтовий диск. Крім комп'ютера з 10 Тбайтним жорстким диском, в локальній мережі також є інший комп'ютер [Ініціатор], з диском маленького обсягу - 80 Гбайт, на якому стоїть тільки операційна система.

І ось, в один прекрасний день, знадобилося, щоб на комп'ютері [ініціатором] з 80 Гбайтовом жорстким диском, розмішалися загальні папки з даними співробітників. Зрозуміло що вінчестер з малим об'ємом, не зможе утримувати настільки великі дані. Щоб не додавати додатковий жорсткий диск для загальних папок до цього ПК, у нас з технологією iSCSI, з'являється можливість використання місця, з великого 10 Тбайтного жорсткого диска іншого комп'ютера (таргета) локальної мережі, так як ніби на комп'ютері з 80 Гбайтное HDD з'явився новий жорсткий диск / розділ (lun) великого обсягу. Через iSCSI (протокол) можна легко отримувати по мережі доступ до дискового простору іншого комп'ютера (сервера). Таким чином виходить, що комп'ютер з мізерним обсягом вінчестера, може виступати в якості сервера для загальних папок, не маючи фізично підключеного жорсткого диска достатнього обсягу, при цьому, використовуючи необхідне місце в вигляді розділу по мережі, з сервера (таргета) який має необхідний дисковим простором.

Зазвичай під Таргет розуміється сервер з апаратним рейд контролером і швидкими жорсткими або твердотільними дисками. В добавок у такої машини повинні бути швидкі мережеві адаптери 10Гбіт і вище.

А під Ініціатором мається на увазі будь-який сервер якому потрібно дисковий простір, це може бути наприклад поштовий сервер, сервер віртуалізації, веб сервер і т.д.

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

І звичайно ж, крім двох СГД для підвищення відмовостійкості, вам буде потрібно стекові свічі, кілька мережевих карт (multipath), настройка фенсінга і т.д.

1. Таргет - це сховище даних з якого береться дисковий простір

2. Ініціатор - це той хто використовує місце яке надає Таргет

3. Lun - це розділ який надається Таргет для Ініціатора, щоб останній писав і зчитував дані з нього.

Установка та базове налаштування iscsi lio target на centos 7

- Сервер 1 - 10.0.100.2 / CentOS / Target

- Сервер 2 - 10.0.100.1 / Windows / Iniciator

Примітка: На зображенні два сервера, перший з ліва - це машина з гіпервізором KVM на ОС Linux CentOS, друга машина з права - це сховище даних на ОС CentOS, де встановлений ISCSI LIO Target.

Я покажу приклад коли буде використаний SCSI LIO Target на CentOS в зв'язці з ініціатором на ОС Windows. По суті немає ніякої різниці в плані різниці ОС, будь хоч Linux або Windows. Всі сучасні операційні системи підтримують протокол iSCSI, так як це промисловий стандарт.

1. Установка targetcli

2. Налаштування iSCSI target

2.1. очищаємо конфігурацію

2.2. Створення сховище даних

2.7. створюємо portal

2.8. Зберігаємо налаштування в конфігураційний файл

2.9. Ставимо в автозавантаження targetcli

3. Налаштовуємо ініціатор

1. Установка і запуск targetcli

Я буду робити все операції з під облікового запису Адміністратора - root.

Почнемо відразу з установки LIO:

# Yum install targetcli -y

# Systemctl enable target

# Systemctl start target

Відключення selinux і firewalld

До початку тестування, попередньо були відключені selinux і firewalld.

# Systemctl disable firewalld

# Systemctl stop firewalld

# Systemctl status firewalld | grep Active

Active: inactive (dead)

Якщо налаштовуєте Firewall, то відкрийте порт 3260.

2. Налаштування iSCSI target

Тут буде описана настройка підлеглого пристрою - цілі. Підлеглий пристрій буде віддавати місце ініціатору.

2.1. очищаємо конфігурацію

# Targetcli clearconfig confirm = true

2.2. Створення сховище даних

Для прикладу, буде відданий цілий жорсткий диск.

Дивимося які диски є в системі:

# Fdisk -l | grep sd

Disk / dev / sda: 8589 MB, 8589934592 bytes, 16777216 sectors

/ Dev / sda2 1026048 16777215 7875584 8e Linux LVM

Disk / dev / sdb: 87.0 GB, 86976561152 bytes, 169876096 sectors

Бачимо що є наш диск / dev / sdb. Його і будемо використовувати для прикладу.

> Cd / backstores / block

> Create hdd_block1 / dev / sdb

Created block storage object hdd_block1 using / dev / sdb.

| o- block. [Storage Objects: 1]

| | o- hdd_block1. [/ Dev / sdb (81.0GiB) write-thru deactivated]

| o- fileio. [Storage Objects: 0]

| o- pscsi. [Storage Objects: 0]

| o- ramdisk. [Storage Objects: 0]

o- iscsi. [Targets: 0]

| o- tpg1. [No-gen-acls, no-auth]

| o- portals. [Portals: 0]

o- loopback. [Targets: 0]

Бачимо що з'явився наш жорсткий диск sdb.

Тут в прикладі відданий цілий жорсткий диск, щоб віддати розділ або файл, зробіть наприклад так:

> Cd / backstores / fileio /

> Create shareddata /opt/shareddata.img 100M

Або якщо LVM розділ:

> Cd backstores / block /

> Create block1 / dev / vg / lv_iscsi

/ Iscsi> set discovery_auth enable = 0

Parameter enable is now 'False'.

wwn - це унікальний ідентифікатор, який визначає конкретне цільове пристрій (таргет).

o- iscsi. [Targets: 1]

o- portals. [Portals: 0]

Примітка: Зазвичай його обзивають ставлячи поточну дату, ім'я компанії і в кінці вказують номер таргета або хост, ось приклад - iqn.год-месяц.com.названіе компанії: t1

/iscsi/iqn.20. 5b94cfd9bd9a> cd tpg1 / luns

/iscsi/iqn.20. d9a / tpg1 / luns> create / backstores / block / hdd_block1

Все, ми створили перший LUN.

Примітка: При наборі команд можна використовувати клавішу TAB, це полегшує роботу.

/iscsi/iqn.20. d9a> cd tpg1

/iscsi/iqn.20. d9a / tpg1> cd acls

Created mapped LUN 0.

2.7. створюємо portal

/iscsi/iqn.20. 5b94cfd9bd9a> cd tpg1 / portals

/iscsi/iqn.20. / Tpg1 / portals> create

Using default IP port 3260

Binding to INADDR_ANY (0.0.0.0)

Created network portal 0.0.0.0:3260.

Примітка: TPG - розшифровується як Target Portal Group (Цільова група портал)

2.8. Зберігаємо налаштування в конфігураційний файл

/iscsi/iqn.20. / Tpg1 / portals> cd /

Last 10 configs saved in / etc / target / backup.

Configuration saved to /etc/target/saveconfig.json

3. Налаштовуємо ініціатор

В цьому розділі запустимо ініціатор, налаштуємо доступ до LUN яка розташована на CentOS 7.

Тому щоб налаштувати доступ до сховища даних не треба ставити додаткового ПЗ.

Ми прописали в CentOS що доступ до LUN має хост - node01, на якому у нас встановлена ​​Windows.

Ім'я хоста можна налаштувати через властивості "Мій комп'ютер" -> далі у вкладці "Ім'я комп'ютера" натиснути кнопку змінити і там задати ім'я хоста.

Установка та базове налаштування iscsi lio target на centos 7

Установка та базове налаштування iscsi lio target на centos 7

Установка та базове налаштування iscsi lio target на centos 7

Йдемо у вкладку - Targets:

Установка та базове налаштування iscsi lio target на centos 7

Установка та базове налаштування iscsi lio target на centos 7

Тут натискаємо - Done.

Все - тепер у нас в системі з'явився жорсткий диск з розміром в 80 Гбайт.

Його треба відформатувати і використовувати.

Якщо у вас глюк, і diskmgmt.msc пише що диск оффлайн - "the disk is offline because of policy set by an administrator", виконайте наступне:

Введіть в командному рядку послідовно:

DISKPART> san policy = OnlineAll

DISKPART> list disk

* Disk 1 Offline 80 Gb

DISKPART> select disk 1

DISKPART> ATTRIBUTES DISK CLEAR READONLY

DISKPART> ONLINE DISK

DiskPart successfully onlined the selected disk.

Запустимо diskmgmt.msc, щоб подивитися які диски є:

Установка та базове налаштування iscsi lio target на centos 7

Установка та базове налаштування iscsi lio target на centos 7

Бачимо диск Disk1 з об'ємом в 81GB, його ми отримали від CentOS через локальну мережу.

Установка та базове налаштування iscsi lio target на centos 7

Установка та базове налаштування iscsi lio target на centos 7

Після цих операцій, можна працювати з диском від CentOS як зазвичай :)

Схожі статті