среда, 23 октября 2013 г.

OpenVZ Debian - работа в консоли (установка, настройка, использование)

1. Подготовка - установка пакетов

Находим нужное ядро
apt-cache search openvz | grep linux-headers

и устанавливаем его, например 
apt-get install  linux-image-2.6.32-5-openvz-amd64

далее устанавливаем утилиты 
apt-get install vzctl debootstrap vzquota bridge-utils
 

2.Создание и настройка виртуальных машин


ln -s /var/lib/vz /vz
cd /vz/template/cache/

в эту папку закачиваем необходимые образы в архиве tar.gz с сайта http://download.openvz.org
wget http://download.openvz.org/debian-systs/ostemplates/debian-6.0-amd64-minimal.tar.gz
wget http://download.openvz.org/template/precreated/contrib/debian-7.0-amd64-minimal.tar.gz

Создаем виртуальную машину (id - 101, образ - debian-7.0-amd64-minimal)

vzctl create 101 --ostemplate debian-7.0-amd64-minimal --config basic

 

Создаем интерфейс-мост для виртуалки, в виртуалке будет создан eth0, а в самой машине veth101.0

vzctl set 101 --netif_add eth0 --save

 

Прописываем имя хоста виртуалки

vzctl set 101 --hostname hostname.ru --save

 

Обем виртуальной памяти (выделено/максимально)

vzctl set 101 --privvmpages 512M:512M --save

 

Объем жесткого диска в виртуалке

vzctl set 101 --diskspace 10G:10G --save

 

DNS-сервер

vzctl set 101 --nameserver 8.8.8.8 --save 

 

Пароль root

vzctl set 101 --userpasswd root:password

Далее прописываем конфиг сети внутри виртуальной машины, создаем файл

nano /vz/private/101/etc/network/interfaces.head
и в этом файле пишем:
auto eth0
iface eth0 inet static
address 888.888.888.888
netmask 255.255.255.0
gateway 888.888.888.1

А потом создаем мост

На данном этапе очень важно осознать как работает мост, он работает примерно как хаб, т.е. если в основной хаб воткнуть свой хаб и в него втыкать кучу компов - то они пробросятся в основной хаб мостом. Так же и тут, у нас основной интерфейс на сервере, допустим он будет eth0 и у него IP:777.777.777.777, а на сервере крутятся виртуалки, для них вы докупаете IP - адреса у провайдера.

У интерфейса eth0 не должно быть прописано IP адреса, адрес, по которому мы будем подключаться к серверу(железному) нужно прописать к мосту.
nano /etc/network/if-up.d/bridge

и в файле пишем:
__________________________________________________________
#!/bin/bash
ifconfig br0 down
ifconfig eth0 down
ifconfig veth101.0 down
brctl delbr br0

# Запускаем бридж
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 veth101.0
brctl stp br0 off

# Задаём IP моста, для дальнейшего управления им через ssh
ifconfig br0 777.777.777.777 netmask 255.255.0.0

# Удаляем IP сетевых карт
ifconfig eth1 0.0.0.0
ifconfig veth101.0 0.0.0.0

# Поднимаем интерфейсы сетевых карт и моста
ifconfig eth0 up
ifconfig veth101.0 up
ifconfig br0 up

route add default gw 777.777.777.1 #шлюз
________________________________________________________________________

Потом задаем права и делаем его исполняемым
chown root.root /etc/network/if-up.d/bridge
chmod +x  /etc/network/if-up.d/bridge

3. Управление виртуальными машинами

Просмотр списка машин и их статусов
vzlist -a
Запуск/перезапуск/остановка
vzctl start|restart|stop 101
Уничтожение
vzctl destroy 101


Материалы по теме


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

Пишите комментарии с вопросами и пожеланиями, ну и благодарности получить будет приятно