Определение простыми словами
iSCSI (Internet Small Computer Systems Interface) — это протокол, который заворачивает SCSI-команды в TCP-пакеты и отправляет их по обычной IP-сети. На стороне сервера хранения работает target, на стороне клиента — initiator. Для операционной системы iSCSI-LUN выглядит как локальный блочный диск: его можно разбивать на разделы, форматировать в ext4/XFS/NTFS, использовать под виртуальные машины и базы данных. Альтернатива дорогой Fibre Channel SAN на обычном Ethernet.
Протокол использует порт 3260/TCP. Авторизация через CHAP, опционально шифрование через IPsec. В отличие от файловых протоколов NFS и SMB, которые отдают файловую систему, iSCSI отдаёт сырые блоки — клиент сам решает, как их использовать. Это критично для кластеров VMware, Hyper-V, Proxmox и для систем с собственной файловой системой типа ZFS.
Сравнение
| Протокол | Уровень | Среда | Применение |
|---|---|---|---|
| iSCSI | Блочный | TCP/IP, Ethernet | SAN на стандартной сети |
| Fibre Channel | Блочный | FC HBA, FC switch | Корпоративные SAN |
| NFS | Файловый | TCP/IP | Общие файлы Linux/Unix |
| SMB | Файловый | TCP/IP | Сетевые шары Windows |
Кейсы использования
- Подключение СХД к узлам гипервизора в кластере Proxmox VE или ESXi для shared storage.
- Бэкап-таргеты Veeam, Bacula, Bareos на отдельный сторадж по iSCSI.
- Расширение локального диска сервера за счёт удалённого LUN без замены оборудования.
- Лабораторные стенды: один target обслуживает несколько initiator-ов, экономит место.
- Негативный сценарий: чувствителен к качеству сети — потери пакетов и высокая latency приводят к задержкам ввода-вывода и зависшим сессиям. Под продакшен — отдельный VLAN, jumbo frames, multipath.
Технические детали
Минимальный target на Linux через targetcli и подключение initiator:
apt install targetcli-fb open-iscsi
targetcli
/> /backstores/fileio create disk1 /var/lib/iscsi/disk1.img 50G
/> /iscsi create iqn.2026-05.ru.example:storage.disk1
/> /iscsi/iqn.2026-05.ru.example:storage.disk1/tpg1/luns create /backstores/fileio/disk1
/> /iscsi/iqn.2026-05.ru.example:storage.disk1/tpg1/acls create iqn.2026-05.ru.example:client01
/> saveconfig
iscsiadm -m discovery -t st -p 10.0.0.10
iscsiadm -m node -T iqn.2026-05.ru.example:storage.disk1 -p 10.0.0.10 -l
lsblk
На стороне клиента после login появится новое блочное устройство /dev/sdX. Дальше — partprobe, mkfs, монтирование. Для отказоустойчивости включают multipath-tools и ходят к target по двум независимым сетевым путям.
🔥 Где это применяется
Частые вопросы
Чем iSCSI отличается от NFS?
iSCSI отдаёт сырые блоки, клиент сам форматирует и обслуживает файловую систему. NFS работает на уровне файлов: сервер сам управляет ФС, клиент монтирует готовый каталог.
Можно ли использовать iSCSI без специальной сети?
Да, поверх обычного Ethernet. Но для продакшена с виртуализацией крайне желательно выделить отдельный VLAN или физическую сеть, включить jumbo frames и multipath.
Какой порт использует iSCSI?
Стандартный порт 3260/TCP для соединения initiator с target. Опционально 860/TCP для iSCSI с TLS. Для безопасной передачи поверх публичных сетей iSCSI оборачивают в IPsec или VPN.