Определение простыми словами
SAN — это отдельная сеть, в которой стоят только дисковые полки и серверы. Сервер видит том SAN как обычный локальный диск (sda, sdb), хотя физически тот находится за десятки метров в стойке хранения. Под капотом — Fibre Channel, FCoE или iSCSI поверх Ethernet.
Принципиальное отличие от NAS: NAS отдаёт файлы по протоколам SMB/NFS, а SAN — блоки. На блочное устройство сервер кладёт собственную файловую систему — ext4, XFS, NTFS, VMFS. Поэтому SAN-том может быть базой данных Oracle или хранилищем виртуальных машин ESXi, где нужны минимальные задержки.
Сравнение
| Параметр | SAN | NAS | DAS |
|---|---|---|---|
| Уровень доступа | блочный (LUN) | файловый (share) | блочный (локально) |
| Транспорт | FC, iSCSI, FCoE | SMB, NFS | SAS, SATA |
| Задержка | 1–3 мс | 5–15 мс | 0,1–1 мс |
| Пропускная способность | до 32 Гбит/с | до 10 Гбит/с | до 12 Гбит/с |
| Файловая система | на стороне клиента | на стороне хранилища | на стороне клиента |
| Совместный доступ | через кластерную ФС | штатно | один сервер |
| Стоимость входа | от $20 000 | от $1 000 | от $200 |
Кейсы использования
- Кластер ESXi из 12 хостов работает с одним томом VMFS на SAN — миграция ВМ занимает секунды.
- База данных Oracle RAC получает разделяемый блочный том через ASM с задержкой 1,5 мс.
- Бэкап-сервер пишет в SAN-LUN снапшоты на скорости 16 Гбит/с по Fibre Channel.
- Биржевой движок размещает журнал транзакций на FC-массиве All-Flash для предсказуемого latency.
- Негативный сценарий: к одному LUN без кластерной ФС подключили два сервера — несовместимая запись метаданных привела к коррупции данных за полчаса.
Технические детали
# Список Fibre Channel HBA в Linux
ls /sys/class/fc_host/
cat /sys/class/fc_host/host0/port_name
# Поиск новых LUN после маппинга на массиве
for h in /sys/class/scsi_host/host*; do echo '- - -' > $h/scan; done
lsblk
multipath -ll
# Подключение iSCSI-таргета как блочного устройства
sudo iscsiadm -m discovery -t st -p 10.0.0.10
sudo iscsiadm -m node -T iqn.2025-01.local:lun0 --login
sudo mkfs.xfs /dev/sdb
sudo mount /dev/sdb /mnt/san
В стек обычно входят коммутаторы Brocade или Cisco MDS, контроллеры массива (NetApp, Pure, Huawei) и multipath-демон на хосте. Подробнее о блочных протоколах — в материале про iSCSI.
🔥 Где это применяется
Частые вопросы
Чем SAN отличается от обычного RAID-массива?
RAID — это способ объединить диски внутри одного контроллера. SAN — сеть, по которой сервер обращается к удалённому RAID-массиву. Внутри SAN-полки тоже стоят RAID-группы, но доступ к ним идёт через Fibre Channel или iSCSI.
Можно ли построить дешёвый SAN на обычном Ethernet?
Да, через iSCSI поверх 10G/25G Ethernet. Это экономит на FC-коммутаторах, но требует выделенной сети, jumbo frames 9000 и flow control, иначе latency и потери пакетов уронят производительность.
Подходит ли SAN для одного сервера?
Технически да, но экономически нет. На один сервер дешевле поставить локальные NVMe или внешнюю DAS-полку. SAN окупается, когда к одному массиву подключено 5+ хостов.