ProxMox 2.1 под i386/i686 платформу

proxmox-smallСтатья из архива. На тему Docker будут отдельные посты. Последнее время активно смотрю в сторону систем виртаулизации. Очень нравится контейнерная виртаулизация на базе OpenVZ-контейнеров. Плюсов много: быстро разворачивается, есть готовые образы всех нужных операционных систем, низкое потребление ресурсов по сравниению с любыми другимим средствами виртуализации. Одним словом контейнеры – наше всё. 

Есть конечно и ряд ограничений. Например, все виртуализированные машины работают на одном ядре. Соответственно мы ограничены в изменения ядра. Да и версия ядра далеко не новая. Также мы не можем установить например Windows или Mac… но, оно нам надо?))

Что касается выбора средств контейнерной виртуализации, то есть несколько вариантов. Проприетарный и платный Plesk Virtuozzo (основанный кстати на OpenVZ), непосредственно OpenVZ и LXC (Linux containers). Последни обладает фатальным недостатком (нет не тем, о котором вы подумали). Root В контейнере = root в хосте. Так что, LXC – это скорее средство изоляции контекстов в неймспейсы, чем полноценная система контейнерной виртуализации.

В прошлом посте, я рассказывал про OpenVZ Web Panel. С первого взгляда она мне ну очень понравилась, но Руслан из комментов подсказал, что можно попробовать ещё и ProxMox. И действительно, попробуем. Так, как я не располагаю крутым железом, а имею старенький ноутбук на базе 32-битного процессора, то официальный установщик ProxMox послала меня. Причем послал дважны 🙂

Первый раз он меня послал тихонечко так, я даже не понял, тчто происходит. Просто устанвока не шла, я нажал F12 и мне открылся лог. А в логе он пытался найти свой установочный CD-ROM и подмонтировать его. А ставил я его с флешки. Так что он искал его до окончания таймаутов. Пришлось делать ну прям обычный такой диск. Прожег, поставил, опа – установка пошла дальше. А дальше он сказал мне, что мне с моими 32 разрядами ничего не светит и посоветовал купить новое железо. Хм… подумал и я полез в Google. Там я нашел замечательную статейку Install Proxmox VE on Debian Squeeze on 32-Bit Processor, в которой приводится рецепт, как же всё-таки это сделать. В этом посте я практически буду пересказывать статью но с некоторыми коррективами и комментариями, так что те, кто любит читать в оригинале и ковыряться во всем самому – велкам по ссылке выше. Мы же пойдём дальше.

Шаг 1. Установка ОС

Как такового ISO Образа для i386/i686 нет то нам предварительно нужна установленная операционка. Я ставил  Debian 6.0.7 netinstall. Для установки использовал режим Graphical Expert Mode.

