Установка системы управления виртуализацией (openvz, kvm) proxmox 2.2 на сервер в Hetzner / Хабрахаб…



9 ноября 2012 в 19:40

Установка системы управления виртуализацией (openvz, kvm) proxmox 2.2 на сервер в Hetzner из песочницы



Proxmox для конечного потребителя веб интерфейсом для управления виртуальными машинами, позволяет создавать виртуальные машины linux в kvm и openvz контейнерах, windows в kvm. Резать ресурсы в видео количества ядер cpu, объема памяти, ограничения io в мегабайтах в секунду и iops (только kvm). Присутствуют автоматические бекапы, возможно делать их на удаленное хранилище, можно пометить некоторые диски в виртуалках галочкой “не для бекапа”.



Дня начала мы заказываем сервер в hetzner с поддержкой виртуализации в процессоре(это все сервера ex и xs) с Debian 6.0 minimal x64bit. В будние дни сервер мне обычно выдают в течении часа. Далее заходим по ssh и меняем пароль рута для пущей безопасности.

passwd root

Установка proxmox



Устанавливаем ключ репозитория proxmox

wget -O- «
download.proxmox.com/debian/key.asc» | apt-key add — Прописываем в /etc/apt/sources.list

# PVE packages provided by proxmox.com

deb download.proxmox.com/debian squeeze pve


Делаем апдейт данных из репозитория

apt-get update


Устанавливаем сам proxmox

aptitude install proxmox-ve-2.6.32

reboot


Веб интерфейс доступен по ip:8006 написан на extjs и довольно приятен.


Готовые образы для openvz контейнеров можно скачать с download.openvz.org/template/precreated/, ложить их надо в папку

/var/lib/vz/template/cache


Исошки для установки операционнок для kvm надо ложить в /var/lib/vz/template/iso

Заказ дополнительных ip и настройка сети



Следующим шагом будет заказ подсети ip адресов в панели управления hetzner robot.your-server.de/ (одиночные ip выдают по 1 евро до трех штук) выберите там сервер и перейдите в папку ips и кликните на Ordering of additional IP, failover IP or subnet, выберите нужный размер подсети, в графе как вы их будете использовать я обычно указываю for my new vps. Стоимость подсети на 8 ip 15+5.4=20.4 евро, для 16 ip 15+11.2=26.2 евро. Ip в будний день в рабочее время выдают в течении часа.




После этого нам надо настроить vmbr интерфейс в proxmox, если вам выдали подсеть 78.36.234.176 / 29 т о в proxmox выбираете свой сервер->network>create->bridge




После этого нужно сделать перезагрузку или в консоли linux сделать service networking restart, чтобы запустить новый интерфейс.

По поводу ipv6 для kvm у меня так и не получилось его запустить за три дня мучений, если у кого то есть рабочий конфиг для proxmox с ipv6 буду рад его увидеть.


Ну вот в целом и система готова к работе, вам осталось скачать iso или образы для openvz и нажимать кнопки create ct (openvz) и create vm (kvm).

Проблемы




Наблюдаются проблемы с установкой proxmox на сервера EX 6S(проблемы с драйверами на сетевку для текущей версии ядра, пришлось вручную ставить более старое ядро proxmox, проблема наблюдалась в proxmox 2.1, возможно решено в 2.2) и EX 4S (проблема в текущей версии time to time зависание сервера, на данный момент обновился proxmox с версии 2.1 до 2.2 возможно, что то поправили, проблема наблюдается на нескольких серверах).


Если есть какие то вопросы задавайте.


UPD1 от fon.vosi@gmail.com:

