Synology — отличное решение для организации домашнего или корпоративного NAS. Местная операционная система, DSM, продуманна и отлично оптимизирована, но порой нелогична и слишком урезана. Но чем хороша DSM, так это тем, что многое можно исправить, отредактировав файлы конфигурации. А установка пакетов из стороннего репозитория от независимого сообщества разработчиков позволит заметно расширить возможности устройства в сторону, не предусмотренную разработчиками.

Что конкретно стоит изменить? В список входит странная реализация агрегации сетевых портов, не позволяющая удвоить пропускную способность при работе с единственным клиентом, отсутствие штатных способов увеличить скорость сетевого интерфейса, шумная работа вентилятора в простое даже в тех моделях, процессор которых не нуждается в активном охлаждении.

 

Агрегация портов: как на самом деле удвоить скорость сетевого интерфейса

Скорость современных жестких дисков часто превышает 200 Мбайт/с, а использование некоторых типов многодисковых массивов позволяет достичь и более высоких скоростей. Использование в сетевых хранилищах единственного гигабитного сетевого порта убивает удовольствие на корню: получить скорость, превышающую 125 Мбайт/с, с единственным гигабитным соединением невозможно. В статье «После гигабита. Выбираем и настраиваем оборудование для суперскоростной домашней сети» я уже успел пожаловаться на проблему, описав и вариант решения — купить и настроить мультигигабитный адаптер. Сейчас же я расскажу о том, как обойтись без него и удвоить скорость гигабитного соединения совершенно бесплатно.

Ряд моделей Synology — например, DS718+, DS220+, DS720+, DS420+ и более продвинутые — оснащены двумя или более гигабитными сетевыми портами. Пользователи QNAP или Asustor пожмут плечами: отлично, делаем агрегацию — скорость удваивается! Однако в NAS от Synology использовать лишний порт для того, чтобы просто удвоить полосу пропускания, у обычного пользователя не получится. Чтобы разобраться в причинах, нужно немного рассказать о том, как работает агрегация сетевых линков в принципе.

Использовать два и более сетевых интерфейса можно разными способами. Например, выделить один линк как резервный: он будет задействован, только если у основного линка возникнут проблемы. Также агрегацию можно применить для распределения нагрузки, пуская трафик, генерируемый разными клиентами, по разным линкам. В этом случае ширина полосы пропускания увеличивается пропорционально количеству линков — но только если пользователей несколько и доступ к данным они получают с разных сетевых интерфейсов. Скорость доступа к данным для каждого конкретного пользователя не превысит максимальной скорости работы единственного гигабитного линка.

Единственное исключение из этого правила — агрегация на программном уровне (она не требует какого-то особого коммутатора или настроек) по алгоритму Round Robin (на русский язык иногда переводится как циклический режим). При работе по этому алгоритму сетевые интерфейсы используются строго по очереди, что и позволяет достичь эффекта, которого ожидает обычный домашний пользователь: скорость передачи данных между NAS и любым другим устройством (разумеется, также использующим скоростной линк) будет складываться из суммарной пропускной способности всех агрегированных линков. Таким образом, включение второго порта Ethernet у других производителей — это способ удвоить видимую пользователю скорость работы NAS, вплотную приблизив скорость обмена данными по сети к скорости самих дисков.

А вот в сетевых хранилищах от Synology от агрегации портов обычному пользователю будет мало толка. По какой-то причине разработчики DSM не стали выводить в графический интерфейс возможность использования циклического режима Round Robin. Другие алгоритмы? Пожалуйста! Вот только ни один из них не позволит удвоить скорость передачи данных между NAS и единственным клиентом. Подавляющее большинство покупателей NAS с двумя сетевыми портами не узнает об этой особенности, пока не попробует воспользоваться режимом агрегации.

В DSM доступен выбор одного из нескольких алгоритмов агрегации.

При этом DSM работает поверх сборки Linux, в ядре которой агрегация Round Robin присутствует. Соответственно, можно попробовать ее включить. Для этого достаточно изменить единственный байт в единственном текстовом файле. Итак:

  1. Создаем сетевое соединение, используя агрегацию по методу Adaptive Load Balancing. Внимание: на момент создания соединения оба сетевых порта должны быть уже подключены к коммутатору, причем скорость портов должна совпадать. Кстати, рекомендую сразу же увеличить MTU до 9000.
  2. Заходим через SSH с правами root и открываем файл /etc/sysconfig/network-scripts/ifcfg-bond1 (или bond0, в зависимости от настроек) на редактирование.
  3. Находим строку BONDING_OPTS и меняем значение 6 на 0. Сохраняем файл.
  4. Перезапускаем сеть командой /etc/rc.network restart (если после этого открыть окно настроек агрегации в веб-интерфейсе DSM, в нем не будет выбран ни один из вариантов).

