Недавно, в очередной раз надо было перенести все сайты с одного сервера на другой. Ситуация рядовая. Бывает клиент переезжает в другой датацентр, бывает покупает другой сервер. И даже несмотря на то, что у меня обычно на это уходит не более 3-4 часов, все равно это порядком надоедает и утомляет. Последний раз я решил придумать что нибудь, чтобы облегчить себе труд :)
Подумалось мне, что было бы неплохо переносить образ разделов сервера целиком, без всякой перенастройки. Естественно, при удаленном администрировании, просто взять образ винта и впихнуть на новый сервер – это верный путь к KVM и загрузки с LiveCD. Потому что перед загрузкой и IP надо сменить, да и банально образ может не полезть на винт. Поэтому решил пойти другим путем – запихнуть все что у меня крутится на сервере в какой нибудь виртуализатор.
Выбор пал на Xen. Поставил xen-ядро, поднял dom0 и начал думать, как это все настроить, чтобы и работало, и мне было удобно. Делать одну виртуальную машину, где будет работать всё-всё-всё не хотелось. Причин тому несколько, но основная – нужно было предусмотреть вариант, когда для каждого клиента пользующегося сервером, можно было бы выделить отдельную виртуальную машину с ограниченными ресурсами. Но зачем каждому клиенту настраивать свою почтовую подсистему и сервер баз данных, когда это все можно настроить один раз и для всех?
В итоге, получилось что то такое: