10Gbit сетевое хранилище при умеренных затратах

в 15:18, , рубрики: 10g, diy или сделай сам, NAS, высокая производительность, ит-инфраструктура, фотография, метки: , ,

Задача стояла следующая — выполнить upgrade системы хранения для фотографа. Вернее, фотографов.
Имелся сетевое хранилище на основе Windows Server 2008 (так сложилось исторически), RAID контроллера Adaptec 3405 и 4х подключенных к нему дисков по 1.5Тб. Для связи с внешним миром использовалась 2х портовая гигабитная серверная сетевая карта HP NC360T.

Проблемы имеющейся системы:
— скорость доступа к сетевым ресурсам «упиралась» в производительность гигабитных Ethernet интерфейсов,
— место на RAID массиве кончалось.

Пожелания:
— быстрый доступ по сети к расположенным на дисковом массиве файлам фото и видео материалов,
— увеличение доступного объема дискового массива в 2-3 раза.

Идея объединения гигибитных интерфейсов в транк была попробована и отброшена как неработоспособная. Позднее общение со службой поддержки HP и чтение стандартов лишний раз подтвердило — даже наличие многопортовых серверных сетевых карт и управляемого коммутатора с поддержкой LACP не позволяют для имеющейся системы балансировать нагрузку по нескольким линкам в соединении 1 сервер — 1 клиент.

Идея сделать хранилище на основе недорогих карточек Infiniband тоже мало вдохновила — требовался именно сетевое хранилище с доступом к файлам с нескольких компьютеров. Пусть не со всех с особо высокой скоростью (для каких-то подойдет и гигабитный интерфейс, для каких-то многопоточный WiFi типа n, а там, глядишь, и ac в ноутбуки начнут ставить).

Остался, по сути, один вариант — 10G Ethernet. У которого есть одна неприятность — цена.
Берем, например, HP NC523SFP (в девичестве — Qlogic) и получаем цену примерно в $1000 за 1 карточку.
Добавляем еще примерно столько же на трансивер и получаем… Экономически абсурдную для этой задачи цену получаем.

Вопрос цены играл не последнюю роль. Задача не была «сделать круто за 3 копейки», но брендовые корпоративные решения, с которыми мне приходится иметь дело последние… цать лет, тоже не проходили по бюджету.
И пришлось обратить свои взоры на ebay.
Там были подобраны
— две 10G карточки от Myricom 10G-PCIE2-8B2-2S по цене $200 за штуку,
— два 10G SFP трансивера неведомого китайского производителя по $60 за штуку,
— RAID контроллер Adaptec 7805 с SATA/SAS кабелями за $400.

Наверное, сетевые карточки и контроллер можно было взять попроще — подешевле, если подождать — повыбирать. Но была оказия из Штатов…
Все, кроме трансиверов, приехало быстро, а трансиверы ехали из Китая. Неторопливо ехали. Но все-таки русская почта их довезла :-)

Учитывая, что рабочих станций с быстрым каналом подключения больше двух не планируется даже в будущем, обошлись без 10G коммутатора. Пока ехали трансиверы, была предпринята попытка соединить машины с Myricom катртами direct attach twinax кабелем от Cisco длиной 7 метров. Система не завелась. Карточки «поднимали» интерфейс и тут же его «опускали». Служба поддержки от Myricom запросила кучу диагностики с карт (благо, у карт есть такая возможность), дала множество советов типа «попробуйте так, а потом сяк», но под конец резюмировала «меняйте кабель».
Еще одного twinax кабеля под рукой не оказалось, поэтому пришлось дождаться трансиверов.
Они были успешно получены, поставлены в карточки, и соединены 10 метровым LC-LC патч кордом (куплен в ближайшем магазинчике за 700р). Линк «поднялся» мгновенно.

На тестах через микрософтовский NTttcp получилось 9.5 — 9.6 гигибита. При включенном на картах AIM (Adaptive Interrupt Moderation) с задержкой на прерывания по умолчанию 25 микросекунд. Это, по словам тех поддержки, в некоторых случаях излишне нагружает CPU, но дает меньше latency.
С выключенным AIM производительность в тесте падала на 30%. Возможно, этот тест не показатель для реальной загрузки, но пока оставлено с AIM. Благо, процессорной мощности там для этой задачи сколько угодно (Intel i7 3770).
Этот тест показал, что хотя бы явных глупостей не сделано, карты работают на полной скорости.

Дисковый массив был собран на 5 дисках WD Red 3TB. В RAID5. Предложенный RAID6 принят не был на основании «у нас все равно все в облако копируется». И действительно, на сервере настроена програмка от CrashPlan, и через 20 мегабитный канал все бодро уходит в дата центр где-то в Атланте. Восстанавливать данные пробовали (как-то потрбовалась старая версия файла). Восстанавливается вполне бодро.

Собирался дисковый массив сутки. и еще часов несколько туда копировались данные со старого массива. Во время сборки-проверки массивом можно было начинать пользоваться, но производительность была не интересная.

image

После сборки и копирования данных началось тестирование. Для начала синтетическими тестами.
ATTO benchmark что при прямом запуске на сервере, что при работе с клиента показывала что-то странное.

image
Тест с сервера.

image
Тест с клиентской машины

Скорее, она меряет скорость доступа к кэшу контроллера с случае локального подключения. А в случае подключения по сети — вообще непонятно что.
При этом сетевой интерфейс загружается на все 100%.

image

HD Tune Pro показал тоже что-то странное. Помня, что от одиночных дисков этой серии в лучшем случае можно получить в районе 150 мегабайт в секунду на чтении-записи больших файлов, похоже, мы опять меряем кэш контроллера.

image

Более интересной была реальная работа с изображениями.
По ощущениям скорость просмотра фотографий из Lightroom повысился раза в 4.
При открывании и сохранении больших панорам в Photoshop (tiff без сжатия c «несклеенной» послойной панорамой размером 3.5Гб) система «уперлась» в производительность Photoshop на клиентской машине. Открывался файл секунды 4, записывался секунд 10. Большую часть из этих 10 секунд Photoshop «думал о своем», не выдавая никакой сетевой активности.

image
Первая группа пиков — считывание картинки, последняя группа с загрузкой интерфейса почти до 100% — запись картинки.

По ощущениям работать все стало быстрее в разы. Да и 12Тб дискового пространства на некоторое время хватит :-)

Я не считаю себя специалистом в области high performance computing, и буду рад замечаниям — пожеланиям по поводу этой системы.

Автор: alsakharov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js