Привет, я забаненый тролль с хабры (http://habrahabr.ru/users/vosi/) )))


Хотел дополнить статью своим опытом настройки ипв6


у меня это работает так


в /etc/network/if-up.d/

лежит исполняемый файл ipv6


в нем


#!/bin/sh


ifconfig vmbr0 add 2a01:—-:161:90c0:0100::1/80

ip -6 route add 2a01:—-:161:90c0::1 dev vmbr0

ip -6 route add default via 2a01:—-:161:90c0::1 dev vmbr0


этим я назначил ип 2a01:—-:161:90c0:0100::1 с подсетью 80 в физ. машину


далее, в контейнере


/etc/network/interfaces


auto eth0

iface eth0 inet static

address 5.5.5.5

netmask 255.255.255.224

gateway 5.5.5.1

iface eth0 inet6 static

address 2a01:—:161:90c0:101::1/80

up ip -6 address add 2a01:—:161:90c0:101::2 dev eth0

up ip -6 address add 2a01:—:161:90c0:101::3 dev eth0

up ip -6 address add 2a01:—:161:90c0:101::4 dev eth0

up ip -6 address add 2a01:—:161:90c0:101::5 dev eth0

up ip -6 address add 2a01:—:161:90c0:101::6 dev eth0

up ip -6 address add 2a01:—:161:90c0:101::7 dev eth0

up ip -6 address add 2a01:—:161:90c0:101::8 dev eth0

up ip -6 address add 2a01:—:161:90c0:101::9 dev eth0

повторить для других, если нужно, как у меня, каждому сайту свой ипв6


up ip -6 route add 2a01:—:161:90c0::/64 dev eth0

up ip -6 route add default via 2a01:—:161:90c0::1 dev eth0


вот собственно и все, трафик внутри своей подсети крутится внутри, во внешку идет через хетзнеровский гейт


Кстати, еще б дописал бы про лвм … ибо по дефолту хетзнер вроди не стаивит разделы лвм, я переставлял дебиан вручную


там есть ньюансик, что нужно оставить неразмеченным в физикал вольюме где- то 10-20 гиг (ну в зависимости от размеров контейнеров), чтоб работали онлайн бекапы (т.е. без остановки вирт. контейнера, используя дамп логического тома)

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


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

+16
9693
opium –12,4

комментарии (34)

k0ldbl00d, 9 ноября 2012 в 20:04 #

Узнал о Proxmox пару недель назад, когда пытался выбрать между kvm и Hyper-V. В итоге выбор пал на kvm под управлением Proxmox. Удобство не бывает лишним.
+1

Hayden, 9 ноября 2012 в 21:49 #

Немного не в тему, но есть ли хотя бы какое-то резервного копирования для KVM с возможностью инкрементальных бэкапов (пример Veeam для VMWare), vzdump и lvm снэпшоты это хорошо, но не всегда достаточно функционально.


Спасибо
+1

opium, 10 ноября 2012 в 06:19 #

Юзайте любой софт для бекапа внутри машин. Внешнего софта нет, а доверять бекап sql тому же Veeam я бы не стал.
+1

uncia, 10 ноября 2012 в 10:06 (комментарий был изменён) #

В Proxmox версии 2.2 появилась возможность делать инкрементальные Snapshot'ы KVM машин, причем не выключая машину — налету. Диски должны быть qcow2.
0

iDen, 9 ноября 2012 в 21:57 #

Чем лучше OpenStack_а?
+1

inquisitor_ua, 9 ноября 2012 в 22:07 #

Прост, доступен, легче. Linux under linux в реализации openvz — вообще не создает дополнительных нагрузок в виде полной виртуализации.
0

Tah, 10 ноября 2012 в 05:01 #

Стабильностью (использую на продакшене уже второй год) и возможностью установки проксмокса даже чайником. А вообще это два разных типа систем.
0

logan, 9 ноября 2012 в 22:19 #

Но ЗАЧЕМ? Установить на систему голый KVM или XEN — задача 5 минут, есть мануалы, где это разжевано по полочкам, причем именно в применении к хецнеру. Ставить дополнительный оверхэд в виде сервиса проксмокс — я просто не вижу в этом смысла.
+2

k0ldbl00d, 9 ноября 2012 в 22:36 #

Голый KVM или XEN — это хорошо когда раз настроил и забыл. А если регулярно ворочать машины — то оверхедом можно и пренебречь в пользу удобства.
–1

vadv, 10 ноября 2012 в 02:17 #

bash и автокомплит рулит неимоверно. Да и консоли параметром можно много больше набрать. Скажите как мне потюнить виртуалку под пострегрес в вашем промоксе? 🙂
+1

opium, 10 ноября 2012 в 06:20 #

А что вы тюните в виртуалке не в проксмоксе для постгрес?
+2

sn00p, 10 ноября 2012 в 08:04 #

Как и обычно, в консоли.
0

opium, 10 ноября 2012 в 06:19 #

Удобно управлять из вебинтерфейса.

Раньше я всегда ставил голый православный xen.
+4

achekalin, 9 ноября 2012 в 22:41 #

Вы забыли о самом интересном — у Proxmox-а есть возможность делать бекап со снапшота образа диска. Другими словами, вирт. машина замирает на мгновение, делается снапшот, он проверяется на ошибки ФС, а затем архивируется.


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


В вашем случае никакого LVM-а нет. А значит, и нет приятной (и очень полезной!) возможности, которая у Прокса работает «из коробки», и довольно хорошо.


Проще уж взять голый сервер, заказать KVM (или заюзать IPMI), и на него поставить все по уму.
+1

madguru, 9 ноября 2012 в 23:46 #

Помимо этого, Proxmox ( не без танцев с бубном, но с приличным мануалом ) умеет HA на основе DRBD, как репликация фаловой системы, ну и corosync + pacemaker, что бы управлять этими ресурсами.


Если еще на винте создать LVM, то можно будет на каждый контейнер выделять свой раздел, что в последствии поможет каждый контейнер openvz запускать на любой из нод +!!! миграция.

0

achekalin, 10 ноября 2012 в 00:48 #

Live Migration, HA и прочие прелести — это очень интересно, да. В первой ветке с ними было малость попроще (точнее, бесконтрольнее: строй, что хочешь, а о ошибках в своих расчетах узнаешь только при реальном использовании HA — т.е. уже «поздно»), сейчас же (в 2.х) настоящая HA возможна только при наличии fencing-устройств на всех серверах, объединенных в кластер. Зато обеспечивается уверенность, что, если ВМ работала на конкретном хост-сервере, а сервер возьми, да и умри, и система подняла ВМ на втором хост-сервере, то первый сервер внезапно не проснется — как раз fencing ему и не даст. Хитро и логично.


DRBD — штука хорошая. Но (!) на обоих машинах очень рекомендуется либо поставить хорошие RAID-контроллеры с батарейками (про сам RAID в смысле резервирования диски и не говорю — Proxmox очень не любит софтовые зеркала) — либо вовсе не связываться с этой замечательной, но очень своеобразно ведущей себя (если готовить не уметь) системой.
0

Hatifnatt, 10 ноября 2012 в 02:02 #

Нет никаких проблем в том чтоб сделать LVM под виртуальные диски. Просто при установке Debian Minimal через installimage надо разбить диски примерно так (размер по вкусу и в зависимости от объема дисков на сервере:

PART /boot ext2 4G
PART lvm pve all

LV pve root / ext4 20G
LV pve swap swap swap 8G
LV pve vz /var/lib/vz ext4 180G




А после добавить группу «pve» как LVM хранилище.

0

danielnewman, 11 ноября 2012 в 00:22 #

Извините, а зачем вам под /boot надо 4G и почему ext2? Это мотивированно чем-то?
+1

Hatifnatt, 11 ноября 2012 в 21:09 #

Размер /boot мотивирован одним — «запас карман не тянет» в принципе достаточно буквально 256Мегабайт, одно ядро примерно 50Мбайт «весит».

ext2 — по нескольким причинам: на /boot партиции журнал ни к чему, когда-то некоторые загрузчики не поддерживали других ФС для /boot сейчас это уже не так, а привычка, скажем так, осталась.
0

danielnewman, 11 ноября 2012 в 23:56 #

Удовлетворен! )
+3

Templar3d, 10 ноября 2012 в 01:57 #

Статья ни о чем.

Ибо не понять, что помешало автору поставить Proxmox, который предлагает сам Хетзнер.

Выглядело бы так:

1) Заходим на robot.your-server.de и выбираем нужный сервер.