Если все сделано правильно, мы получим удвоенную скорость передачи данных между NAS и… собственно, между NAS и любым другим устройством, которое либо также использует агрегацию Round Robin (проверено на двух экземплярах Synology, подключенных к одному гигабитному коммутатору), либо подключено к тому же коммутатору по скоростному каналу на 2,5, 5 или 10 Гбит/с (проверено с собственным компьютером).

Думаю, очевидно, что в твоем компьютере при этом должен быть установлен либо один скоростной сетевой интерфейс (подключенный к скоростному порту мультигигабитного коммутатора), либо два гигабитных (можно подключить к тому же гигабитному коммутатору, к которому подключен NAS).

 

Еще более быстрый Ethernet

Агрегация сетевых портов — отличная вещь с одним маленьким ограничением: работает только в довольно дорогих моделях, в которых второй сетевой порт присутствует как класс. Большинство же доступных по цене моделей Synology (в том числе исключительно популярная модель DS218+, а также недорогие модели DS118j и DS220j), увы, оборудованы единственным сетевым портом. Как-либо увеличить скорость доступа штатными средствами невозможно — только переходить на более дорогую модель, оборудованную двумя портами Ethernet.

Попробуем очевидный вариант: подключаем гигабитный сетевой адаптер к порту USB в надежде настроить агрегацию. Промах, причем двойной: адаптер системой не опознан, пришлось искать драйвер; и даже после его установки возможности настроить агрегацию в системе так и не появилось. Дополнительный сетевой интерфейс не был пронумерован, оба порта (и встроенный, и USB) показаны в интерфейсе под названием LAN. Что ж, никто и не обещал, что в устройстве с одним портом разработчики DSM оставят настройки агрегации.

Остается другой вариант: использовать внешний сетевой адаптер со скоростью 2,5 или 5 Гбит/с. В продаже есть множество вариантов, все они основаны на одном из двух чипсетов: Marvell (Aquantia) AQtion AQC111U либо Realtek RTL8156 (на котором построен добрый десяток моделей, отличающихся в основном формой корпуса, а иногда и вовсе только названием производителя).

 

Вариант 1: 5 Гбит, адаптер QNA-UC5G1T на чипсете AQtion AQC111U

Пробуем подключить пятигигабитный адаптер от основного конкурента Synology — компании QNAP. Просто взять и подключить адаптер, разумеется, недостаточно: DSM корректно определит устройство, но без драйвера для AQC111U не увидит сетевого линка. На помощь приходит GitHub: драйверы для чипсета AQC111U в формате пакета для DSM можно скачать отсюда.

В список совместимых моделей входят DS918+, DS620slim, DS1019+, DS718+, DS418play, а также DS218+. Впрочем, сборки доступны и для более старых чипсетов, но — без гарантии. При этом поддерживаются в основном устройства с процессорами Intel; модели на чипах Realtek (архитектура ARMv8) не поддерживаются, так что использовать адаптер с DS218, DS218Play, DS220j или DS118j не удастся.

А что насчет современных устройств — DS220+, DS720+, DS420+ и так далее? Для них еще не выложены нужные библиотеки и фреймворки, которые необходимы для компиляции драйверов.

Устанавливается драйвер просто: достаточно использовать команду Manual Install из раздела Packages. После установки драйвер становится доступным в виде установленного пакета; его нужно будет запустить.

Драйвер готов к работе, но рекомендуется его предварительно настроить, изменив в свойствах адаптера MTU = 9000. В настройках адаптер будет выглядеть примерно так:

На этом не все. Пятигигабитный адаптер склонен к нагреву, а где нагрев — там и тротлинг. Соответственно, стоит отключить температурный тротлинг, а чтобы не возникал перегрев — включить EEE (Energy Efficient Ethernet). Это можно сделать двумя командами в терминале (предполагается, что идентификатор подключения — eth1, что верно для систем с единственным встроенным сетевым портом):

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    19 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии