Создать образ ОС, который будет работать везде (виртуальный и физический)

Я собираюсь построить сервер CentOS для моего проекта. Чтобы сэкономить время, я хотел бы иметь возможность скопировать этот пользовательский сервер, чтобы его можно было быстро дублировать на физических и виртуальных серверах (включая онлайн-VPS, такие как Vultr и DigitalOcean).

Какова лучшая стратегия, чтобы я мог создать этот ISO-образ, который можно было бы легко установить везде?

Под стратегией я имею в виду, должен ли я сначала создать физический сервер или начать с виртуального? И как я могу создать этот ISO после установки моего сервера?

2 ответа

Решение

Создайте файл кикстарта

Полный процесс слишком широк, чтобы вписаться в ответ (и есть графический интерфейс), и использовать его для сценариев до и после установки, чтобы существенно автоматизировать весь процесс.

Возможно, вы также захотите запустить приложение в контейнере, таком как docker, либо самостоятельно, либо в сочетании с вашим исходным кодом iso, чтобы вы могли упаковать свои зависимости и пакеты в один или несколько контейнеров. Я не фанат этого подхода (так как мне бы хотелось, чтобы все было готово, но это дало бы вам максимальную стабильность).

Вы хотели бы использовать технику виртуализации, чтобы заставить ее работать везде.

Причина, по которой я не предлагаю изображение, связана с тем, что на каждой целевой машине установлено разное оборудование. Виртуализация устраняет эту проблему с помощью стандартного оборудования в гостевой системе.

Это означает, что вам придется выяснить, какую платформу виртуализации вы собираетесь использовать. Это могут быть Microsoft Hyper-V, Oracle VM VirtualBox, VMWare, KVM и т. Д.

В зависимости от того, какая у вас среда разработки и какие серверы, вы можете быть ограничены в своем выборе.

Если вы используете Windows в качестве среды, то Hyper-V был бы подходящим вариантом.

Платформы виртуализации содержат несколько файлов. У них есть файл настроек (содержит настройки для виртуальной машины, и у них есть файл контейнера, который является образом подключенного жесткого диска.

Вам нужно всего лишь скопировать файл контейнера и при необходимости восстановить виртуальную машину в соответствии со спецификациями хоста.

Это означает, что, если программное обеспечение еще не установлено, создайте новый виртуальный компьютер и вместо создания нового виртуального жесткого диска выберите существующий и перейдите к своему образу. Все должно работать из коробки.

Если Hyper-V не подходит, потому что вы не ограничены только окнами, Oracle VM может работать на Linux, Mac и Solaris.

Самое большое различие между hyper-v и oracle vm состоит в том, что hyper-v позволяет требовать ресурсы только тогда, когда они нужны гостю, тогда как с oracle vm он резервирует ресурсы при запуске vm, то есть вы не можете запускать 2 vm с каждый 8 ГБ оперативной памяти, если ваша система имеет 16 ГБ оперативной памяти. (хозяину тоже нужен баран)

Когда вы говорите о серверах, Windows Server поставляется с базовой версией, которая является очень легкой и идеальной для использования в качестве основы для размещения серверов внутри с использованием Hyper-V. Microsoft даже представила Windows Nano Server, который спроектирован так, чтобы быть как можно более легким, позволяя размещать другие серверы с помощью Hyper-V. Недостатком Microsoft Windows Nano Server является то, что он очень новый (поставляется с Windows Server 2016) и требует много усилий, чтобы заставить его работать. Кроме того, сервер Nano имеет очень простой интерфейс и требует удаленного управления с помощью powershell для управления им.

Это твоя стратегия. Я не уверен, насколько хорошо он будет работать с Vultr и DigitalOcean, так как у меня нет с ними опыта, и я не знаю, позволят ли они это, но если они не могут этого сделать, в принципе нет другого способа, кроме ручной настройки эти серверы. Вы можете спросить, используют ли они Hyper-V и готовы ли вы смонтировать для вас файл VHDX.

Другие вопросы по тегам