2) Выбираем вкладку Rescue, загружаемся по ssh и выбираем installimage(стрелочку вверх).

3) Выбираем виртуализацию, где видим сам Proxmox.

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

P.S. Таким способом было поднято мной 3 сервера на хетзнере и 1 пережил обновление.
0

danielnewman, 11 ноября 2012 в 00:26 #

Либо вы знаете слишком много, либо слишком мало. В первом случае, а речь идет видимо об этом, вас мало чем можно удивить, но есть что рассказать. Например, очень интересно, как происходил процесс обновления и почему только на одной машине этот процесс не вызвал никаких нареканий. Если, конечно, вы можете поведать о чем-то более интересном, нежели apt-get update и apt-get upgrade. )
0

howeal, 10 ноября 2012 в 04:33 #

Не «ложить», а «класть». Режет глаз аж в двух местах.
0

savostin, 10 ноября 2012 в 10:35 #

Вот если бы в нем еще можно было задавать лимит трифика в месяц или лимит скорости сетевухи работал и на отдачу — цены б ему не было.
+1

Templar3d, 10 ноября 2012 в 13:37 #

Есть лимит скорости сетевых карт.


О какой виртуализации идет речь?
+1

savostin, 10 ноября 2012 в 13:55 #

KVM

У меня почему-то

