Налаштування iSCSI Target/Initiator для блокового сховища

Якщо ваша база даних або кластерна файлова система гальмує через накладні витрати NFS, а Fibre Channel не вписується в бюджет, iSCSI стане рішенням. Ми налаштовуємо iSCSI Target та Initiator під ключ — від простого LUN до відмовостійкого multipath з CHAP та jumbo frames. Наша команда експертів забезпечує сумісність з VMware, Hyper-V та СУБД, а також подальшу підтримку, щоб ви отримали надійне блочне сховище без зриву термінів.
Часті запитання

iSCSI — протокол, що передає SCSI-команди по TCP/IP, перетворює Ethernet на канал блокового доступу. Типовий біль: файлова СУБД гальмує на NFS-шарі, оскільки блокування та FSYNC затримуються. iSCSI дає RAW-диск з мінімальною затримкою — додатки бачать його як локальний SCSI. Ми налаштовуємо Target та Initiator під ключ: від простого LUN до відмовостійкого multipath з CHAP та jumbo frames. Сертифіковані інженери з досвідом 10+ років гарантують сумісність з VMware, Hyper-V, кластерними ФС, базами даних. Економія на інфраструктурі: iSCSI на існуючій мережі Ethernet обходиться в 3-5 разів дешевше Fibre Channel (економія до 80% витрат), а при оптимізації дає до 200 000 IOPS. За 150+ проектів ми накопичили кращі практики для будь-яких сценаріїв.

Чому iSCSI, а не NFS?

NFS працює на рівні файлів, додає накладні витрати та блокування. iSCSI передає блокові команди SCSI поверх TCP/IP, надаючи клієнту RAW-диск. Це критично для баз даних (PostgreSQL, MySQL), кластерних ФС (GFS2, OCFS2) та віртуалізації (KVM, Hyper-V). Згідно з RFC 7143, iSCSI забезпечує блоковий доступ з мінімальною затримкою. У тестах fio iSCSI на SSD-масивах показує в 2-3 рази вище IOPS на випадковому записі, ніж NFS при тій самій мережі.

Які типові проблеми вирішує iSCSI?

Перша — висока затримка при роботі з базами даних через NFS (на 50-100% гірше порівняно з iSCSI). Друга — необхідність прямого доступу до блоків для кластерних ФС (GFS2, OCFS2) або СУБД з власним менеджментом кешу. Третя — бюджетні обмеження: Fibre Channel обходиться в 3-5 разів дорожче, а iSCSI працює поверх існуючої Ethernet-інфраструктури. Четверта — міграція з фізичних серверів на віртуалізацію: iSCSI дозволяє підключати блокові томи до гостьової ОС без додаткового software.

Як налаштувати target на Linux за допомогою targetcli

  1. Встановлюємо targetcli: apt install targetcli-fb.
  2. Створюємо блокові сховища та target:
/> backstores/block create name=lun-db dev=/dev/sdb
/> backstores/block create name=lun-app dev=/dev/sdc
/> iscsi/ create iqn.2024-01.com.example:storage01
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/luns create /backstores/block/lun-db
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/luns create /backstores/block/lun-app
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/acls create iqn.2024-01.com.example:dbserver01
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/acls create iqn.2024-01.com.example:appserver01
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/portals delete ip_address=0.0.0.0 ip_port=3260
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/portals create 192.168.20.10 3260
/> saveconfig

Виділіть iSCSI на окремий VLAN — трафік сховища не конкурує з application-трафіком. Автозапуск: systemctl enable --now rtslib-fb-targetctl. Для повторюваних розгортань ми використовуємо Ansible — конфігурація версіонується в Git та відтворюється за хвилини.

Як захистити iSCSI за допомогою CHAP?

Без CHAP будь-який initiator з потрібним IQN отримує доступ. Налаштовуємо взаємну аутентифікацію:

/> iscsi/iqn.2024-01.com.example:storage01/tpg1 set attribute authentication=1
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/acls/iqn.2024-01.com.example:dbserver01/ set auth userid=dbserver01
/> iscsi/iqn.2024-01.com.example:storage01/tpg1/acls/iqn.2024-01.com.example:dbserver01/ set auth password=складний-пароль-16+символів
/> saveconfig

Пароль має бути не менше 16 символів — це блокує підбір.

Як налаштувати initiator

На клієнтському сервері:

