Translate

неділя, 9 лютого 2014 р.

OpenVZ Web Panel

Зовсім нещодавно я писав про OpenVZ віртуалізацію. І не те щоб мені було дуже потрібно, проте я випадково наткнувся на досить симпатичну веб-панель для управління контейнерами і вирішив її спробувати. Тож поділюсь рецептом налаштування OpenVZ Web Panel.

OpenVZ Web Panel - досить непоганий варіант управління OpenVZ-контейнерами, адже з ним відпадає потреба кожен раз логінитись по ssh задля створення нового контейнеру чи зміни параметрів існуючого. У OpenVZ Web Panel також є можливість клонувати чи бекапити діючу віртуальну машину в пару кліків, тобто управління сервером стає справді зручним і швидким.

Налаштування буде описано для дистрибутиву CentOS 6.5. Припустимо звісно, що сама віртуалізація вже налаштована і працює правильним чином. Тож самий час установити необхідні програмні пакети:

# yum install ruby-devel sqlite sqlite-devel ruby-rdoc
# yum install make gcc
# yum install lsb_release
# gem install sqlite3-ruby

Скачуємо і запускаємо скрипт інсталяції:

# wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh | sh

І тут можливі два варіанти: або встановлення завершиться успішно, або ж буде виведено подібну помилку:

Checking Ruby SQLite3 support: ruby -e "require 'rubygems'" -e "require 'sqlite3/database'"
Fatal error: Ruby SQLite3 support not found. Please install it first.

Зі мною якраз трапився останій варіант. Тому скачуємо скрипт ai.sh і дещо його редагуємо, а саме закоментуємо рядок:

#[ $? -ne 0 ] && fatal_error "Ruby SQLite3 support not found. Please install it first."

І запустимо відредаговану версію скрипта:

# sh ai.sh 

Проте це ще також не все. Необхідно також скопіювати файли hw-daemon.rb до діючої директорії із сервером:

# cd /to/downloaded/and/unpacked/archive/
# cp hw-daemon.rb /opt/ovz-web-panel/utils/hw-daemon/hw-daemon.rb
cp: overwrite `/opt/ovz-web-panel/utils/hw-daemon/hw-daemon.rb'? y

У моємо випадку hw-daemon.rb лежав в директорії /tmp/ovz-web-panel/utils/hw-daemon, адже попередньо я скачав архів із OpenVZ Web Panel до директорії /tmp і розпакував його.

CentOS зазвичай комплектується робочим фаерволом iptables, тому бажано його попередньо зупинити чи налаштувати відповідним чином.

Панель управління OpenVZ-контейнерами було установлено. Перевірити статус/зупинити/запустити сервіс можна таким чином:

sudo /opt/ovz-web-panel/script/owp start
# або
/etc/init.d/owp start

sudo /opt/ovz-web-panel/script/owp stop
# або
/etc/init.d/owp stop

sudo /opt/ovz-web-panel/script/owp status
# або
/etc/init.d/owp status

OpenVZ Web Panel має такий вигляд (логін/пароль - admin/admin):


Наразі необхідно додати OpenVZ-хост із діючими контейнерами у веб-панель. Для цього генеруємо ключ:

# head -c 200 /dev/urandom | md5sum
5f823efeba016d3d7626ed089cc400b7

І додаємо його до /opt/ovz-web-panel/utils/hw-daemon/hw-daemon.ini

# vim /opt/ovz-web-panel/utils/hw-daemon/hw-daemon.ini

address = 0.0.0.0
port = 7767
key = 5f823efeba016d3d7626ed089cc400b7
ssl = off

Після змін перевантажуємо hw-daemon:

# cd /opt/ovz-web-panel/utils/hw-daemon/
# ruby hw-daemon.rb restart

І, нарешті, додаємо хост через веб-панель, для чого тиснемо Physical servers -- > Connect new server та копіюємо попередньо доданий до hw-daemon.ini ключ:



Ось як мають виглядати доданий хост і контейнери розміщені на ньому:


Якщо необхідно додати інший OpenVZ-хост - то слід скопіювати на нього директорію /opt/ovz-web-panel/utils/hw-daemon/, створити і додати ключ аналогічним чином та перезапустити сервіс hw-daemon.

Проілюструю деякі можливості панелі. Cтворимо новий контейнер під назвою my.debian.com. Для цього тиснемо Create virtual server та заповнюємо необхідні квоти:


my.debian.com з'явився під номером 103:


Редагуємо попередньо встановлені квоти. Для цього слід натиснути Limits і обрати необхідні значення у випадаючому вікні:


Із цієї сторінки також можна зарустити бекап, створення темплету із діючої машини, клонування і т.п.


Можна також передати на виконання певну команду контейнеру:


Не значною, але все таки зручністю є додавання запитів/коментарів у розділі Requests:


Здається, це все про що хотів написати. Як альтернативне рішення, можна скористатись системою Proxmox, до того ж вона підтримує управління KVM-віртуальними машинами.

Посилання:
https://code.google.com/p/ovz-web-panel/
https://code.google.com/p/ovz-web-panel/issues/detail?id=396
https://github.com/sibprogrammer/owp/blob/master/INSTALL.md
http://habrahabr.ru/post/111907/

Немає коментарів:

Дописати коментар