Vz

Материал из Etersoft wiki
Перейти к: навигация, поиск

OpenVZ — реализация технологии виртуализации на уровне операционной системы, которая базируется на ядре Linux. OpenVZ позволяет на одном физическом сервере запускать множество изолированных копий операционной системы, называемых «виртуальные частные серверы» (Virtual Private Servers, VPS)

Создание контейнера

Разворачивание тестового стенда:

1) Войти на сервер контейнеров

ssh devel

2) Создать контейнер с номером, именем

sudo vzctl create <ID> --ostemplate fedora-19-x86_64 --hostname <HOST> --name <VZ_NAME> --ipadd 192.168.<ID>

Команды

vzubc - Таблица использования ресурсов
vzctl - Основные настройки
vzctl set 388 --physpages 600M --save - смотрим vzubc чего мало и добавляем
vzctl restart 388 

Разрешить доступ из вне в контейнер (с сервера в контейнер)

sudo mcedit /etc/sysconfig/iptables
-A PREROUTING -d 91.232.225.25 -p tcp -m tcp --dport 38880 -j DNAT --to-destination 192.168.3.88:8080

Создание openvz template

Скриптом vscript

/root/etersoft-admin-essential/vz/create-vz-template.sh 800 etersoft-p8-x86_64 # На devel и windsor

Руками

Заархивировать нужный контейнер:

tar --numeric-owner -czf /var/lib/vz/template/cache/etersoft-p8-20160527-systemd-x86_64.tar.gz -C /var/lib/vz/private/800/ .

Если используется ploop, сначала смонтировать:

mount -t ploop /var/lib/vz/private/800/root.hdd/DiskDescriptor.xml /mnt/p8
tar --numeric-owner -czf /var/lib/vz/template/cache/etersoft-p8-20160527-systemd-x86_64.tar.gz -C /mnt/p8/ .

Старое описание

Обновление etersoft-p8 template

ssh devel
sudo vzctl exec 800 epmI --auto eepm && epm --auto upgrade && epm clean
vzctl stop 800
/root/etersoft-admin-essential/vz/create-vz-template.sh 800 etersoft-p8-x86_64_$(date +%d%m%y)
scp /var/lib/vz/template/cache/etersoft-p8-x86_64_170816.tar.gz windsor:/var/lib/vz/template/cache/etersoft-p8-x86_64_170816.tar.gz

Экспорт виртуальной машины vbox

1. Проверяем доступное место

2. Создаём полный архив машины

cd /
mkdir backups
cd backups
tar -cvpf /backups/fullbackup.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=backups .

Одной командой:

b=backups; cd / && mkdir -p $b && cd $b && tar -cvpf /$b/fullbackup.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=$b .

Импорт в openvz

1. Скопировать машину в

cp fullbackup.tar /var/lib/vz/template/cache/

2. Создать контейнер из образа

vzctl create <ID> --ostemplate fullbackup.tar

Запуск docker в openvz

  • Создать контейнер
veid=801; vzctl create $veid --ostemplate etersoft-p8-20160527-systemd-x86_64
  • Включить cgroups
echo "JoinControllers=cpu,cpuacct,cpuset freezer,devices" >> /var/lib/vz/root/$veid/etc/systemd/system.conf
  • Увеличить память, запустить и войти в контейнер
vzctl set $veid --privvmpages 1500M --save
vzctl set $veid --diskspace 6G:7G --save
vzctl start $veid
vzctl enter $veid

veid=801; vzctl create $veid --ostemplate etersoft-p8-20160527-systemd-x86_64 && echo "JoinControllers=cpu,cpuacct,cpuset freezer,devices" >> /var/lib/vz/root/$veid/etc/systemd/system.conf && vzctl set $veid --privvmpages 1500M --save &&  vzctl set $veid --diskspace 6G:7G --save && vzctl enter $veid
  • Установить
epmi docker-io iptables
  • Запустить
serv docker start
  • Протестировать
docker run -d --name transmissionstasik --restart=always  -v /var/tmp/transmission/watch:/watch -v /var/tmp/transmission/downloads/:/downloads/ -v /var/tmp/transmission//trasmission-config:/config -p 45555:45555 -p 9092:9091 -e USERNAME=guest -e PASSWORD=123 timhaak/transmission

Ссылки