Как построить недорогой SAN
Автор: Krishna Kumar
Дата: 9 апреля 2009
1 Цель
В современных организациях требуется удобный обмен данными между отделами. Сетевое блочное хранилище (SAN) решает эту задачу. Цель статьи — показать, как построить SAN с такими характеристиками:
- Низкая стоимость и доступность
- Масштабируемость
- Надёжность
- Простота управления
- Высокая производительность
- Обеспеченная безопасность в пределах LAN
- Высокая доступность
Определение в одну строку: AoE — это протокол, экспортирующий ATA-блочные устройства по Ethernet без использования IP/TCP.
2 Доступные варианты для SAN
Типичные варианты: iSCSI, NBD, ENBD и Fibre Channel. Многие из них работают поверх TCP/IP (iSCSI), что увеличивает накладные расходы. Альтернатива для недорогого и эффективного SAN — ATA over Ethernet (AoE). Основные характеристики AoE:
- Работает на канальном уровне (Ethernet), без IP/TCP.
- Не маршрутизируется за пределы LAN — это одновременно ограничение и дополнительная степень безопасности.
- Экспортирует блочные устройства (SATA/HDD, SSD) с высокой пропускной способностью при использовании качественного Ethernet-коммутатора.
- Встроен в ядро Linux как модуль; вокруг есть свободные реализации целевых серверов (vblade, kvblade и т. д.).
Важно: AoE хорош для локальных SAN и экономичных проектов; он не заменяет iSCSI/Fibre Channel в сценариях, где нужна маршрутизация, шифрование на уровне протокола или глобальная масштабируемость.
3 Сравнение стоимости: AoE, Fibre Channel и iSCSI
Ниже таблица с типичными компонентами и сравнимыми диапазонами цен (ориентировочно, приведены в USD):
| Технология | Скорость | Интерфейс сервера | Коммутатор | Кабели | Стоимость хранилища/ТБ |
| AoE | 2 Гбит/с | $99 | $15–$30 | $25–$35 | $400–$500 |
| iSCSI | 1 Гбит/с | $500–$1000 | $400–$600 | $25–$35 | $1000–$5000 |
| Fibre Channel | 4 Гбит/с | $1200–$2000 | $800–$3600 | $175–$225 | $4000–$10000 |
Факт-бокс — ключевые числа:
- AoE даёт экономию на интерфейсах и коммутаторах по сравнению с iSCSI и FC.
- Ограничение AoE — отсутствие маршрутизации через IP, поэтому распределённые географически сети потребуют других технологий.
4 Сравнение AoE и iSCSI
4.1 Преимущества AoE
- Простота и дешевизна стека: нет преобразования ATA ↔ SCSI, что уменьшает накладные расходы и даёт выигрыш в производительности для прямых ATA-дисков.
- Более низкая загрузка CPU при эквивалентной пропускной способности по сравнению с iSCSI, поскольку отсутствует стек TCP/IP.
- Не маршрутизируемый характер протокола даёт дополнительную границу безопасности внутри LAN.
- AoE-фреймы проходят через стандартные Ethernet-коммутаторы.
- Поддержка инициализаторов существует и для Windows, и для Linux (через сторонние реализации).
4.2 Ограничения и минусы AoE
- Если нужны шифрование, маршрутизация или гибкая аутентификация на уровне протокола — iSCSI предпочтительнее.
- AoE менее пригоден для критичных крупномасштабных распределённых сред: невозможность маршрутизации ограничивает географическое масштабирование.
- ATA-диски традиционно уступают SCSI/enterprise-дискам по надёжности и возможностям управления.
Пример использования: небольшая виртуализированная среда, где все хосты находятся в одном дата-центре/шкафу и требуется дешёвое блочное хранилище — AoE часто оптимален.
5 Доступные AoE-таргеты (целевые серверы)
GNU GPL-реализации AoE-таргетов, которые можно использовать:
- Kvblade
- Aoeserver
- Vblade-Kernel
- Vblade
- Ggaoed
- Qaoed
Коротко: некоторые реализованы как пользовательские демоны (vblade), другие — как модули/инструменты; выбор зависит от ОС, требований по конфигурации и удобству управления.
6 Сравнение возможностей AoE-таргетов
Ниже таблица функций (аббревиатуры слева) и поддержка у разных реализаций.
Словарь сокращений: KV — Kvblade, AOES — Aoeserver, VB-KER — Vblade-Kernel, VB — Vblade, GGOLD — Ggaoed (базовая), GGNW — Ggaoed (обновлённая), QD — Qaoed, SD — Sqaoed (порт Solaris).
| Функция | KV | AOES | VB-KER | VB | GGOLD | GGNW | QD | SD |
| Shelf | Y | Y | Y | Y | Y | Y | Y | Y |
| Slot | Y | Y | Y | Y | Y | Y | Y | Y |
| Интерфейс | Y | Y | Y | Y | Y | Y | Y | Y |
| Device-path | Y | Y | Y | Y | Y | Y | Y | Y |
| Конф-файл | N | N | N | N | Y | Y | Y | N |
| MTU | N | N | N | N | Y | Y | Y | N |
| MAC-фильтр | N | Y | N | Y | Y | Y | Y | N |
| ACL | N | N | N | N | Y | Y | Y | N |
| Buffer Count | N | N | Y | Y | Y | Y | N | N |
| Sectors | N | N | Y | N | N | N | N | N |
| Queing | N | N | N | N | Y | Y | N | N |
| Logging-info | N | N | N | N | Y | Y | Y | N |
| Direct-Mode | N | N | N | Y | Y | Y | Y | N |
| Sync-Mode | N | N | N | Y | N | N | N | N |
| Read-only Mode | N | N | N | Y | Y | Y | Y | N |
| UUID | N | N | N | N | Y | Y | Y | N |
| Write Cache | N | N | N | N | N | N | Y | N |
| Policy | N | N | N | N | Y | Y | Y | N |
| Trace-i/o | N | N | N | N | Y | Y | N | N |
| Jumbo-Frames | Y | Y | Y | Y | Y | Y | Y | Y |
| На GPL | Y | Y | Y | Y | Y | Y | Y | Y |
| Надёжность | Low | Med | Low | High | High | Med | High | Med |
| Удобство | Low | Med | Low | High | High | Med | High | Med |
Примечание: в таблице Y/N обозначают базовую поддержку; для каждой реализации рекомендуется изучить актуальную документацию перед развёртыванием.
7 Мини-методология: как развернуть простой AoE-SAN (пошагово)
- Аппаратура и сеть
- Выберите серверы-таргеты с двумя порта́ми GigE (резервирование) и качественный Ethernet-коммутатор с поддержкой Jumbo Frames и полноценным буфером.
- Разместите все узлы в одном L2-сегменте; AoE не будет работать через роутеры.
- Диски и разметка
- Используйте SATA/SSD-диски для таргета; при необходимости — аппаратные RAID-контроллеры.
- ОС и модули
- На Linux загрузите модуль aoe:
modprobe aoe. - Установите пакет утилит (aoe-utils) и выбранный таргет (vblade/kvblade и т. п.).
- На Linux загрузите модуль aoe:
- Настройка таргета
- Настройте vblade (пример):
# Пример запуска vblade для экспорта /dev/sdb как shelf 1 slot 0
vblade 0 1 /dev/sdb- Для kvblade/aoeserver изучите конфигурационный файл и ACL.
- Инициализатор (клиент)
- На хосте-клиенте выполните
aoe-discover(часть aoe-utils) и подключите устройствоaoe-...как обычный блок-устройство (/dev/etherd/….). - Используйте
fdisk/parted/mkfsили подключайте как raw-блок для VM.
- На хосте-клиенте выполните
- Производительность и проверка
- Включите Jumbo Frames (MTU 9000) на всех интерфейсах и коммутаторе.
- Тесты I/O: fio, dd для проверки пропускной способности и задержек.
- Высокая доступность и кластер
- Для отказоустойчивости используйте зеркалирование (DRBD), кластерные файловые системы (GFS) и инструменты кластерного управления (heartbeat, pacemaker, CLVM).
Важно: всегда тестируйте восстановление после отказа — отключение интерфейса, отказ диска, отказ сервера-таргета.
8 Типичные команды и сниппеты (чек-лист)
- Загрузить модуль AoE:
modprobe aoe - Поиск AoE-таргетов:
aoe-discover - Показ AoE-устройств:
aoe-statили просмотрdmesg/ls /dev/etherd* - Запуск vblade:
vblade/dev/sdX - Включение Jumbo Frames:
ip link set dev eth0 mtu 9000
9 Ролевые контрольные списки
Администратор хранения
- Проверить наличие и состояние RAID/дисков
- Убедиться в правильности конфигурации vblade/kvblade
- Настроить мониторы SMART и логирование I/O
Сетевой инженер
- Проверить MTU на всех портах
- Настроить VLAN/изолированный L2-сегмент для AoE
- Проверить резервирование линков и агрегацию
Системный администратор/виртуализация
- Настроить multipath и LVM (если используется)
- Проверить монтирование и права доступа
- Запланировать резервное копирование и тесты восстановления
10 Критерии приёмки
- Клиенты обнаруживают все ожидаемые AoE-таргеты.
- Пропускная способность и задержки соответствуют требованиям (проверено нагрузочными тестами).
- JBOD/RAID-профили надёжно работают и восстановление после отказа протестировано.
- Журналы логирования I/O и аппаратных событий настроены и собираются централизованно.
11 Когда AoE не подходит (контрпример)
- Нужно межсайтовое разделение или маршрутирование по IP — выбирайте iSCSI/Fibre Channel.
- Требуется встроённое шифрование на транспортном уровне или интеграция в сложные IAM-системы — лучше iSCSI с IPsec/CHAP.
- Среда с критичными требованиями к аппаратной надёжности и поддержке enterprise-функций — предпочтительнее Fibre Channel.
12 Риски и способы смягчения
- Риск: отказ сетевого оборудования. Смягчение: резервирование линков, два NIC, LACP.
- Риск: потеря данных при ошибках диска. Смягчение: RAID, регулярные бэкапы, мониторинг SMART.
- Риск: перегрузка коммутатора. Смягчение: выбирать коммутатор с достаточным буфером и QoS, тестировать под нагрузкой.
Важно: AoE обеспечивает экономичное решение внутри L2-сегмента, но требует дисциплины в сети и мониторинге.
13 Краткая сводка и рекомендации
- AoE — отличный выбор для локальных, недорогих SAN с простой архитектурой и высоким уровнем производительности в пределах LAN.
- Для распределённых, шифруемых или глобально масштабируемых хранилищ рассматривайте iSCSI или Fibre Channel.
- Планируйте отказоустойчивость, мониторинг и процедуры восстановления заранее.
Ключевые шаги при развертывании: подготовить корректную L2-сеть, выбрать реализацию таргета (vblade/kvblade), протестировать производительность и настроить автоматический мониторинг.
Сводка:
- Экономичность и простота — сильные стороны AoE.
- Ограничение маршрутизацией — главный компромисс.
- Подойдёт для локальных дата-центров, лабораторий и бюджетных сред виртуализации.
Дополнительно: если нужна диаграмма выбора между AoE, iSCSI и FC, используйте приведённый ниже flowchart.
flowchart TD
A[Нужен SAN?] --> B{Нужна маршрутизация между сайтами?}
B -- Да --> C[iSCSI или Fibre Channel]
B -- Нет --> D{Требуется шифрование/аутентификация на уровне протокола?}
D -- Да --> C
D -- Нет --> E{Бюджет ограничен?}
E -- Да --> F[AoE]
E -- Нет --> CКраткие определения (1 строка):
- SAN — сеть для блочного хранения данных.
- AoE — протокол передачи ATA-блоков по Ethernet на канальном уровне.
- vblade/kvblade — программные таргеты AoE для экспорта дисков.
Конец статьи.
Похожие материалы
Установка шрифтов в Windows 10
Sensorvault Google — как удалить данные о местоположении
Excel по умолчанию на Mac — как открыть таблицы
Исправить ошибку Gboard: No permission to enable
Виджеты на экране блокировки Android — вернуть и настроить