Робимо маршрутизатор та NAS на одному процесорі

У мене з'явився «домашній сервер» на Linux лише за кілька років, як мені купили комп'ютер. Зараз, з того моменту минуло вже понад п'ятнадцять років і більшість цього часу я мав якийсь другий додатковий комп'ютер вдома. Одного разу, коли настав час його оновлювати, я задумався: а навіщо мені окремий роутер, якщо в мене й так уже є вільний комп'ютер? Адже тоді давно в нульові для багатьох це була стандартна конфігурація.

Дійсно: сьогодні для цього можна завести окрему віртуалку, прокинути туди USB або PCI карту Wi-Fi. А як ОС можна одним махом використовувати MikroTik RouterOS, отримуючи за невеликі гроші ПЗ enterprise рівня.

Вступ

Позначу мої цілі та завдання на момент, коли я тільки починав проект:

  1. Складання має максимально складатися з найпоширеніших стандартних комплектуючих. Це означає, що ніяких розмірів матплат, відмінних від mATX / mini-ITX і низьких корпусів, в яких не влазять повнорозмірні карти
  2. Місця під диски має бути багато, але самі кошики – під 2.5”
  3. Модульність повинна привести через якийсь час до економії - адже Wi-Fi карту старого стандарту 5 можна буде просто поміняти на 7
  4. Підтримка хоч якогось віддаленого управління, щоб можна було зрозуміти, чому не піднімається система, без фізичного підключення монітора і клавіатури до чогось високого і далекого, що стоїть.
  5. Повна свобода у виборі ОС та їх підтримка всіх критичних комплектуючих у будь-якій ОС
  6. Висока продуктивність. Набридло чекати, поки Deluge «прожує» .torrent на кілька тисяч файлів або включене шифрування призводить до падіння швидкості нижче дисків або підключення до мережі.
  7. Візуальна краса та акуратність складання
  8. Найвища компактність. Ідеальний розмір – сучасна ігрова приставка.

Відразу попереджу, що якщо ви вірите, що нижче в статті я розповім, як виконати всі пункти — ви дуже наївні і вам краще купити Synology або місце в хмарі.
Насправді, я не бачу нічого нереального в такому рішенні, просто, можливо, я недостатньо добре вивчив усю пропозицію, а можливо, тому що ринок самозбірних NAS давно в занепаді і комплектуючих для цієї мети все менше, а коштують вони дорожче.

Трохи про софт

Останнім часом я став такий лінивий, що мені навіть не хотілося самому конфігурувати KVM, так що я вирішив спробувати подивитися, що таке unRAID, який LinusTechTips так багато рекламували як зручний GUI для налаштування KVM і як хороший софт для NAS в цілому. Так як мені також ліньки було колупатися з mdadm - unRAID вбивав двох зайців.

збірка

Корпус

Далі йшла, на диво, складна частина збирання саморобного NAS на стандартних компонентах: вибір корпусу! Як я й казав, часи, коли корпуси з дверцятами, за якими знаходяться кошики з дисками, давно минули. А мені ще дуже хотілося використовувати як диски 2,5” п'ятнадцятимиліметрові Seagate (на момент написання, максимальна ємність — 5ТБ). Вони безшумні та займають мало місця. Поки що 5ТБ мені вистачало.

Очевидно, матплату хотілося miniITX, тому що здавалося, що одного слота розширення достатньо.

Виявилося, що є компактні корпуси, розміром з нетбук, але там всього одне місце під 2,5 та інші корпуси, де є вже парочка 3,5 відповідного розміру. Середини просто не існує. Навіть за гроші. Було щось на Алі, але знято з виробництва (ЗАВЖДИ чекайте на Алі, у пошуках незвичайних речей, іноді китайці вже все винайшли і поставили в масове виробництво). На якомусь дрібному форумі я вичитав SilverStone CS01B-HS, але ціна зовсім не вписувалася в категорію «бюджет». Втомившись від пошуків, я замовив його на Амазоні через Шипіто, чим повністю провалив третій пункт технічного завдання.

