ATA over Ethernet: различия между версиями
Nir (обсуждение | вклад) м (Добавлена информация о filesystem capabilities) |
мНет описания правки |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:ATA over Ethernet}} | {{DISPLAYTITLE:ATA over Ethernet}} | ||
'''ATA over Ethernet''' ('''AoE''') | '''ATA over Ethernet''' ('''AoE''') — протокол для предоставления доступа к блочным устройствам по L2 сети. Подходит для построения недорогих производительных сетевых хранилищ. | ||
__TOC__ | __TOC__ | ||
=Терминология= | == Терминология == | ||
* '''Target''' (Цель) | * '''Target''' (Цель) — сервер AoE, предоставляющий доступ к блочным устройствам по соответствующему протоколу; | ||
* '''Initiator''' (Инициатор) | * '''Initiator''' (Инициатор) — клиент AoE; | ||
* '''Shelf''' (полка) | * '''Shelf''' (полка) — логическая группа слотов (блочных устройств) AoE; | ||
* '''Slot''' (слот) | * '''Slot''' (слот) — блочное устройство AoE; | ||
=Требуемое ПО= | == Требуемое ПО == | ||
В | В ОС Альт требуемое ПО для работы с данным протоколом представлено пакетами: | ||
* '''aoetools''' | * '''aoetools''' — вспомогательные утилиты для диагностики AoE; | ||
* '''vblade''' | * '''vblade''' — наиболее популярный демон AoE; | ||
* '''ggaoed''' | * '''ggaoed''' — также демон реализующий AoE. | ||
Для работы сервисов '''AoE''' необходимо будет подключить модуль ядра <code>aoe</code> с помощью команды: | Для работы сервисов '''AoE''' необходимо будет подключить модуль ядра <code>aoe</code> с помощью команды: | ||
<source> | <source lang="bash"> | ||
modprobe aoe | # modprobe aoe | ||
</source> | </source> | ||
Данный модуль можно прописать в ОС для автоматической загрузки при старте: | |||
Для случая с демоном '''vblade''' Вам понадобится | <source lang="bash"> | ||
# echo aoe >> /etc/modules | |||
</source> | |||
== Конфигурирование AoE Target == | |||
=== vblade === | |||
Для случая с демоном '''vblade''' Вам понадобится включёный сетевой интерфейс. Следует учитывать, что при настройке работы блочных устройств по сети, их трафик необходимо отделить от других типов трафика или методом размещения в отдельном VLAN, или методом физической изоляции среды передачи данных. Также не следует назначать сетевым интерфейсам адреса, так как AoE трафик работает на втором уровне. | |||
vblade использует RAW sockets для осуществления сетевого взаимодействия. В том случае, когда нежелательно запускать '''vblade''' от администратора, возможно использовать '''filesystem capabilities''' для предоставления необходимого доступа: | vblade использует RAW sockets для осуществления сетевого взаимодействия. В том случае, когда нежелательно запускать '''vblade''' от администратора, возможно использовать '''filesystem capabilities''' для предоставления необходимого доступа: | ||
<source> | <source lang="bash"> | ||
setcap cap_net_raw+ep /usr/sbin/vblade | # setcap cap_net_raw+ep /usr/sbin/vblade | ||
</source> | </source> | ||
Предоставить блочное устройство (или файл) можно простой командой: | Предоставить блочное устройство (или файл) можно простой командой: | ||
<source> | <source lang="bash"> | ||
vblade 9 1 eth1 /dev/sdc | # vblade 9 1 eth1 /dev/sdc | ||
</source> | </source> | ||
Таким образом '''vblade''' начнёт отдавать локальное блочное устройство '''/dev/sdc''' с интерфейса '''eth1''' как устройство '''1''' в слоте '''9'''. | Таким образом '''vblade''' начнёт отдавать локальное блочное устройство '''/dev/sdc''' с интерфейса '''eth1''' как устройство '''1''' в слоте '''9'''. | ||
Для штатного включения демона необходимо выполнить команду: | |||
<source> | <source lang="bash"> | ||
# systemctl enable --now vblade | |||
</source> | |||
=== ggaoed === | |||
'''ggaoed''' — функциональный современный демон AoE, но написан с расчётом на системные примитивы Linux и потому не является мультиплатформенным. В комплекте с демоном поставляется утилита '''ggaoectl''', которая отображает текущие параметры и статистику. | |||
Для настройки демона необходимо отредактировать конфигурационный файл {{path|/etc/ggaoed.conf}}, который может выглядеть так: | |||
<source lang="text"> | |||
[e2kbootsector] | |||
path = /dev/sdc | |||
shelf = 1 | |||
slot = 1 | |||
direct-io = true | |||
interfaces = eth1 | |||
broadcast = true | |||
read-only = true | |||
</source> | |||
Для штатного включения демона необходимо выполнить команду: | |||
<source lang="bash"> | |||
# systemctl enable --now aoed | |||
</source> | |||
=== Проверка === | |||
По окончании настройки и запуска демона станет возможной проверка корректности работы сервиса. Сначала необходимо выполнить сканирование сети на предмет AoE устройств: | |||
<source lang="bash"> | |||
aoe-discover | aoe-discover | ||
</source> | </source> | ||
Затем можно просмотреть найденные в сети устройства: | Затем можно просмотреть найденные в сети устройства: | ||
<source> | <source lang="bash"> | ||
$ aoe-stat | $ aoe-stat | ||
e9.1 10GB eth2 1024 up | e9.1 10GB eth2 1024 up | ||
Строка 53: | Строка 89: | ||
В случае, если команда <code>aoe-stat</code> не показывает желаемый результат, необходимо провести диагностику проблем сетевой связности. | В случае, если команда <code>aoe-stat</code> не показывает желаемый результат, необходимо провести диагностику проблем сетевой связности. | ||
=Конфигурирование AoE Initiator= | == Конфигурирование AoE Initiator == | ||
После подгрузки модуля <code>aoe</code> в ОС появится директория | После подгрузки модуля <code>aoe</code> в ОС появится директория {{path|/dev/etherd}} с файлами устройств. Возможно запустить процедуру обнаружения AoE устройств также с помощью простейшей команды: | ||
<source> | <source lang="bash"> | ||
echo 1 > /dev/etherd/discover | # echo 1 > /dev/etherd/discover | ||
</source> | </source> | ||
В случае с текущим примером мы обнаружим файл блочного устройства | В случае с текущим примером мы обнаружим файл блочного устройства {{path|dev/etherd/e1.1}}. | ||
{{Category navigation|title=Файловые системы|category=FileSystems|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 10:17, 21 апреля 2022
ATA over Ethernet (AoE) — протокол для предоставления доступа к блочным устройствам по L2 сети. Подходит для построения недорогих производительных сетевых хранилищ.
Терминология
- Target (Цель) — сервер AoE, предоставляющий доступ к блочным устройствам по соответствующему протоколу;
- Initiator (Инициатор) — клиент AoE;
- Shelf (полка) — логическая группа слотов (блочных устройств) AoE;
- Slot (слот) — блочное устройство AoE;
Требуемое ПО
В ОС Альт требуемое ПО для работы с данным протоколом представлено пакетами:
- aoetools — вспомогательные утилиты для диагностики AoE;
- vblade — наиболее популярный демон AoE;
- ggaoed — также демон реализующий AoE.
Для работы сервисов AoE необходимо будет подключить модуль ядра aoe
с помощью команды:
# modprobe aoe
Данный модуль можно прописать в ОС для автоматической загрузки при старте:
# echo aoe >> /etc/modules
Конфигурирование AoE Target
vblade
Для случая с демоном vblade Вам понадобится включёный сетевой интерфейс. Следует учитывать, что при настройке работы блочных устройств по сети, их трафик необходимо отделить от других типов трафика или методом размещения в отдельном VLAN, или методом физической изоляции среды передачи данных. Также не следует назначать сетевым интерфейсам адреса, так как AoE трафик работает на втором уровне.
vblade использует RAW sockets для осуществления сетевого взаимодействия. В том случае, когда нежелательно запускать vblade от администратора, возможно использовать filesystem capabilities для предоставления необходимого доступа:
# setcap cap_net_raw+ep /usr/sbin/vblade
Предоставить блочное устройство (или файл) можно простой командой:
# vblade 9 1 eth1 /dev/sdc
Таким образом vblade начнёт отдавать локальное блочное устройство /dev/sdc с интерфейса eth1 как устройство 1 в слоте 9.
Для штатного включения демона необходимо выполнить команду:
# systemctl enable --now vblade
ggaoed
ggaoed — функциональный современный демон AoE, но написан с расчётом на системные примитивы Linux и потому не является мультиплатформенным. В комплекте с демоном поставляется утилита ggaoectl, которая отображает текущие параметры и статистику.
Для настройки демона необходимо отредактировать конфигурационный файл /etc/ggaoed.conf, который может выглядеть так:
[e2kbootsector]
path = /dev/sdc
shelf = 1
slot = 1
direct-io = true
interfaces = eth1
broadcast = true
read-only = true
Для штатного включения демона необходимо выполнить команду:
# systemctl enable --now aoed
Проверка
По окончании настройки и запуска демона станет возможной проверка корректности работы сервиса. Сначала необходимо выполнить сканирование сети на предмет AoE устройств:
aoe-discover
Затем можно просмотреть найденные в сети устройства:
$ aoe-stat
e9.1 10GB eth2 1024 up
В случае, если команда aoe-stat
не показывает желаемый результат, необходимо провести диагностику проблем сетевой связности.
Конфигурирование AoE Initiator
После подгрузки модуля aoe
в ОС появится директория /dev/etherd с файлами устройств. Возможно запустить процедуру обнаружения AoE устройств также с помощью простейшей команды:
# echo 1 > /dev/etherd/discover
В случае с текущим примером мы обнаружим файл блочного устройства dev/etherd/e1.1.