При принятии решения о том, какие службы вы хотите запустить на своем NAS, вероятно, потребуется ответить на вопрос об обычной установке приложений или использовании той или иной формы виртуализации и контейнеров. Стоит ли запускать виртуальные машины (ВМ) или устанавливать контейнеры Docker? Правильного ответа нет, поскольку это зависит от того, как вы хотите подойти к развертыванию и управлению службами. Виртуальные машины и контейнеры Docker — отличные варианты, и каждый из них имеет свои плюсы и минусы. Хотя я рекомендую использовать Docker, когда это возможно, виртуальная машина также может иметь смысл для служб NAS. Вот почему вам следует использовать Docker или виртуальные машины для своих приложений и сервисов.

Связанный
Руководство по контейнерам Linux: введение в контейнеры
Контейнеры уже много лет являются модным словом… но что они собой представляют?
4 Это просто проще
Хотите запустить собственный веб-сервер? Вам понадобится несколько зависимостей, которые необходимо будет установить отдельно. Этими пакетами затем необходимо будет управлять при развертывании обновлений, и все, настроенное для использования этих пакетов, будет использовать одни и те же ресурсы. Используя контейнер, вы просто загружаете и устанавливаете образ, содержащий все необходимое для запуска веб-сервера. Он установит все в изолированном экземпляре, поэтому любые изменения, внесенные в базовое программное обеспечение, повлияют только на это приложение или службу. Это делает установку, обновление, управление, удаление приложений и т.п. гораздо более удобными. Сломать что-то сложнее.
3 Повышенная безопасность благодаря песочнице
Основная причина запуска чего-либо через контейнеры Docker или виртуальную машину — безопасность. Контейнеры и экземпляры образов виртуальных машин гораздо безопаснее, чем запуск служб и приложений непосредственно на вашем NAS, также известном как «голое железо». Контейнеры похожи на виртуальные машины, поскольку программное обеспечение запускается в изолированной среде хост-системы. В отличие от виртуальной машины, которая имеет собственную операционную систему, контейнеры полагаются на базовое программное обеспечение хоста. Контейнеры совместно используют библиотеки и двоичные файлы операционной системы хоста и имеют только ресурсы и зависимости, необходимые для запуска конкретного приложения, которое они содержат.
Оба значительно более безопасны, чем экземпляры с голым железом, где они напрямую взаимодействуют с операционной системой хоста. Контейнерами и виртуальными машинами также можно легко управлять, удалять, обновлять и выполнять другие действия, не затрагивая друг друга или что-либо еще в хост-системе.
2 Запустите любую ОС по вашему выбору
Лучшая часть виртуальной машины — это возможность запускать практически любую операционную систему. Вам нужно запустить Windows, чтобы запустить одну или две службы? Вы поняли! Дебиан? Это тоже возможно. Вы можете использовать полный стиль Inception и запустить TrueNAS Scale внутри TrueNAS Scale. Думайте о виртуальной машине как об экземпляре, эмулируемом в вашей системе. Можно установить Windows 11 через виртуальную машину на вашем NAS и использовать ОС Microsoft, как на любом другом ПК. Вы можете подключаться к Интернету, устанавливать программное обеспечение, запускать игры и многое другое. Все изолировано внутри песочницы, поэтому нет риска для других частей NAS.
1 Тестируйте новые вещи
Контейнеры и виртуальные машины позволяют легко тестировать новые сервисы, приложения и многое другое, не затрагивая остальную часть вашей рабочей среды. Если вы захотите внести некоторые изменения в определенную часть настройки вашей домашней лаборатории, это может оказаться полезным с помощью виртуализации, поскольку вы сможете устранить любые проблемы перед развертыванием. Это удобно, когда несколько человек полагаются на ваши размещенные услуги, например члены семьи дома.
Используйте виртуальные машины и контейнеры
Я всегда рекомендую использовать контейнеры или виртуальные машины вместо установки приложений на «голое железо», но иметь разумное сочетание того и другого. Виртуальные машины отлично подходят для запуска выделенных систем и служб, которым необходимо удовлетворить определенные требования, будь то конкретная ОС или какой-либо другой ресурс. Контейнеры отлично подходят практически для всего остального. Использование виртуальных машин и Docker позволит вам с легкостью развертывать, управлять, обновлять и даже удалять приложения и службы. Повышение безопасности NAS в ходе этого процесса — вишенка на этом сладком торте.