Домашний сервер перестал быть игрушкой энтузиаста: на нём держат файлы, резервные копии, медиатеку, умный дом и группу контейнеров. Разница между удачным и неудачным проектом обычно определяется на этапе выбора железа и первой настройки — переделывать потом дорого и больно. Разберём путь от пустого корпуса до работающей машины: какие компоненты брать, как поставить систему и какие сервисы поднять в первую очередь.

Определитесь со сценариями

Прежде чем выбирать железо, выпишите задачи: сетевое хранилище для бэкапов, медиасервер для двух телевизоров, несколько контейнеров, лаборатория для тестов. От объёма данных зависит дисковая подсистема, от числа сервисов — объём оперативной памяти, от требований к тишине — система охлаждения. Файловое хранилище на 10 ТБ и три лёгких сервиса требуют совершенно разных машин, и грамотный список задач избавляет от покупки лишнего.

Выбор железа

Три реальных маршрута. Первый — офисный мини-компьютер из вторых рук: Dell OptiPlex Micro или HP ProDesk. Вы получаете проверенную платформу, запчасти и малый расход (25–40 Вт под нагрузкой). Второй — мини-ПК на Intel N100 или N305: 6–10 Вт в простое, бесшумное охлаждение, но слабый процессор и обычно один слот под накопитель. Третий — самостоятельная сборка на mini-ITX: максимум расширения и максимум по энергопотреблению.

lscpu | grep -E 'Model name|^CPU\(s\):'
lsblk -o NAME,SIZE,TYPE,ROTA,MOUNTPOINT
free -h
cat /proc/sys/vm/swappiness

Для сервисов хватает 8 ГБ оперативной памяти, 16 ГБ нужны при виртуальных машинах и тяжёлых базах. Сеть — гигабит в большинстве случаев, 2.5GbE актуален при частых копированиях по дому. Обязательны второй слот под диск и нормальное охлаждение: домашний сервер работает без выходных и отпусков.

Диски: где система, где данные

Систему держите на SSD — подойдёт даже SATA, но с честным ресурсом записи. Данные — на механических дисках в формате CMR; диски SMR при больших заливках резервных копий роняют скорость и долго восстанавливаются. Проверьте SMART до начала работы:

sudo apt install smartmontools
sudo smartctl -i /dev/sda
sudo smartctl -t short /dev/sda
sudo smartctl -A /dev/sda | grep -E 'Reallocated|Pending'

Откажитесь от RAID5 на трёх дисках «ради надёжности»: при отказе одного диска восстановление часами нагружает систему, а вероятность второго отказа в это время не равна нулю. Проще и честнее — отдельный диск под бэкапы плюс копия в другом месте по схеме 3-2-1. Диски со значением Reallocated_Sector_Ct выше нуля считайте подозрительными: это ранний признак деградации, видимый ещё до появления ошибок чтения.

Установка системы

Для сервера берите минимальный нетинсталл дистрибутива Debian: он ставится без графики, а нужные компоненты доустанавливаются точечно. На этапе разметки оставьте раздел EFI для материнской платы с UEFI, корень на SSD и swap-файл — он гибче отдельного раздела и расширяется по мере роста данных. После установки сразу обновите систему и задайте понятное имя машины.

sudo apt update && sudo apt full-upgrade -y
sudo hostnamectl set-hostname nas01
timedatectl status | grep -E 'Local time|Time zone'

Первичная настройка после установки

Порядок действий фиксированный. Сначала сеть: серверу нужен статический адрес — резерв в роутере по MAC-адресу либо конфиг в /etc/network/interfaces при использовании ifupdown. Затем доступ: личный SSH-ключ вместо пароля, отдельный пользователь с sudo, запрет входа от root. Потом защита: ufw с правилом только для SSH и автоматические обновления безопасности.

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose
  • Проверьте, что ключ лёжит в ~/.ssh/authorized_keys, а права на каталог заданы как 700.
  • Отключите парольный вход строкой PasswordAuthentication no в /etc/ssh/sshd_config.
  • Настройте unattended-upgrades, чтобы патчи безопасности ставились сами.
  • Зафиксируйте время через systemd-timesyncd — иначе сломаются TLS и бэкапы.

Статический адрес и имя в сети

Сервисы без предсказуемого адреса живут недолго: после перезагрузки роутера динамическая запись меняется, и клиенты теряют файловый шар или панель управления. Для Debian с ifupdown статика описывается прямо в интерфейсе, а не в роутере:

auto eno1
iface eno1 inet static
    address 192.168.1.20/24
    gateway 192.168.1.1
    dns-nameservers 192.168.1.1

Альтернатива — резерв адреса по MAC-адресу в роутере: он проще и не требует правок при переезде на другой дистрибутив. Дополнительно поставьте avahi-daemon, чтобы машина отвечала на локальное имя вроде nas01.local без настройки DNS на каждом устройстве:

sudo apt install avahi-daemon
getent hosts nas01.local
ping -c3 nas01.local

Базовые сервисы

Следующий слой — то, ради чего сервер и строится. Файлы: Samba для доступа из Windows и macOS, общий каталог описывается в /etc/samba/smb.conf. Контейнеры: официальный репозиторий Docker с подписанными пакетами. Мониторинг: сначала journalctl и df, затем Netdata для метрик и алертов. Бэкапы: restic с ротацией и обязательной проверкой восстановления раз в месяц.

sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
sudo systemctl enable --now smbd nmbd

Сервисы включайте в автозагрузку сразу: enable, а не только start. Домашний сервер переживает перезагрузку роутера и кратковременное отключение электричества, и ручной запуск после каждого ребута — верный способ забыть что-то важное.

После первой перезагрузки проверьте, что всё поднялось само — список упавших юнитов должен быть пуст:

systemctl list-units --failed
journalctl -p err -b --no-pager | tail -20
df -h / /srv

Если юнит попал в список упавших, смотрите его состояние командой systemctl status имя-юнита: почти всегда причина в правах на каталог данных или в службе-зависимости, которая стартует позже. Такая проверка занимает минуту, но экономит часы поиска, когда сервис «не работает после перезагрузки».

Чек-лист запуска

  1. Железо проверено: SMART чист, память прошла memtest86+, сеть поднимается после ребута.
  2. Система обновлена, часы синхронизированы, имя машины задано.
  3. Вход по SSH-ключам работает, парольный вход отключён, ufw активен.
  4. Автоматические обновления безопасности включены и проверены журналом.
  5. Samba и Docker стартуют автоматически, права выданы минимально.
  6. Бэкап запущен и однократно восстановлен на тестовые данные.

Итог

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

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте