суббота, 4 мая 2013 г.

Установка Proxmox на Debian Squeeze и подготовка к работе с Proxmox API

Добрый день.

Понадобилось однажды мне поставить Proxmox, но так как если ставить чистый Proxmox, он требует весь физический жесткий диск (а на диске есть информация критичная для меня и расстаться я с ней не могу, да и dualboot не помешает) решил накатить Proxmox поверх Debian Squeeze.

1. Установка Proxmox на Debian

Отправной точкой был официальный мануал: тыц

1. Добавим зеркала в /etc/apt/sources.list

# sudo echo "http://download.proxmox.com/debian squeeze pve" >> /etc/apt/sources.list

Добавим ключ для репозитроия Proxmox VE:
# wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -

2. Обновляем список доступных пакетов и обновляем установленное ПО:

# sudo aptitude update
# sudo aptitude upgrade

3. Установим Proxmox VE ядро:

# sudo aptitude install pve-kernel-2.6.32-19-pve
# sudo aptitude install pve-headers-2.6.32-19-pve

4. Проверим как установилось ядро:

Перезагружаемся и грузимся из ядра pve-kernel-2.6.32-19-pve.
# sudo shutdown -r now

5. Установим все необходимые пакеты:

# sudo aptitude install proxmox-ve-2.6.32 ntp ssh lvm2


Но на шаге aptitude install proxmox-ve-2.6.32 ntp ssh lvm2 видим, что половина пакетов не ставится, а все из-за такой ошибки:
pve-cluster main crit unable to get local ip address

Была найдена тема на форуме Proxmox'a: тыц
Суть ошибки в том, что pve-cluster'у не понравился файл /etc/hosts
Он был у меня такого вида:

127.0.0.1       localhost
127.0.1.1      picnic.picnic.local     picnic
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters


Где 127.0.1.1 picnic.picnic.local picnic - был создан во время установки системы.
Так как система получила адрес 192.168.1.149 по DHCP от моего роутера, я привел его к такому виду:
127.0.0.1       localhost
192.168.1.149   picnic.local picnic
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Повторяем попытку:
# aptitude install proxmox-ve-2.6.32 ntp ssh lvm2
И вуаля, все установилось.

2. Настройка Proxmox VE

Так же в официальном мануале написано, что нужно зайти по адресу:
https://ip_adress
Однако у меня это не прокатило и пришлось смотреть конфиг апача: /etc/apache2/sites-enabled/pve.conf оттуда увидел, что ServerName localhost и порт 8006.
Перейдя по адресу:
https://localhost:8006

Я попал в Proxmox ввел учетную запись root и выбрав метода авторизации PAM я успешно заологинился.

Далее необходимо настроить сетевой мост для того, что бы виртуальные машины получали IP-шники из сети в которой подключен хост.
Настройки интерфейса vmbr0 приведем к такому виду:
Перегружаем сервер и видим, что вновь созданные виртуальные машины отлично получают IP-адреса по DHCP от роутера.


3. Установка Python3 и Proxmox API

Далее я буду работать с Proxmox API, поэтому давайте установим, все что нужно для этого:
Установим Python3 именно с этим языком я буду работать в будущем:
# sudo apt-get install python3

Скачиваем модуль pyproxmox (Proxmox API):
# wget https://pypi.python.org/packages/source/p/pyproxmox/pyproxmox-1.1.3.tar.gz

Разархивируем архив:
# tar xvf pyproxmox-1.1.3.tar.gz

Перейдем в распакованный каталог:
# cd pyproxmox-1.1.3

Установим модуль pyproxmox-1.1.3:
# sudo python3 setup.py install

Вернемся в рабочий каталог:
# cd ..

Для работы pyproxmox требуется модуль requests, установим и его:
Скачиваем:
# wget https://pypi.python.org/packages/source/r/requests/requests-1.2.0.tar.gz

Разархивируем:
# tar xvf requests-1.2.0.tar.gz

Установим модуль requests-1.2.0:
# cd requests-1.2.0
# sudo python3 setup.py install


А вот и документация по Proxmox API: тыц

1 комментарий:

  1. Было всё выполнено таким образом, как написано в вашем посте. Но после выполнения установки Python3 и Proxmox API зайти на сервер возможности не представилось. Что то не понравилось NameVirtulHost *:80

    ОтветитьУдалить