Назад | Перейти на главную страницу

Какое решение виртуализации было бы лучшим для этого конкретного случая использования?

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

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

Кроме того, у меня есть пара проблем:
Производительность, поскольку у меня нет машины-убийцы, наличие полностью виртуализированной ОС для каждого сервера, вероятно, замедлило бы ее до обхода.
И переносимость, то есть возможность повторно использовать эти конфигурации с минимальной настройкой, когда я перемещаю их в vps или другие локальные ящики.

Учитывая это, я в основном сузил его до виртуализации на уровне операционной системы.

OpenVZ казался подходящим вариантом, но потом я узнал о LXC и Linux V-Server, и теперь я запутался.

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

ура!

Это аналогичные формы виртуализации - только на уровне ОС. Это имеет несколько преимуществ перед полной виртуализацией.

  • Небольшие накладные расходы - Для маломощных машин я бы рекомендовал использовать любой из них. У меня полдюжины виртуальных машин, работающих в системе VIA Samuel 2 с тактовой частотой 400 МГц и имеющей всего 256 МБ ОЗУ под OpenVZ. Вы будете использовать только то же количество ресурсов, что и при запуске приложений на одном компьютере. Несколько экземпляров приложения на разных машинах фактически совместно используют ресурсы.
  • Доступ к файлам - Передача файлов между хост-узлом с виртуальной машиной и между виртуальными машинами тривиальна, поскольку все они используют одну и ту же файловую систему на хосте. Итак, я могу просто проверять и управлять файлами виртуальной машины напрямую с хост-узла. Это очень пригодится в целях разработки.
  • Резервное изображение - Поскольку файловая система является общей, вы можете просто запустить rsync в каталогах ВМ для резервного копирования любой машины. Вы также можете легко реплицировать одну машину, просто сделав копию каталога.

Разница между OpenVZ и VServer кажется просто разными разновидностями одного и того же. Вы можете легко перемещать свои виртуальные машины между двумя системами, как описано на их веб-сайтах. LXC выглядит новее по сравнению с двумя другими более зрелыми системами.

Мне очень повезло с KVM в подобных ситуациях. Да, это решение для полной виртуализации машины, но если ядро ​​в KVM простаивает, оно не использует никаких ресурсов, кроме ОЗУ. (Для любого решения виртуализации вы хотите добавить как можно больше оперативной памяти)

Обратите внимание, что безголовый Linux с Apache, Mysql или аналогичным может работать с 256 МБ ОЗУ или около того, пока вы загружаете тестовый сценарий, а не полноценный производственный сайт.