Содержание статьи
- Агрегация портов: как на самом деле удвоить скорость сетевого интерфейса
- Еще более быстрый Ethernet
- Вариант 1: 5 Гбит, адаптер QNA-UC5G1T на чипсете AQtion AQC111U
- Вариант 2: 2,5 Гбит, адаптер на чипсете Realtek RTL8156
- Бесшумный NAS
- Репозиторий SynoCommunity
- Любой скрипт по расписанию
- Резервное копирование: один большой или несколько маленьких?
- Любое приложение — на домашнем экране
- Заключение
Что конкретно стоит изменить? В список входит странная реализация агрегации сетевых портов, не позволяющая удвоить пропускную способность при работе с единственным клиентом, отсутствие штатных способов увеличить скорость сетевого интерфейса, шумная работа вентилятора в простое даже в тех моделях, процессор которых не нуждается в активном охлаждении.
Агрегация портов: как на самом деле удвоить скорость сетевого интерфейса
Скорость современных жестких дисков часто превышает 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 присутствует. Соответственно, можно попробовать ее включить. Для этого достаточно изменить единственный байт в единственном текстовом файле. Итак:
- Создаем сетевое соединение, используя агрегацию по методу Adaptive Load Balancing. Внимание: на момент создания соединения оба сетевых порта должны быть уже подключены к коммутатору, причем скорость портов должна совпадать. Кстати, рекомендую сразу же увеличить MTU до 9000.
- Заходим через SSH с правами root и открываем файл
/etc/sysconfig/network-scripts/ifcfg-bond1
(или bond0, в зависимости от настроек) на редактирование. - Находим строку
BONDING_OPTS
и меняем значение 6 на 0. Сохраняем файл. - Перезапускаем сеть командой
/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»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»