apt install open-iscsi
# задаємо IQN в /etc/iscsi/initiatorname.iscsi:
InitiatorName=iqn.2024-01.com.example:dbserver01
# CHAP в /etc/iscsi/iscsid.conf:
node.session.auth.authmethod = CHAP
node.session.auth.username = dbserver01
node.session.auth.password = складний-пароль-16+символів
# виявлення та підключення:
iscsiadm -m discovery -t sendtargets -p 192.168.20.10:3260
iscsiadm -m node -T iqn.2024-01.com.example:storage01 -p 192.168.20.10:3260 --login
# автопідключення:
iscsiadm -m node -T iqn.2024-01.com.example:storage01 -p 192.168.20.10:3260 --op update -n node.startup -v automatic
systemctl enable iscsid open-iscsi

Після підключення перевіряємо сесію: iscsiadm -m session -P3 та бачимо новий диск в lsblk.

Як налаштувати multipath для відмовостійкості

Якщо target доступний по двох мережевих інтерфейсах, налаштовуємо multipath для автоматичного перемикання:

apt install multipath-tools
# /etc/multipath.conf:
defaults {
    user_friendly_names yes
    path_grouping_policy failover
    failback immediate
    no_path_retry 5
}
blacklist {
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
}
multipaths {
    multipath {
        wwid 360000000000000001
        alias db-storage
    }
}
systemctl enable --now multipathd
multipath -ll

Після налаштування працюємо з /dev/mapper/db-storage — при відмові одного шляху multipath перемикає на інший з часом failover менше 1 секунди.

Як оптимізувати продуктивність iSCSI

Для розкриття потенціалу SSD-масивів налаштовуємо jumbo frames (MTU 9000) на storage VLAN. Параметри сесії збільшують глибину черги:

ip link set eth1 mtu 9000 # в /etc/iscsi/iscsid.conf: node.session.cmds_max = 1024 node.session.queue_depth = 128 node.conn[0].timeo.noop_out_interval = 5 node.conn[0].timeo.noop_out_timeout = 5 

Ці налаштування збільшують пропускну здатність до 40% на великих блоках. При правильній конфігурації iSCSI дає затримки < 1 мс, що порівняно з Fibre Channel. Додатково можна застосувати iSCSI Direct Connect для ізольованих середовищ.

Типові помилки при налаштуванні iSCSI

  • Використання MTU 1500 без jumbo frames на storage VLAN — падіння IOPS на 20-30%.
  • Відсутність CHAP — ризик несанкціонованого доступу.
  • Один мережевий шлях без multipath — єдина точка відмови.
  • Занадто короткі паролі CHAP (< 16 символів) — легко підбираються.
  • Неправильна конфігурація дисків на target (write-back vs write-through) — для критичних даних тільки write-through.
Порівняння iSCSI NFS Fibre Channel
Рівень доступу блоковий файловий блоковий
Типова затримка < 1 мс 1-5 мс < 0.5 мс
Вартість низька (від $500 за TCO) низька висока (від $2000)
Підтримка кластерних ФС так ні так

Коли варто вибрати iSCSI замість Fibre Channel?

Fibre Channel дає мінімальну затримку та ізоляцію, але потребує дорогого обладнання. iSCSI на 10GbE з правильним налаштуванням наближається за характеристиками, але обходиться в 3-5 разів дешевше (економія до 80% капітальних витрат). Якщо в інфраструктурі вже є Ethernet-комутатори з підтримкою jumbo frames та енергонезалежних черг, iSCSI — економічне рішення. Для середовищ з критичною затримкою (< 0.5 мс) досі краще Fibre Channel, але для 95% завдань вистачить iSCSI.

Що входить у налаштування iSCSI

Етап Результат
Аудит поточної мережі та навантажень Звіт з рекомендаціями щодо VLAN, MTU, мережевих інтерфейсів
Проектування схеми LUN та ACL Карта доступів за IQN та CHAP
Реалізація target+initiator Працююче сховище з multipath (за потреби)
Інтеграція з вашим кластером Налаштування Pacemaker/Corosync для автоматичного перемикання target
Тестування продуктивності Навантажувальне тестування (fio) з вимірами IOPS та затримки
Документація та навчання Runbook з обслуговування, опис аварійних процедур

Орієнтовні строки: від 1 дня (базова конфігурація) до 4 днів (з кластером). Вартість розраховується після аудиту. Зв'яжіться з нами — оцінимо вашу інфраструктуру та запропонуємо оптимальну конфігурацію. Гарантуємо: всі налаштування покриті документацією, конфігурації відтворювані через Ansible (за запитом). Замовте аудит iSCSI-інфраструктури — отримайте детальний план міграції та розрахунок продуктивності.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142