ATA over Ethernet: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «{{DISPLAYTITLE:ATA over Ethernet}} '''ATA over Ethernet''' ('''AoE''') - Протокол для предоставления доступа к блочным у…»)
 
мНет описания правки
 
(не показаны 4 промежуточные версии 1 участника)
Строка 1: Строка 1:
{{DISPLAYTITLE:ATA over Ethernet}}
{{DISPLAYTITLE:ATA over Ethernet}}
'''ATA over Ethernet''' ('''AoE''') - Протокол для предоставления доступа к блочным устройствам по L2 сети. Подходит для построения недорогих производительных сетевых хранилищ.
'''ATA over Ethernet''' ('''AoE''') — протокол для предоставления доступа к блочным устройствам по L2 сети. Подходит для построения недорогих производительных сетевых хранилищ.


__TOC__
__TOC__


=Терминология=
== Терминология ==


* '''Target''' (Цель) - Сервер AoE, предоставляющий доступ к блочным устройствам по соответствующему протоколу;
* '''Target''' (Цель) — сервер AoE, предоставляющий доступ к блочным устройствам по соответствующему протоколу;
* '''Initiator''' (Инициатор) - Клиент AoE;
* '''Initiator''' (Инициатор) — клиент AoE;
* '''Shelf''' (полка) - логическая группа слотов (блочных устройств) AoE;
* '''Shelf''' (полка) логическая группа слотов (блочных устройств) AoE;
* '''Slot''' (слот) - блочное устройство AoE;
* '''Slot''' (слот) блочное устройство AoE;


=Требуемое ПО=
== Требуемое ПО ==


В ALT Linux требуемое ПО для работы с данным протоколом представлено пакетами:
В ОС Альт требуемое ПО для работы с данным протоколом представлено пакетами:


* '''aoetools''' - вспомогательные утилиты для диагностики AoE;
* '''aoetools''' вспомогательные утилиты для диагностики AoE;
* '''vblade''' - наиболее популярный демон AoE;
* '''vblade''' наиболее популярный демон AoE;
* '''ggaoed''' - также демон реализующий AoE;
* '''ggaoed''' также демон реализующий AoE.


Для работы сервисов '''AoE''' необходимо будет подключить модуль ядра <code>aoe</code> с помощью команды:
Для работы сервисов '''AoE''' необходимо будет подключить модуль ядра <code>aoe</code> с помощью команды:
<source>
<source lang="bash">
modprobe aoe
# modprobe aoe
</source>
</source>


=Конфигурирование AoE Target=
Данный модуль можно прописать в ОС для автоматической загрузки при старте:


Для случая с демоном '''vblade''' Вам понадобится включеный сетевой интерфейс. Следует учитывать, что при настройке работы блочных устройств по сети, их трафик необходимо отделить от других типов трафика или методом размещения в отдельном VLAN, или методом физической изоляции среды передачи данных. Также не следует назначать сетевым интерфейсам адреса, так как AoE трафик работает на втором уровне.
<source lang="bash">
# echo aoe >> /etc/modules
</source>
 
== Конфигурирование AoE Target ==
 
=== vblade ===
Для случая с демоном '''vblade''' Вам понадобится включёный сетевой интерфейс. Следует учитывать, что при настройке работы блочных устройств по сети, их трафик необходимо отделить от других типов трафика или методом размещения в отдельном VLAN, или методом физической изоляции среды передачи данных. Также не следует назначать сетевым интерфейсам адреса, так как AoE трафик работает на втором уровне.
 
vblade использует RAW sockets для осуществления сетевого взаимодействия. В том случае, когда нежелательно запускать '''vblade''' от администратора, возможно использовать '''filesystem capabilities''' для предоставления необходимого доступа:
 
<source lang="bash">
# setcap cap_net_raw+ep /usr/sbin/vblade
</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'''.


После этого станет возможной проверка корректности работы демона. Сначала необходимо выполнить сканирование сети на предмет AoE устройств:
Для штатного включения демона необходимо выполнить команду:
<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
</source>
</source>
В случае, если команда <code>aoe-stat</code> не показывает желаемый результат, необходимо провести диагностику проблем сетевой связности.
В случае, если команда <code>aoe-stat</code> не показывает желаемый результат, необходимо провести диагностику проблем сетевой связности.
== Конфигурирование AoE Initiator ==
После подгрузки модуля <code>aoe</code> в ОС появится директория {{path|/dev/etherd}} с файлами устройств. Возможно запустить процедуру обнаружения AoE устройств также с помощью простейшей команды:
<source lang="bash">
# echo 1 > /dev/etherd/discover
</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.