Когда будете разбивать диск то необходимо сделать одну группу разделов LVM Volume Group, назвать её например “debian”. В ней сделать один LVM раздел, на 4 Gb меньше чем всё место. Т.е. оставить 4Gb в Volume Group свободными для снапшотов виртуалок (см. http://forum.proxmox.com/threads/2059-backup-issues). Вообще-то установщик ProxMox делает это автоматически, но мы тут без установщика фигачим, так что делаем так. Снапшоты виртуалок должны использовать только 1Gb, вне зависимости от размера машин.

Итак, рассмотрим по шагам:
Guided – Use entire disk and set up LVM
Выбираем дефолтовый диск (e.g. “SCSI3 (0,0,0…”)
All files in one partition
Выбираем “Yes” to write the changes to disks and configure LVM
На экране “Partition disks”
Нажимаем стрелку вверх и выбираем “Configure the Logical Volume Manager”
Выбираем”Yes” to write the changes to disks and configure LVM
Удаляем логический раздел
Выбираем”root”
Создаем логический раздел
Выбираем LVM группу томов по-умолчанию, e.g. “debian”
Вводим “root” в качестве имени логического раздела
Теперь выбираем размер раздела на 4GB меньше, чем предлагаемый нам чтобы оставить эти 4GB для снапшотов (моменталдьных бекапов) (например, если предлагают “47934MB”, я ввожу “43934MB”)
Кликаем на Finish
Нажимаес стрелку вниз и выбираем строчку, в которой написано”#1 XX GB” (где XX это размер раздела, который мы выбрали ранее), эта строка лежит внутри строки “LVM VG debian, LV root…”.
Выбираем “Use as: do not use”
Выбираем “Ext3 journaling file system”
Выбираем “Mount point: none”
Выбираем “/ – the root file system”
Выбираем “Done setting up the partition”
Выбираем”Finish partitioning and write changes to disk”
Выбираем “Yes” to write the changes to disks

Получается, что у нас одна LVM группа томов “debian”, в ней лежит один LVM раздел “root”, и остаётся ещё 4 Gb пустых в этой группе томов. Это то, что нам нужно.

Далее в процессе установки выбираем сразу две локали, т.е. кроме en_US>UTF8 отмечаем галкой ru_RU.UTF-8, выбираем ядро поновее из предложенных на выбор, а когда спросят, поставить ли все драйвера ядра, или только под текущую конфигуарцию – выбираем “все драйвера”. В качестве hostname пишем например node1, в качестве домена пишем site.ru, чтобы потом FQDN у нас было node1.site.ru После всех шагов перезагружаемся в новую систему. В списке пакетов выбираем SSH Server и убираем галку с Graphic Desktop Environment.

Шаг 2. Мелкофиксы

У меня почему-то после установки Debian 6.0.7 с выключенным Desktop Environment после загрузки не работала консоль, т.е. был черный экран. Однако ssh работал исправно. Через него мне удалось пофиксить этот баг.

sudo mcedit /etc/default/grub

В строчку GRUB_CMDLINE_LINUX_DEFAULT добавляем vga=normal nomodeset. У меня получилось вот так:

GRUB_CMDLINE_LINUX_DEFAULT=”quiet vga=normal nomodeset”

Потом выполняем команду:

sudo upgrade-grub

и перезагружаемся. Ну я ещё mc сразу ставлю командой sudo apt-get install mc.

Установка ProxMox 2.1 под i386

Теперь пришло время самой установки.  Далее всё делаем под рутом. С помощью

mcedit /etc/apt/sources.list

добавляем строчку

deb http://download.locatrix.com/proxmox32-2.1-sep2012/ ./

в конец файла. Этим мы подключим доп репозитарии с 32-битными пакетами ProxMox. Дальше

apt-get update

apt-get install postfix bridge-utils

Настраиваем сеть.

mcedit /etc/network/interfaces

Адрес моей машины в локалке: 192.168.0.3 – замените его на свой. Всё, что было написано про интерфейс eth0 убираем либо комментируем. Вместо него пишем вот это.

# for ProxMox i386
# Add the below in place of your existing eth0 configuration
# This assumes you have a single network interface on a local LAN on 192.168.0.x
# The bridge interface below should take-over the IP you were previously using on eth0
iface eth0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.0.3
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
dns-nameservers 8.8.8.8

Настраиваем NAT для виртуалок

Добавляем NAT forwarding

# Открываем файл
mcedit /etc/sysctl.conf
# Раскомментируем или добавляем строчку, сохраняем файл
net.ipv4.ip_forward=1
# Проверяем
sysctl -p

Прописываем имя машины в файл /etc/hosts
mcedit /etc/hosts
# Set to your machine’s actual vmbr0 interface IP from above instead of 127.0.1.1
192.168.0.90 somemachine.mynet.net somemachine pvelocalhost

Добавляем валидные hostname, но строчку с 127.0.0.1 не затираем, иначе нельзя будет войти в веб-интерфейс – http://forum.proxmox.com/threads/11461-Login-failed-proxmox

Ставим пакеты с 32-битным ProxMox

apt-get install pve-firmware
apt-get install pve-kernel-2.6.32-14-pve
reboot

После перезагрузки команда uname -a должна показывать, что мы на новом ядре “2.6.32-14-pve”.

Дальше не перезагружаемся до установки патча. Автор оригинального мануала столкнулся с проблемой отсутствия некоторых файлов в пакетах LVM в результате чего сервер не загружался. Но он сделал фикс, который устанавливается вот так.

wget http://download.locatrix.com/proxmox32-2.1-sep2012/lvmfix.sh
wget http://download.locatrix.com/proxmox32-2.1-sep2012/hooks-lvm2
wget http://download.locatrix.com/proxmox32-2.1-sep2012/local-top-lvm2
sh ./lvmfix.sh

Убедитесь в корректности файла/etc/hosts иначе установка pve-manager не сработает.
Ставим пакеты:
apt-get install vzctl vzquota proxmox-ve-2.6.32
apt-get install ssh ksm-control-daemon
a2ensite pve-redirect.conf
/etc/init.d/apache2 reload
Ну а теперь время перезагрузки. Можно и не делать, но настоятельно рекомендуется.

reboot

Проверка панели

Класс, теперь заходим по адресу  https://ваш_ip:8006/ и логинимся под root с паролем, котоырй вы задали при установке Debian. Если не пускает – проверьте ваш /etc/hosts файл на наличие строки с 127.0.0.1

Ещё можно поставить апдейты.

apt-get update
apt-get upgrade
apt-get install proxmox-ve-2.6.32 pve-qemu-kvm qemu-server

proxmox2_summary_web

Ограничения

Да, забыл сказать. После такой установки у вас не будет работать KVM виртуальные машины, а только OpenVZ контейнеры.  Ещё одной ложкой дегтя стало то, что с версии 3.1 ProxMox стал платным. Ну как сказал один юзер на хабре в комментах:  Несколько лет назад, когда стал использовать Proxmox посетила мысль, все это удовольствие не может быть бесплатным вечно. И вот этот печальный момент настал 🙁

Но ничего, сейчас версия 3.0 актуальная, так что можно вполне можно юзать её.

Ссылки

Оригиналшьный мануал, которым я пользовался

Обновлённый репозитарий (сентябрь 2012)

Про проблему с логином в веб-интерфейс

Релиз proxmox 3.1 и первый шаг к платному репозиторию

Как пофиксить ошибку Starting pve cluster filesystem : pve-cluster[main] crit: Unable to get local IP address

Leave a Comment