Проте тепер можна було не турбуватися про бюджет взагалі!

Раджу вам одразу зробити 3Д модель корпусу Вашої Мрії та виточити її на ЧПУ-верстаті із справжнього алюмінію. Буде трохи дорожчим за сильверстоун, але в тисячу разів приємніше. Тільки поділіться їй потім на гітхабі!

Процесор

Звичайно ж, хотілося як процесор взяти АМД, 2019 рік на дворі, штеуд тільки у тих, хто не сильно вникає. Але, намагаючись виконати пункт чотири "Підтримка віддаленого управління", знаходжу в АМД тільки Ryzen DASH і розумію, що в цьому випадку потрібно вибрати Intel.

Далі все як завжди: яндекс.маркет, фільтри, легкий гуглінг на дитячі проблеми та доставка завтра всередині МКАД безкоштовно.

Матплата

З матплат, власне, вибір з однієї - Gigabyte GA-Q170TN.

У мене немає жодного поняття, чому слот розширення всього х4, але, якщо в майбутньому ви захочете поставити туди десятигігабітну мережеву карту - запасу вистачить (але підключити сховище, що забезпечує таку продуктивність, ви вже не зможете).

Із великих плюсів: два слоти miniPCI-E. MikroTik випускає всі свої Wi-Fi карти (а нам потрібні саме вони, адже тільки вони і підтримуються в RouterOS) у форматі miniPCI-E, і, швидше за все, випускатиме ще багато років, оскільки це їхній основний стандарт карт розширення. Наприклад, ви можете купити їх модуль LoRaWAN та легко отримати підтримку пристроїв з LoRa.

Два Ethernet, але на 1 Гбіт. У 2017 році я висував закон про заборону продажу материнських плат зі швидкістю Ethernet до 4 Гбіт, але не встиг зібрати потрібну кількість підписів для проходу муніципального фільтра.

Диски

Як диски беремо два STDR5000200. З якоїсь причини вони коштують дешевше за ST5000LM000, які насправді там знаходяться. Після покупки перевіряємо, розбираємо, дістаємо ST5000LM000 та підключаємо по SATA. За гарантійного випадку — збираєте назад і здаєте, отримавши в обмін новий диск (не жартую, я так робив).

Я не став використовувати NVMe SSD, можливо, у майбутньому, якщо з'явиться потреба.

Intel у своїх найкращих традиціях розклав граблі: недостатньо підтримки в матплаті, підтримка vPro потрібна ще й у процесорі, причому ви втомитеся шукати таблицю сумісності. Якимось дивом я дізнався, що потрібен мінімум i5-7500. Але, оскільки на бюджет більше не було ліміту, я змирився.

У компонентах, що залишилися, нічого цікавого не бачу, їх можна замінити на будь-які аналоги, тому ось вам загальна таблиця з цінами на момент покупки:

Найменування
Кількість
Ціна
Вартість

Crucial DDR4 SO-DIMM 2400MHz PC4-19200 CL17 - 4Gb CT4G4SFS624A
2
1 259
2 518

Seagate STDR5000200
2
8 330
16 660

SilverStone CS01B-HS
1
$159 + $17 (доставка з Амазона) + $80 (доставка до Росії) = $256
16 830

Контролер PCI-E Espada FG-EST14A-1-BU01
1
2 850
2 850

Блок живлення SFX 300 Вт Be quiet SFX POWER 2 BN226
1
4160
4160

Kingston SSD 240GB SUV500MS/240G {mSATA}
1
2 770
2 770

Intel Core i5-7500
1
10 000
10 000

GIGABYTE GA-Q170TN
1
9 720
9 720

MikroTik R11e-5HacT
1
3 588
3 588

антени
3
358
1 074

Ліцензія RouterOS 4 рівня
1
$45
2 925

Ліцензія unRAID Basic
1
$59
3 835

Разом 66 рублів. Пункт три про економічну частину питання зруйнований в тріски, але гріє душу думка про те, що через десять років це залізо все ще виконуватиме поставлене завдання.