не работает
0

akira, 10 ноября 2012 в 11:04 #

Есть только один минус, драйверов virtio нет для *bsd-based дистрибутивов 🙁
0

Templar3d, 10 ноября 2012 в 13:44 #

*bsd-based дистрибутивов много. На FreeBSD точно есть.

Я например, ставил драйвера на pfSense.
0

akira, 10 ноября 2012 в 13:59 #

а на FreeNAS таких дров нет. Поэтому ставить на жесткие диски VirtIO нельзя
0

retspen, 10 ноября 2012 в 15:20 #

www.webvirtmgr.net — конечно функионал далеко такой как у Proxmox, но для управления и доступа к виртуалками очень даже удобно.
0

retspen, 10 ноября 2012 в 15:30 #

Пардон: «далеко не такой»
+1

sn00p, 10 ноября 2012 в 16:04 (комментарий был изменён) #

Я добавлю. Они сейчас запиливают поддержку ceph, в качестве shared storage, а новое ядро pve в 2.2 уже готово к применению openvz ploop, надо только утилиты пересобрать.

— openvz очень легковесна и работает очень шустро. Если этого мало, то kvm.

— ceph недавно проинвестировался на лям баксов и за три буквально месяца превратился в production ready продукт, позволяющий за полчаса организовать мощный shared storage, отказоустойчивый и быстрый. У kvm для него есть обертки, можно запулить на это виртуалку.

— openvz ploop позволяет всю файлуху виртуалки хранить в файле, а его подключить как расширенный loop device. Тут и живая миграция, и снапшоты и снижение нагрузки на файловую систему hardware ноды.


Эти штуки очень крутые. Мы у себя тестируем, довольны как слоны. Почти как vmware, только лучше.

Кому интересно, пишите, есть много чего рассказать, можем написать статью даже )
0

uran238, 6 декабря 2012 в 23:09 #

Пишите, будет интересно почитать 🙂
+2

vosi, 10 ноября 2012 в 16:40 #

я тут немного дополнил пост статьей
habrahabr.ru/post/158141/

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

Похожие посты
Прямой эфир  посты  q&a
Компания дня


http://habrahabr.ru/post/158061/

Губарь Маргарита Александровна