Оглавление
Если у вас дома есть устаревший компьютер, который пылится без дела в тёмном углу, может возникнуть желание выбросить его или разобрать на компоненты. Среди более полезных вариантов применения таких компьютеров можно назвать его превращение в устройство потоковой трансляции или в подарок для ребёнка. Ещё одним вариантом является использование компьютера в качестве сетевого хранилища. На самом деле устройства, известные под аббревиатурой NAS, могут делать больше, чем просто хранить файлы. Создать подобное устройство самостоятельно способен любой желающий.
Зачем превращать старый компьютер в NAS вместо покупки настоящего NAS?
Существует не так много причин, по которым можно использовать старый компьютер в качестве сетевого хранилища вместо того, чтобы купить реальное сетевое хранилище. Например, вы просто не хотите увеличивать количество электронных отходов, заботясь об экологии. Если ваш старый компьютер сохраняет работоспособность, ему можно найти полезное применение. Даже старый компьютер наверняка имеет производительность выше, чем настоящие NAS.
Другой плюс состоит в том, что вы знаете возможности своего компьютера, на что он способен, а на что нет. Например, если используется процессор Ryzen 7 3700x без встроенной графики, то нужна дискретная видеокарта для перекодирования видео. Если вы купите NAS с целью потоковой трансляции видео формата 4K с кодеком HEVC, может оказаться, что такая функциональность не поддерживается.
Естественно, нельзя забывать и о деньгах. Компьютер у вас уже есть и может потребоваться добавить разве что пару не самых дорогих компонентов. В первую очередь это жёсткие диски для превращения ПК в сетевое хранилище. Необходимо несколько HDD для настройки конфигурации RAID с целью обеспечения избыточности данных и повышения скорости доступа. Всегда можно добавить дополнительные накопители позже.
От выбора операционной системы зависит, насколько просто в дальнейшем будет расширять хранилище. На материнской плате необходимо иметь достаточное количество портов SATA, а в системном блоке должно быть достаточно отсеков для размещения хранилищ. Если в устройстве есть DVD-привод, можно купить переходники для слотов 5,25 дюйма, чтобы установить туда накопители размером 3,5 дюйма.
Также не помешает SSD для загрузки системы. Он может быть небольшого объёма, хватит 64 ГБ. Или можно взять вместительный накопитель и разбить его на разделы, чтобы применять дополнительный раздел для кэширования, но это необязательно. Может потребоваться накопитель большого объёма, если стоит задача создать высокоуровневое сетевое хранилище для энтузиастов, или загрузочный накопитель будет применяться для других целей. Операционным системам вроде TrueNAS подойдёт не любое загрузочное устройство.
Выбор операционной системы
Существуют разные методы создания программной части сетевых хранилищ. Это могут быть простые способы, а могут быть методы для энтузиастов и опытных пользователей. Ко второму варианту относится установка Debian, использование чего-то вроде Proxmox для управления виртуальной машиной, затем самостоятельная настройка всего этого. Кому-то это может нравиться, но потребуется немало времени на получение уровня гибкости, которая большинству обычных пользователей ни к чему.
Вместо этого можно использовать операционную систему TrueNAS Scale на основе Debian. Она устанавливается на NAS и управляет контейнерами Docker посредством Kubernetes. Именно в контейнерах запускается большинство приложений на NAS. Можно представить его как изолированный цифровой остров для приложений. Чтобы они могли получать доступ к другим контейнерам виртуальной машины и обмениваться данными, между этими островами создаются мосты. Контейнеры изначально изолированы, что повышает уровень безопасности и даёт приложениям возможность обмениваться только теми данными, которыми вы разрешаете им обмениваться.
Чтобы установить и настроить операционную систему TrueNAS, нужен компьютер с подключенной клавиатурой и видеовыход. Затем, если диск с TrueNAS включён и автоматически загружается при перезагрузке системы, можно обходиться без подключения этого компьютера к монитору. Для сетевого хранения достаточно кабеля питания и Ethernet для доступа к интернету. Если в процессоре нет встроенной графики, при первоначальной настройке системы потребуется отдельная видеокарта, а затем сетевое хранилище сможет работать без неё.
Среди других пригодных для работы с сетевым хранилищем операционных систем можно назвать следующие:
- TrueNAS Core.
- UnRAID.
- OpenMediaVault.
- Rockstor.
Всегда следует изучать, какая операционная система подойдёт под ваши потребности.
TrueNAS Core
TrueNAS Core с технической точки зрения поддерживается лучше по сравнению с TrueNAS Scale, а основана система на FreeBSD. Большинство пользователей отдают предпочтение Scale для запуска реальных приложений. Если вы хотите, чтобы ваше сетевое хранилище применялось не только для хранения, вряд ли стоит выбирать Core, если только вы не против трудностей. Core отличается стабильностью работы, большим выбором документации и длительной поддержкой. Со Scale работать обычно проще, особенно если у вас уже имеется опыт взаимодействия с Linux. Интерфейс Core выглядит так же, как на TrueNAS Scale.
UnRAID
UnRAID представляет собой отличный выбор для сетевого хранилища, но за эту операционную систему придётся заплатить. К тому же здесь есть ряд ограничений, вроде числа поддерживаемых дисков не больше 30. Большинству пользователей этого будет достаточно, но вот платную систему могут захотеть немногие. Как и в TrueNAS, здесь поддерживается встроенный поиск приложений, поэтому можно создавать сервисы потоковой трансляции мультимедиа или даже серверы Minecraft.
OpenMediaVault
OpenMediaVault имеет не самый современный внешний вид, но с функциональностью здесь всё в порядке. Необязательно будет использовать только файловую систему ZFS, что даёт повышенную гибкость при добавлении и замене дисков. Также отсутствуют аппаратные требования. OpenMediaVault может работать даже на Raspberry Pi, а пользовательский интерфейс системы более простой и практичный. Если в многочисленных меню TrueNAS определённое действие потребуется долго искать, то в OpenMediaVault то же самое можно сделать значительно быстрее. Это разное программное обеспечение под разные задачи, но стоит познакомиться с ним.
Что можно делать с сетевым хранилищем
После завершения настройки можно получать доступ к сетевому хранилищу с любого устройства в одной сети. Метод доступа зависит от используемой операционной системы. В частности, TrueNAS Scale предлагает веб-интерфейс. В нём можно устанавливать приложения и настраивать сетевое хранилище, а также выполнять все другие действия.
Если вы хотите управлять серверами Minecraft, для этого существует платформа MineOS. Серверы можно размещать на своём NAS и давать к ним доступ другим пользователям. Потребуется перенаправить порты на маршрутизаторе для обеспечения доступа к серверу из интернета.
Можно создать альтернативу Google Фото под названием Nextcloud. Это сервис облачного хранения данных, к которому можно получать доступ автоматически и выполнять синхронизацию с несколькими устройствами. Сделанные на смартфоне фотографии будут автоматически сохраняться в Nextcloud.
Ещё можно настроить Jellyfin. Он напоминает сервис Plex, только бесплатный и с открытым исходным кодом. В нём вы можете размещать свои мультимедийные файлы. Например, если вы храните много DVD и телепередач, можно разместить их в сетевом хранилище и транслировать на домашние устройства. Есть богатый выбор средств автоматизации, которые настраиваются при помощи Jellyfin, и приложений для работы с ним.
Во всех случаях необходимо находиться в рамках одной сети, получая доступ к этим сервисам. Ради безопасности вряд ли стоит давать им доступ в интернет. Для защиты есть смысл настроить VPN или обратный прокси-сервер. Пример, настроить Wireguard посредством приложения wg-easy из каталога TrueCharts TrueNAS. Здесь можно создавать профили и импортировать в любой из клиентов Wireguard, получая доступ к сервисам внутри домашней сети с любого устройства. Это даёт возможность смотреть мультимедиа на сервере Jellyfin откуда угодно, управлять сетевым хранилищем и всем остальным.
Это работает при наличии статического IP-адреса. Если у вас его нет, можно создать динамический DNS. Без этого доступ к сетевому хранилищу из-за пределов домашней сети может быть затруднён.
Например, можно транслировать видео формата 4K с устройства, а Jellyfin будет перекодировать файл в более низкое разрешение, если есть такая необходимость. Или же можно просто использовать Nextcloud в качестве средства хранения мультимедийных файлов без трансляции и перекодирования. Многие используют старые платы Raspberry Pi с подключенным жёстким диском для трансляции мультимедиа без перекодирования.
Выбор аппаратных компонентов зависит от того, что именно вы собираетесь делать. В любом случае вы сможете достаточно легко превратить старый компьютер в сетевое хранилище с тем или иным уровнем функциональных возможностей.