xg-scale

view aoe.tex @ 4:253d66dd74bb

Добавлено подробное описание управления памятью домена и выделением устройств домену
author Igor Chubin <igor@chub.in>
date Sun Jul 06 23:27:46 2008 +0300 (2008-07-06)
parents
children
line source
1 \section{ATA over Ethernet}
3 Описываемая технология построения хранилищ даёт возможность строить дисковые массивы
4 для архивов, резервных копий или традиционного использования
5 на базе обычных дисков ATA, которые дешевле даже чем лента.
6 Эта технология может оказаться особенно интересной для тех,
7 кто использует виртуализированные системы на базе Xen.
9 Технология является альтернативой для iSCSI, но с более узким
10 спектром задач, где она может использоваться. Подробнее об этом ниже,
11 в разделе \textit{\dq{}Преимущества и недостатки AoE\dq{}}.
13 \subsection{Введение}
14 Данные некоторых видов огромны просто в силу своей природы.
15 Видео, например, как правило занимает большой объём диска.
16 В связи с широким распространением видеонаблюдения
17 потребность в хранении видео-данных становится ещё более актуальной.
19 Резервное копирование и избыточность данных
20 имеет существенное значение для любого дела,
21 в котором используются компьютеры.
22 Похоже, не важно, какой объём хранилища -- всегда хочется иметь больше.
23 Даже почта может вырасти за пределы контейнера, в котором она лежит.
24 Это хорошо известно провайдерам Интернет-услуг.
26 Хранилище неограниченного размера вполне имеет право на существование,
27 если сделать так, чтобы диски можно было вынести за предел корпуса
28 и отвязать хранилище от компьютера, которые его использует.
29 Принцип развязки связанных компонент с целью достижения большей гибкости
30 хорошо показал себя во множестве различных областей,
31 не только при построении хранилищ.
32 Модульный код обладает гибкостью, которая позволяет
33 применять его в непредвиденных ситуациях или
34 стерео-система, сделанная из компонентов,
35 может использоваться в различных интересных конфигурациях,
36 а не только как аудио-комбайн.
38 Наиболее известный пример хранилищ, работающих из коробки это, наверное, SAN (storage area network).
39 Когда SAN\rq{}ы только появились вокруг них был большой шум и переполох.
40 Сложно было выяснить, что же это в действительности такое.
41 А когда в итоге это всё-таки получилось, выяснилось что это нечто
42 сложное, проприетарное и дорогое.
44 Однако, поддерживая SAN\rq{}ы Linux-сообщество сделало несколько полезных изменений в ядре.
45 Сегодня в ядрах Linux есть возможности, которых ещё несколько лет назад очень не хватало.
46 Они могут использоваться как гигантские блочные устройства, выходящие далеко
47 за старые пределы в два терабайта (именно терабайта! подробности, например, в \url{http://lkml.org/lkml/2002/5/9/217} и \url{http://kerneltrap.org/node/186}). Они поддерживают намного больше
48 одновременно подключённых дисков. Также появились богатые возможности управления томами.
49 В дополнение ко всему прочему, файловые системы могут теперь расширяться до огромных размеров,
50 даже когда они смонтированы и используются.
52 Здесь рассматриваются новые пути использования эти возможности ядра:
53 диски выносятся из компьютера старые пределы ёмкости преодолеваются.
54 Можно воспринимать ATA over Ethernet как способ заменить IDE-кабель
55 сетью Ethernet. Когда хранилище и компьютер развязаны и между ними стоит такая гибкая вещь
56 как Ethernet, возможности ограничены только воображением и желанием изучать новые вещи.
58 \subsection{Что такое AoE}
59 ATA over Ethernet (AoE) — это сетевой протокол, зарегистрированный IEEE как Ethernet-протокол
60 номер 0x88a2. AoE это низкоуровневый протокол, намного более простой чем TCP/IP или даже просто IP.
61 TCP/IP и IP нужны обязательно, если требуется организовать (надёжную) передачу данных через Интернет,
62 но на компьютер в этом случае ложится намного большая нагрузка, для того чтобы
63 обеспечить ту сложность, которая присуща этим протоколам.
65 Особенно хорошо это известно пользователям iSCSI.
66 iSCSI позволяет перенаправить ввод/вывод поверх TCP/IP,
67 что в свою очередь даёт возможность заменить дорогое оборудование Fibre Channel на значительно
68 более дешёвое Ethernet и IP.
69 Зачастую iSCSI используется совместно с устройствами для разгрузки TCP (TCP offload engines, TOE).
70 Эти устройства довольно дорогие, но они снимают часть нагрузки TCP/IP
71 с центрального процессора машин, использующих iSCSI.
73 Интересно, что в большинстве своём iSCSI не используется поверх собственно сети Интернет.
74 Чаще всего пакеты просто передаются на машину, стоящую в соседней серверной стойке,
75 и в этом случае вся мощь TCP/IP оказывается просто избыточной.
77 Резонный вопрос, почему бы вместо того что разгружать TCP/IP вообще от него не избавиться?
78 Протокол AoE именно это и делает.
79 И вместо того чтобы полагаться на TCP/IP, он полагается на возможности современных коммутаторов,
80 у которых не бывает коллизий, есть возможность управления потоком и
81 постоянно растёт производительность.
82 В локальной сети сохраняется последовательность пакетов
83 и для каждого пакеты сетевым оборудованием вычисляется контрольная сумма.
85 В каждом AoE пакете находится команда для ATA-диска или ответ от ATA-диска.
86 Драйвер AoE в ядре Linux выполняется AoE и делает диск доступным как обычное
87 блочное устройство, такое, например, как \texttt{/dev/etherd/e0.0} -- точно также
88 как IDE-драйвер делает диск, подключённый к концу IDE-кабеля, доступным как \texttt{/dev/hda}.
89 Драйвер, если нужно, ретранслирует пакеты, так что AoE-устройство выглядит для остального ядра как обычный диск.
91 В дополнение к ATA командам, у AoE есть простая возможность идентификации
92 доступных устройств с помощью конфигурационных опросных пакетов (query config packets).
93 Это всё: ATA команды и конфигурационных опросные пакеты.
95 Возникает вопрос:
96 если все диски находятся в сети, тогда как я могу ограничить доступ к дискам?
97 Как можно быть уверенным что, даже если машину А взломали, что диски машины B в безопасности?
99 Ответ в том, что AoE немаршрутизируемый протокол. Можно легко определить какой компьютер
100 будет видеть какие диски путём конфигурирования Ethernet-сети.
101 Поскольку AoE-устройствам не нужны IP-адреса, создать изолированные
102 Ethernet-сети несложно.
103 Большинство современных коммутаторов имеют возможность организации
104 VLAN\rq{}ов, что позволяет легко разделить коммутатор на несколько широковещательных доменов.
106 Протокол AoE настолько легковесный, что его может использовать даже самое недорогое железо
107 (существует как минимум один производитель оборудования, поддерживаеющего ATA over Ethernet — Coraid).
108 Описание спецификаций AoE помещается на 8 страниц. Простота протокола выглядит контрастно
109 по отношению к iSCSI, который описывается на сотнях страниц,
110 включая спецификации по шифрованию, маршрутизации, контролю доступа
111 и множеству других вопросов.
113 Простые примитивы могут быть очень мощными.
115 \subsection{Стэн-архиватор}
116 Эта история основана на реальных событиях, случившихся с гражданином
117 одного другого государства.
119 Стэн — вымышленный админ, работающий на государственной службе.
120 В соответствии с новым государственным законом той страны все официальные
121 документы должны архивироваться. Любой гражданин государства
122 может потребовать показать любой документ в любое время.
123 Из-за этого Стэну понадобилось огромное хранилище, которое может расти
124 без всяких ограничений. Производительность хранилища может не быть
125 больше производительности локального диска. Любые данные из хранилища
126 должны доставаться легко и мгновенно.
128 Стэн уверенно чувствует себя в системном администрировании Linux и Ethernet сетях,
129 и из-за этого он решает попробовать для своей задачи ATA over Ethernet.
130 Он покупает кое-какое оборудование, потратив на это меньше \$6.5K:
131 \begin{itemize}
132 \item Одна двухпортовая гигабитная Ethernet-карта, вместо старой 100-мегабитной карты.
133 \item Один 26-портовый коммутатор с двумя гигабитными портами.
134 \item Одну полку Coraid EtherDrive и десять блэйдов EtherDrive.
135 \item Десять 400GB ATA жестких дисков.
136 \end{itemize}
138 Оборудование может быть объединеное в программный RAID-10 — чередование поверх зеркалированных пар.
139 Хотя этак конфигурация не даёт столько ёмкости как конфигурация RAID 5,
140 она максимизирует отказоустойчивость, надёжность, снижает нагрузку
141 на процессор и время реинициализации диска при замене.
143 Имеет смысл поверх AoE-дисков использовать
144 LVM и файловые системы с возможностью online-расширения, такие например,
145 как ext3, XFS или JFS.
146 Это даст возможность в дальнейшем, при необходимости купить новую заполненную
147 полку, создать ещё один RAID 10, превратить его в физический том,
148 и использовать этот том для расширения
149 объёма логических томов с файловыми системами.
151 Для старых систем нужно скомпилировать драйвер
152 AoE с AOE\_PARTITIONS=1 (в частности, sarge не поддерживал большие минорные номера),
153 поэтому он выключает поддержку разделов, для того чтобы использовать побольше дисков.
155 \begin{verbatim}
156 %# # Настройка хоста для работы с AOE
158 %# # Сборка и инсталляция драйвера aoe
159 %# tar xvfz aoe-2.6-5.tar.gz
160 %# cd aoe-2.6-5
161 %# make AOE_PARTITIONS=1 install
163 %# # Настройка сети
164 %# # Для AoE IP-адрес не нужен
165 %# ifconfig eth1 up
167 %# # Чтобы быть уверенным что интерфейс успел подняться, нужно подождать какое-то время
168 %# # И после этого загрузить драйвер aoe
169 %# sleep 5
170 %# modprobe aoe
172 %# # Теперь можно посмотреть какие AoE-устройства есть в сети
173 %# aoe-stat
174 \end{verbatim}
176 \subsection{Минорные номера устройств}
177 Программы, которые хотят использовать устройство, как правило, обращаются к нему
178 через специальный файл, соответствующий ему. Типичный пример -- файл \texttt{/dev/hda}.
179 Команда \texttt{ls -l} покажет для этого устройства, \texttt{/dev/hda}, номера 3 и 0.
180 Мажорный номер 3 и минорный номер 0. А у устройства \texttt{/dev/hda1} минорный номер 1,
181 в то время как мажорный номер тоже 3.
183 До ядра 2.6 минорный номер был 8битный, ограничивая возможное количество номеров от 0 до 255.
184 Ни у кого и не было столько устройств, поэтому ограничение не имело существенного значения.
185 Теперь, когда диски могут быть отвязаны от серверов, ограничение стало важным --
186 в настоящее время ядро 2.6 использует до 20 бит для минорного номера устройства.
188 Иметь 1048576 разных значений для минорного номера это большая помощь для систем, в которых
189 много устройств, но не всякое программное обеспечение может с этим разобраться.
190 Если glibc или другая программа всё ещё думает, что минорные номера 8-битные,
191 будет проблематично заставить её использовать номера превышающие 255.
193 Для облегчения перехода, драйвер AoE может быть скомипилирован
194 без поддержки разделов.
195 Это позволит вместо 16 номеров на диск использовать только один.
196 Так что, даже на системах, которые до сих пор не поддерживают большие
197 минорные номера как ядро 2.6, можно использовать до 256 AoE дисков.
199 Команды для создания файловой системы и логических томов показаны на листинге 2.
200 Стэн решил назвать группу ben и логический том franklin.
201 После этого нужно сделать небольшие изменения в конфигурации LVM2.
202 Во-первых, нужно добавить строку с типом = [\dq{}aoe\dq{}, 16],
203 так чтобы LVM распознал AoE-диски. Во-вторых, нужно указать md\_component\_detection = 1,
204 чтобы диски внутри RAID 10 игнорировались, как только весь RAID 10
205 стал физическим томом.
207 \begin{verbatim}
208 %# # ускорить инициализацию массива
209 %# for f in `find /proc | grep speed`; do echo 100000 > $f done
211 %# создать массив (mdadm will manage hot spares)
212 %# mdadm -C /dev/md1 -l 1 -n 2 /dev/etherd/e0.0 /dev/etherd/e0.1
213 %# mdadm -C /dev/md2 -l 1 -n 2 /dev/etherd/e0.2 /dev/etherd/e0.3
214 %# mdadm -C /dev/md3 -l 1 -n 2 /dev/etherd/e0.4 /dev/etherd/e0.5
215 %# mdadm -C /dev/md4 -l 1 -n 2 -x 2 \
216 /dev/etherd/e0.6 /dev/etherd/e0.7 \
217 /dev/etherd/e0.8 /dev/etherd/e0.9
218 %# sleep 1
220 %# распределение по зеркалам
221 %# mdadm -C /dev/md0 -l 0 -n 4 \
222 /dev/md1 /dev/md2 /dev/md3 /dev/md4
224 %# # превращаем RAID10 в физический том, и добавляем его в группу
225 %# pvcreate /dev/md0
226 %# vgcreate TURBO /dev/md0
228 %# # смотрим количество экстентов
229 %# vgdisplay TURBO | grep -i 'free.*PE'
231 %## создаём том, занимающий всё свободное пространство
232 %# lvcreate --extents 88349 --name vol1 TURBO
233 %# modprobe jfs
234 %# mkfs -t jfs /dev/TURBO/vol1
235 %# mkdir /vol1
236 %# mount /dev/TURBO/vol1 /vol1
237 \end{verbatim}
239 На системе Debian Sarge с двумя процессорами
240 Athlon MP, 1 GB памяти, сетевой картой Intel PRO/1000MT и 40GB дисками
241 и коммутатором Netgear FS526T
242 с RAID 10 работающим поверх 8 блэйдов EtherDrive в полке Coraid
243 была зафиксирована произодвительность 23.58MB/s на чтение
244 и 17.45MB/s на запись.
245 Измерения делались
246 путём копирования 1GB файла в /dev/null после сброса кэша.
247 Во время копирования включена также команда sync.
249 RAID 10 в данном случае состоит из четырёх stripe\rq{}ов,
250 каждый из которых это пара зеркалированных дисков.
251 Вообще, можно вычислить производительность
252 набора блэйдов EtherDrive исходя только из количества stripe\rq{}ов в нём.
253 Для RAID 10 stripe\rq{}ов будет в два раза меньше чем дисков,
254 поскольку каждый диск зеркалируется на другой диск.
255 Для RAID 5 один диск выделяется под чётность, оставляя остальные диски для stripe\rq{}ов.
257 Ожидаемая пропускная способность чтения равна количеству stripe\rq{}ов умножить на 6MB/s.
258 Это означает, что если Стэн изначальное купил бы две полки
259 и собрал бы из них 18-блэйдный RAID 10 вместо своего 8-блэйдного, он мог ожидать
260 прироста производительности более чем в два раза.
261 Стэну не нужна такая большая производительность и он хочет начать с маленькой файловой системы,
262 размером 1.6TB.
264 Ниже показано как можно расширить файловую систему.
266 На листинге не показан файл \#mdadm-aoe.conf\# и стартовые/стоповые скрипты.
267 Конфигурационный файл mdadm указывает процессу mdadm, работающему в режиме монитора,
268 как выполнять горячую замену, чтобы можно было заменить сбойный диск в зеркале.
269 Подробности о группах резервирования (spare groups) можно прочитать на man-странице
270 по mdadm.
272 Увеличить файловую систему без размонтирования, установить массив RAID 10, добавить его в группу томов и затем увеличить файловую систему:
274 \begin{verbatim}
275 %# # когда для второй полки сделан RAID10, добавляем его в группу томов
276 %# vgextend TURBO /dev/md5
277 %# vgdisplay TURBO | grep -i 'free.*PE'
279 %# # увеличиваем логический том и файловую систему
280 %# lvextend --extents +88349 /dev/TURBO/vol1
281 %# mount -o remount,resize /vol1
282 \end{verbatim}
284 Стартовый и стоповый скрипты легко создать.
285 Стартовый скрипт просто собирает зеркалированные пары RAID 1,
286 собирает все RAID 0 и запускает процесс мониторинга mdadm.
287 Стоповый скрипт останавливает монитор mdadm,
288 останавливает RAID 0 и, в последнюю очередь,
289 останавливает RAID 1.
291 \subsection{Совместный доступ к блочным хранилищам}
292 Теперь, после того как мы увидели конкретный пример ATA over Ethernet в действии,
293 может возникнуть вопрос: \dq{}А что произойдёт, если другой хост попытается получить
294 доступ к данным, когда с ними уже работает какой-то хост в сети?\dq{}
295 Сможет ли этот второй хост подмонтировать файловую систему JFS и получить доступ
296 к тем же данным? Короткий ответ такой: \dq{}Да, но это не безопасно!\dq{}.
297 JFS, как и ext3, как и многие другие файловые системы спроектированы
298 для использования на отдельном хосте. И для таких файловых систем
299 одновременный доступ с нескольких хостов приведёт к повреждениям.
300 Причина -- в кэш-буфере, который унифицирован с кэшем страниц в ядре 2.6.
302 Linux кэширует данные файловых систем в оперативной памяти
303 везде, где это только возможно, дабы избежать использования
304 медленного блочного устройства и добиться хорошего прироста производительности.
305 Вы могли видеть результат наглядно,
306 когда, например, запускали \textbf{find} дважды
307 поверх одного и того же каталога.
309 Некоторые файловые системы спроектированы так, что они могут использоваться одновременно
310 несколькими хостами — такие файловые системы называют \textit{кластерными}.
311 Они имеют механизмы для проверки, синхронизирован ли кэш на всех
312 машинах с нижележащей файловой системой.
313 Отличный пример такой системы с открытым кодом это GFS.
314 GFS использует кластерное программное обеспечение
315 для того чтобы отследить, кто из группы хостов
316 работает с файловой системой.
317 Для того чтобы убедиться,
318 что разные хосты договариваются друг с другом
319 при совместном доступе к файловой системе,
320 в GFS используются блокировки.
322 Когда используются кластерные файловые системы, такие как GFS,
323 становится возможным совместный доступ множества хостов
324 к одному и тому же блочному устройству по сети.
325 Не нужно ничего типа NFS-сервера, поскольку
326 каждый хост работает с хранилищем непосредственно.
328 Но есть одна загвоздка.
329 Чем больше дисков вы используете, тем выше шансы,
330 что один из дисков засбоит.
331 В этой ситуации обычно используется RAID,
332 который добавляет избыточность.
333 К сожалению, программный RAID Linux
334 пока что не умеет работать с кластерными файловыми системами.
335 Это означает, что каждый хост
336 в сети не сможет запускать mdadm.
338 Кластерное программное обеспечение для Linux развивается
339 с большой скоростью. Есть надежда что рано или поздно RAID будет поддерживать кластерные файловые системы.
340 До этого момента мало вариантов использования AoE в кластерных системах.
341 Основная идея — централизовать функциональность RAID.
342 Можно купить один или два Coraid RAIDblade
343 и сделать чтобы кластерные узлы использовали их.
344 RAIDblade\rq{}ы будут управлять EtherDrive\rq{}ами,
345 которые должны подключаться за них.
346 Или тоже самое можно сделать на обычной Linux-системе,
347 которая подключит массивы, сделает на них RAID
348 и с помощью ATA over Ethernet экспортирует его как готовое устройство.
349 Это может сделать, например, программа [vblade].
351 \subsection{Резервное копирование}
352 Поскольку AoE выводит недорогие диски в Ethernet-сеть, многие админы
353 могут заинтересоваться в использовании AoE для создания резервных копий.
354 Часто в стратегиях резервного копирования используются двухуровневые хранилища,
355 которые не такие быстрые как on-line хранилища, но и не такие медленные для доступа как лента.
356 ATA over Ethernet даёт возможность легко использовать дешёвые ATA-диски как хранилище второго уровня.
358 Но вообще говоря, с такими дешёвыми жёсткими дисками и стабильным программным RAID,
359 почему бы не использовать диски как носитель для хранения резервных копий?
360 В такой системе резервного копирования, в отличие от ленточной,
361 есть возможность непосредственного доступа к заархивированным файлам.
363 В нескольких программах резервного копирования при создании резервных копий
364 используются преимущества возможностей файловых систем.
365 Например, используя жёсткие ссылки они могут делать полные бэкапы
366 с эффективностью инкрементальных. Подробности
367 здесь ([rsync Backups http://www.mikerubel.org/computers/rsync\_snapshots])
368 и здесь ([Backup PC http://backuppc.sourceforge.net/]).
370 \subsection{Заключение}
371 Размещение недорогих дисков в локальной сети это одна из тех идей,
372 которая заставляет подумать \dq{}Почему это интересно раньше никто не сделал?\dq{}.
373 С помощью простого сетевого протокола можно развязать хранилища
374 и сервера, не используя при этом дорогого аппаратного обеспечения
375 и сложной сетевой инфраструктуры. В простой Ethernet сети нет необходимости
376 в сложном, развитом но требовательном к ресурсам стеке протоколов TCP/IP.
378 Если вы используете хранилища в локальной сети, и если настройки
379 доступа к хранилищу путём конфигурирование сети Ethernet достаточно,
380 тогда ATA over Ethernet подойдёт вас лучше всего.
381 Если вас интересуют такие вещи как шифрование, возможность маршрутизации
382 и контроль доступа, посмотрите iSCSI.
384 С AoE появляется простое альтернативное решение для организации хранилищ на Linux,
385 которой ранее явно не хватало. С простотой появляются и возможности.
386 AoE может использоваться как строительный блок в любом решении для хранения.
387 Дальше уже ваша фантазия.
389 \subsection{Преимущества и недостатки AoE}
390 Преимущества и недостатки AoE в сравнении с iSCSI.
392 Преимущества:
393 \begin{itemize}
394 \item Низкая стоимость
395 \item Высокая производительность
396 \item Простота
397 \end{itemize}
399 Недостатки:
400 \begin{itemize}
401 \item Низкая масштабируемость, возможность использования только в пределах одной Ethernet-сети
402 \item Отсутствие механизмов обеспечения безопасности
403 \item Отсутствие механизмов контроля ошибок передачи данных, за исключением тех, что есть у самой сети Ethernet (см, например \url{http://lists.xensource.com/archives/html/xen-devel/2005-05/msg00832.html})
404 \end{itemize}
406 \subsection{Дополнительная информация}
407 \begin{itemize}
408 \item \htmladdnormallinkfoot{ATA over Ethernet}{http://xgu.ru/wiki/aoe} (рус.)
409 \item \htmladdnormallinkfoot{ATA over Ethernet}{http://en.wikipedia.org/wiki/ATA\_over\_Ethernet}(англ.) в Wikipedia
410 \item \htmladdnormallinkfoot{ATA Over Ethernet: Putting Hard Drives on the LAN}{http://www.linuxjournal.com/article/8149} — статья в Linux Journal
411 \item \htmladdnormallinkfoot{Resources for "ATA Over Ethernet: Putting Hard Drives on the LAN"}{http://www.linuxjournal.com/article/8201} (англ.)
412 \item \htmladdnormallinkfoot{Resources for "ATA Over Ethernet: Putting Hard Drives on the LAN"}{http://www.linuxjournal.com/article/8201} (англ.) — дополнительные ссылки в Linux Journal
413 \item \htmladdnormallinkfoot{The ATA over Ethernet (AoE) Protocol}{http://www.linux-mag.com/index.php?option=com\_content\&task=view\&id=2069\&Itemid=2307} (англ.) — статья на Linux Magazine (требуется регистрация)
414 \item \htmladdnormallinkfoot{Using AoE in FreeBSD}{http://www.coraid.com/support/freebsd/usingaoe.html} — Поддержка AoE в FreeBSD
415 \item \htmladdnormallinkfoot{Протоколы сетей хранения данных. Часть I — ATA over Ethernet}{http://www.samag.ru/cgi-bin/go.pl?q=articles;n=09.2005;a=15} — статья в журнале Системный администратор
416 \item \htmladdnormallinkfoot{The Coraid Linux NAS HOWTO}{http://www.coraid.com/support/cln/CLN-HOWTO.html} (англ.) — HOWTO по разворачиванию NAS на базе ATA over Ethernet
417 \item \htmladdnormallinkfoot{(Xen-users) HOWTO: AOE in domU and boot from it.}{http://lists.xensource.com/archives/html/xen-users/2006-07/msg00595.html} (англ.
418 \item \htmladdnormallinkfoot{Access over Ethernet Insecurities in AoE SLIDES}{http://www.slideshare.net/amiable\_indian/access-over-ethernet-insecurites-in-aoe/} (англ.)
419 \item \htmladdnormallinkfoot{"iSCSI killer" Native in Linux}{http://hardware.slashdot.org/article.pl?sid=06/07/31/1143230} (англ.) — обсуждение AoE на Slashdot
420 \item \htmladdnormallinkfoot{OpenNews: ATA over Ethernet в Linux}{http://www.opennet.ru/openforum/vsluhforumID3/36130.html} — обсуждение статьи на OpenNet
421 \item \htmladdnormallinkfoot{OpenNews: Построение SAN для Xen на основе DRBD, LVM и GNBD" }{http://www.opennet.ru/openforum/vsluhforumID3/36804.html} — другое обсуждение на OpenNet, где затрагиваются вопросы сравнения AoE и iSCSI
422 \end{itemize}