«Впечатления сисадмина о повседневной работе с виртуализацией OpenVZ»
Раздел: Социальные сети
В этом посте я поделюсь своими ощущениями по работе с системой виртуализации OpenVZ. Так как опыт работы администратором у меня небольшой, впервые я познакомился с OpenVZ, когда пришел на работу в компанию centos-admin.ru. Раньше у меня было мнение, что подобные системы используются в основном в рамках хостинг-провайдеров, но, как оказалось, виртуализация очень полезна и в повседневной работе системного администратора.Что такое OpenVZНемного материала из Википедии, чтобы понимать, о чем идет речь. OpenVZ — реализация технологии виртуализации на уровне операционной системы, которая базируется на ядре Linux. OpenVZ позволяет на одном физическом сервере запускать множество изолированных копий операционной системы, называемых «виртуальные частные серверы» (Virtual Private Servers, VPS) или «виртуальные среды» (Virtual Environments, VE). OpenVZ состоит из модифицированного ядра Linux и пользовательских утилит. Есть мнение, что виртуализация добавляет значительный оверхед ресурсов, но, за счет того, что OpenVZ является лишь надстройкой ядра, если специально не ограничивать ресурсы, разница между физическим сервером и VPS-контейнером практически незаметна. Кейс на примере нашего клиента 101XPСколько времени займет запустить 5-10 физических серверов, на каждом из которых будет работать по 2-3 контейнера с разным ПО не пользуясь виртуалиазцией? Работая над задачами нашего клиента, международного издателя игровых приложений 101XP, я в одни руки выполняю такой объем за 1 день. Безусловно, есть всевозможные chef и puppet, но не всегда есть время и ресурсы на их настройку и отладку. Активность в социальных играх или быстро растет, или наоборот спадает, что требует постоянного добавления или убирания новых площадок, а OpenVZ дает в этом колоссальную гибкость. К примеру, буквально за несколько дней после запуска лицензированной в России игры «Любимчики» на Одноклассниках, трафик вырос до 195000 DAU (Daily Active Users), а использование виртуализации дало возможность быстро добавить новые мощности. Разворачивание контейнеров из шаблонаПервый момент, на который я обратил внимание, это простота разворачивания контейнеров: достаточно скопировать готовый шаблон контейнера на физический сервер, в файле конфигурации прописать ip и hostname и сервер практически готов к работе. Для разного типа серверов (web, базы, и.т.д.) можно подготовить собственные шаблоны контейнеров, что так же экономит много времени. Копирование/перемещение контейнеровДля больших масштабируемых проектов часто требуется продублировать идентичный контейнер на другом физическом сервере. Контейнер достаточно скопировать с помощью rsync (важно указать ключ --numeric-ids, чтобы внутри контейнера не перепутались права). Копируем файлы контейнера, конфигурационный файл vz.conf, в который прописываем новые ip и hostname. Новый контейнер готов к работе! Локальные и удаленные бэкапыЕще один важный плюс: из физической машины (если не использовать ploop) контейнеры представляют из себя обычные папки со структурой операционной системы. Очень удобно прямо «на горячую» (а можно и с помощью chkpnt) делать бэкап всего контейнера как локально, так и удаленно. В дальнейшем не составит никакого труда развернуть из бэкапа как всю виртуальную машину, так и отдельные файлы. ЗаключениеИспользуйте виртуализацию — она дает возможность сисадмину крепко спать ночью. Ведь даже если ваш сервер полностью сгорит, можно быстро восстановить проект из удаленного бэкапа. Дата публикации: 2012-12-05 |