Все говорили мне, что для NAS нужна операционная система NAS, и я верил в это годами. На моем домашнем сервере работает TrueNAS 25.10, и многие люди продолжают возвращаться к нему по уважительной причине. Затем я посмотрел на свою приборную панель и увидел, что 3,2 ГБ из 8 ГБ моей оперативной памяти ушло до передачи одного файла.
Учитывая такую дорогую оперативную память, покупка одного из лучших NAS-устройств кажется плохим решением. Поэтому я установил простой Debian 13 и добавил Cockpit, панель управления браузером для серверов Linux. Через три недели он делает больше с меньшими затратами, и я не собираюсь возвращаться.
TrueNAS требует 8 ГБ только для своей работы
Математика – это не математика
TrueNAS не случайно тяжелый. Его собственное руководство по аппаратному обеспечению требует 8 ГБ ОЗУ в качестве базового уровня, поскольку промежуточное программное обеспечение, веб-интерфейс, система приложений и ZFS используют общий пул памяти. На моем перепрофилированном настольном компьютере с двумя дисками WD Red Plus емкостью 4 ТБ в зеркале у ZFS оставалось мало места для кэша чтения, что создавало впечатление NAS. Каждый раз, когда я открываю приборную панель, панель памяти становится немного сварливой.
Я был не единственным, кто это заметил. Коллега, который тестировал TrueNAS с Unraid и ZimaOS, назвал минимальный размер 8 ГБ в середине заявления об оперативной памяти довольно большим числом, и я почувствовал это в своем кошельке.
Другая стена подойдет. TrueNAS построен на Debian, но попробуйте установить пакет из оболочки, и вы получите категорический отказ: «Инструменты управления пакетами отключены на устройствах TrueNAS». Я могу понять почему, потому что это устройство, и iXsystems не хочет, чтобы люди ломали его и затем писали отчеты об ошибках. Однако мне просто нужен перерыв в резервном копировании за пределами офиса, и ответ всегда заключается в том, чтобы обернуть его в приложение.
Как перенести пул TrueNAS ZFS в Debian с помощью Cockpit
Самое страшное — это приказ
Я сохранил файл конфигурации TrueNAS, экспортировал пул и установил Debian 13 без рабочего стола, только SSH и стандартные системные утилиты. ZFS находится в репозитории Contrib Debian, а в trixie-backports в настоящее время используется OpenZFS 2.4.3, которая новее, чем версия 2.3.4, поставляемая с TrueNAS 25.10. Один zpool import tank в конце концов мои 3,6 ТБ фотографий, рабочих файлов и ISO-образов Linux, которые я поклялся однажды использовать, оказались именно там, где я их оставил. Возможно, я громко выдохнул.
Прежде чем что-либо стирать, экспортируйте пул из TrueNAS и сохраните копию файла конфигурации на сервере. Если перенос пойдет боком, можно переустановить TrueNAS и импортировать все обратно.
Установите Cockpit из резервных копий Debian, чтобы получить последнюю версию: sudo apt install -t trixie-backports cockpit cockpit-podman cockpit-machines. Затем панель мониторинга работает на порту 9090 на вашем сервере.
Сама кабина представляет собой однострочную установку, а плагины выполняют часть NAS. Служба совместного использования файлов Cockpit 45Drives управляет общими ресурсами Samba и NFS (она также обрабатывает iSCSI и S3), Cockpit-Podman запускает контейнеры, а Cockpit-machines обрабатывает виртуальные машины. Восстановление моих четырех общих ресурсов SMB и одного экспорта NFS заняло около 15 минут, главным образом потому, что я переименовал общий ресурс в середине процесса, а затем забыл, какое имя выбрать.
Если вы превращаете старый компьютер в NAS с нуля, это тот же процесс, за исключением импорта. Вы выбираете диски, создаете пул и делитесь им через браузер.
Использование памяти кабины по сравнению с TrueNAS на том же оборудовании
Активация сокета делает тяжелую работу
Хитрость в том, что Cockpit почти не работает. Он запускается по требованию через активацию сокета, поэтому, когда никто не вошел в панель управления, он не работает. Все, что он показывает, — это реальная система, то есть те же службы, журналы, диски и контейнеры, которыми я буду управлять с терминала. Закройте вкладку, и сервер снова станет тихим ящиком Debian.
|
TrueNAS 25.10 |
Debian 13 + Кокпит |
|
|---|---|---|
|
Системная оперативная память используется в режиме ожидания (без приложений) |
3,2 ГБ |
640 МБ |
|
Загрузитесь на общий ресурс SMB онлайн |
2 мин 41 сек |
52 секунды |
|
Бег каждый день |
2 приложения |
3 контейнера + 1 ВМ |
|
Установите любой пакет Debian |
Неа |
Да |
Когда я впервые открыл страницу «Обзор кабины» после переключения, график памяти был настолько низким, что я предположил, что он сломан. Я обновил его три раза, затем проверил free -h на терминале, на всякий случай. Он не сломан. Вот так выглядит простаивающий сервер Debian.
Освободившаяся память сразу же принялась за работу. Jellyfin, Syncthing и Uptime Kuma теперь работают как контейнеры Podman, а виртуальная машина Home Assistant объемом 2 ГБ размещается на машинах кабины. При использовании TrueNAS работа этой виртуальной машины одновременно с двумя приложениями привела к замене устройства. Здесь ZFS по-прежнему получает около 3,4 ГБ для своего кеша, когда все работает.
Даже скучные задания перенесены в браузер. Благодаря Cockpit 356 страница «Службы» может создавать таймеры systemd, которые запускают команды оболочки, поэтому мой ночной снимок и резервная копия restic на сервере друга — это два таймера, которые я могу редактировать, не открывая терминал.
Резервные копии моего Mac — единственное, что сломалось
И это не вина Кокпита.
Два дня спустя мой MacBook Air M2 больше не нашел своей доли в Time Machine. TrueNAS автоматически настраивает для меня дополнительные возможности Apple, а простая Samba этого не делает. Часть необходима vfs objects = fruit streams_xattr и fruit:time machine = yesа серверу avahi-daemon нужен Mac, чтобы найти его в сети. Для этого в Cockpit-file-sharing есть окно расширенных настроек, поэтому, как я понял, исправление заняло пять минут. Эта мысль всю ночь стала побочным квестом.
Это настоящая загвоздка. В TrueNAS есть усовершенствования, которые я не замечал, пока они не исчезли, такие как задачи моментальных снимков, репликация и оповещения, которые отправляются вам по электронной почте до того, как диск выйдет из строя. Debian отправляет ежемесячную очистку ZFS прямо из коробки, но оповещения зависят от вас. Я настроил smartd и демон событий ZFS на отправку мне электронной почты, и это работает, но меня ничто не удерживает. Если коробка сломается в 2 часа ночи, служба поддержки — это я.
Так что, если вам нужно устройство, TrueNAS по-прежнему является правильным решением, и даже в домашней лаборатории, построенной на виртуальных машинах, есть варианты получше, такие как Proxmox. Обычный Linux помещается в небольшую коробку, которая умеет всего понемногу, и для моей машины сделка окупилась в первую неделю.
Обычный Linux — это операционная система NAS, которая мне нужна
Думаю, мне будет не хватать TrueNAS больше, чем сейчас. Число простоя в 3,2 ГБ, с которого все это началось, теперь составляет 640 МБ, а коробка, которую я почти заменил, работает больше, чем когда-либо. Пролистывать библиотеку фотографий на телефоне стало быстрее, потому что в ZFS наконец-то появилось место для кэширования.
Если вам комфортно работать с терминалом, а ваш NAS использует скромное оборудование, простой Debian с Cockpit стоит выходных. Просто настройте Time Machine, прежде чем ваш Mac заметит это.