Налаштування софту далося досить легко, благо, він до цього сприяє: 95% можна накликати мишкою за один вечір. Можу описати це в окремій статті, якщо буде цікаво, оскільки не все було ідеально, але проблем, що не вирішуються, не було. Наприклад, не так просто виявилося прокинути дротові Ethernet адаптери в RouterOS, адже її список обладнання, що підтримується, досить мізерний.

Висновки після проходження кордону за сто днів uptime

  1. vPro саме для цього не потрібен. Це сильно звужує вибір матплат та процесорів, а для домашнього застосування ви обійдетесь бездротовим подовжувачем HDMI та бездротовою клавіатурою. У крайньому випадку (сервер стоїть у підвалі під залізобетонною плитою) – використовуйте подовжувач на кручений парі.
  2. 10 гігабітів потрібно було ще вчора. Середній жорсткий диск читає швидше ніж 120 мегабайт в секунду.
  3. Корпус з'їв чверть бюджету Це недопустимо.
  4. Швидкий процесор у NAS/роутері - потрібніший, ніж здавалося спочатку
  5. unRAID - дійсно хороший софт, є все, що потрібно і немає того, що не потрібно. Платиш один раз, якщо потрібно більше дисків — просять лише різницю у вартості ліцензій.

Мій колишній hap ac видавав близько 20 мегабіт із включеним шифруванням VPN тунелю. Зараз лише одного ядра i5-7500 вистачає, щоб видати гігабіт.

Робимо маршрутизатор та NAS на одному процесорі

PS

Я дуже радий, якщо ви дочитали до кінця, і вам було цікаво! Будь ласка, запитуйте, якщо щось залишилося неясно. Цілком міг забути.

Відразу відповім на очевидне:

— Навіщо все це можна просто купити Synology?
— Так, і я раджу вам так зробити. Це простіше, швидше, дешевше та надійніше. Стаття для ентузіастів, які знають, для чого їм додаткові можливості.

- Чому не FreeNAS, там є все, що є в unRAID, але безкоштовно?
— На жаль, опенсорс уже зовсім інший. FreeNAS пишуть такі самі програмісти на зарплаті. А якщо ви отримуєте їхню працю безкоштовно, то кінцевий продукт — це ви. Або їм скоро перестане платити інвестор.

- Можна взагалі все зробити на чистому Linux та ще заощадити!
- Так. Колись і я так робив. Але навіщо? Для мене завжди було проблемою налаштування мережі в Linux. Це нехай залишиться Computer Janitors. А RouterOS повністю вирішує цей клас проблем. Те саме і з MD RAID: незважаючи на те, що mdadm не дає зробити дурних помилок, дані я все одно втрачав. А unRAID просто не дає натиснути ту кнопку. Знову ж таки, ваш час не варто витрачати на ручне налаштування сховища.

— Але ж ти все одно встановив звичайну убунту у віртуалку!
— Заради цього все й починалося. Тепер у вас є свій особистий AWS з максимальною швидкістю підключення до вашої СГД, домашньої мережі та інтернету одночасно, чого не зможе дати вам ніхто. А які сервіси запускати у цій віртуалці – вирішувати вам.

— Будь-яка проблема і в будинку одразу немає ні Wi-Fi, ні інтернету, ні сховища.
- Лежить запасний роутер за 1 рублів, а з дисків нікуди нічого не подінеться. За весь час, крім дисків і кулерів, нічого саме не ламалося. Навіть звичайний неттоп пропрацював 000/24 майже десять років і чудово почувається зараз. Пережив два диски.

Тільки зареєстровані користувачі можуть брати участь в опитуванні. Увійдіть, будь ласка.

Писати другу частину про налаштування?

  • 60%Так99

  • 18.1%Мені не цікаво, але пиши30

  • 21.8%Не потрібно36

Проголосували 165 користувачів. Утрималися 19 користувачів.

Джерело: habr.com

Додати коментар або відгук