OpenVZ — различия между версиями
Материал из pNp Wiki
Suser (обсуждение | вклад) м (Правки 109.230.216.60 (обсуждение) откачены к версии 50.17.162.168) |
Suser (обсуждение | вклад) |
||
(не показано 7 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
==Установка системы== | ==Установка системы== | ||
− | ==Настройка системы в Debian 6== | + | ===Настройка системы в Debian 6=== |
* отключаем установку рекомендуемых пакетов в aptitude | * отключаем установку рекомендуемых пакетов в aptitude | ||
запускаем её > ctrl+t > параметры > предпочтения > снимаем галгу в пункте "автоматически устанавливать рекомендуемые пакеты" | запускаем её > ctrl+t > параметры > предпочтения > снимаем галгу в пункте "автоматически устанавливать рекомендуемые пакеты" | ||
Строка 47: | Строка 47: | ||
shutdown -r now | shutdown -r now | ||
− | ==Настройка системы в CentOS 6== | + | ===Настройка системы в CentOS 6=== |
* Подключаем репозиторий openvz: | * Подключаем репозиторий openvz: | ||
cd /etc/yum.repos.d | cd /etc/yum.repos.d | ||
Строка 56: | Строка 56: | ||
* устанавливаем openvz | * устанавливаем openvz | ||
yum install vzctl | yum install vzctl | ||
− | |||
− | |||
* Настраиваем переменные sysctl в файле etc/sysctl.conf: | * Настраиваем переменные sysctl в файле etc/sysctl.conf: | ||
# ovz | # ovz | ||
Строка 79: | Строка 77: | ||
shutdown -r now | shutdown -r now | ||
− | + | ==Создание и управление контейнерами== | |
+ | * создаём контейнер | ||
+ | vzctl create 1111 --ostemplate debian-6.0-amd64-minimal | ||
+ | * изменяем основные настройки | ||
+ | vzctl set 1111 --hostname test.ipnp.su \ | ||
+ | --ipadd 192.168.0.111 \ | ||
+ | --nameserver 192.168.0.1 \ | ||
+ | --save | ||
+ | * запускаем контейнер | ||
+ | vzctl start 1111 | ||
+ | * вход в контейнер | ||
+ | vzctl enter 1111 | ||
+ | * остановить контейнер | ||
+ | vzctl stop 1111 | ||
+ | * уничтожить контейнер | ||
+ | vzctl destroy 1111 | ||
− | ==Настройка veth интерфейса== | + | ===Настройка veth интерфейса=== |
* Создаём мост (br0), который будет использоваться для работы veth. | * Создаём мост (br0), который будет использоваться для работы veth. | ||
* Настройка моста в centos | * Настройка моста в centos | ||
Строка 106: | Строка 119: | ||
* запускаем контейнер, заходим в него и настраиваем сеть стандартным способом в dibian правим файл /etc/network/interfaces, в сentos: /etc/sysconfig/network-scripts/ifcfg-eth0 | * запускаем контейнер, заходим в него и настраиваем сеть стандартным способом в dibian правим файл /etc/network/interfaces, в сentos: /etc/sysconfig/network-scripts/ifcfg-eth0 | ||
− | ==Бэкап виртуальной машины== | + | ===Бэкап виртуальной машины=== |
+ | |||
+ | ===Восстановление из бэкапов=== | ||
+ | ==ploop== | ||
+ | ===Конвертация из SimFS в ploop=== | ||
+ | Остановить контейнер | ||
+ | vzctl stop 9999 | ||
+ | Установить новое значение дискового пространства и сбросить diskinodes. ploop раздел будет создан в соответствие нового дискового размера. | ||
+ | vzctl set '''9999''' --diskspace '''10G''' --diskinodes 0 --save | ||
+ | Конвертируем в ploop | ||
+ | vzctl convert '''9999''' | ||
+ | |||
+ | |||
− | |||
[[Категория:Cеверное ПО]] | [[Категория:Cеверное ПО]] |
Текущая версия на 23:10, 10 декабря 2015
Содержание
Установка системы
Настройка системы в Debian 6
- отключаем установку рекомендуемых пакетов в aptitude
запускаем её > ctrl+t > параметры > предпочтения > снимаем галгу в пункте "автоматически устанавливать рекомендуемые пакеты"
- Устанавливаем openvz:
aptitude install linux-image-2.6-openvz-amd64
- удаляем старое ядро
aptitude purge linux-image-2.6.32-5-amd64
- Устанавливаем прочие полезные утилиты и демоны:
aptitude install ntp htop iotop hddtemp smartmontools
- отключим возможность логинится рутом по ssh
nano /etc/ssh/sshd_config
PermitRootLogin no
- создаим группу wheel и разрешим только членам этой группы повышать права до root'а
addgroup -gid 200 wheel
- раскомментируем в файле /etc/pam.d/su
auth required pam_wheel.so
- добавим себе в группу wheel
adduser username wheel
- внесём изменения в /etc/sysctl.conf, для применения настроек выплюните команду "sysctl -p"
### OpenVZ settings # On Hardware Node we generally need packet # forwarding enabled and proxy arp disabled net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.ip_forward=1 # Enables source route verification net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key kernel.sysrq = 1 # TCP Explict Congestion Notification net.ipv4.tcp_ecn = 0 # we do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0
- настраиваем файрвол
- и на последок скачиваем c [[1]] нужные шаблонны контейнеров и кладём их в /var/lib/vz/template/cache/.
Мне к примеру нужен был debian 6
cd /var/lib/vz/template/cache/ wget http://download.openvz.org/template/precreated/contrib/debian-6.0-amd64-minimal.tar.gz
- перезагружаемся
shutdown -r now
Настройка системы в CentOS 6
- Подключаем репозиторий openvz:
cd /etc/yum.repos.d wget http://download.openvz.org/openvz.repo rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
- Проверяем наличие обновлений и уставливаем их:
yum update
- устанавливаем openvz
yum install vzctl
- Настраиваем переменные sysctl в файле etc/sysctl.conf:
# ovz # On Hardware Node we generally need # packet forwarding enabled and proxy arp disabled net.ipv4.ip_forward = 1 net.ipv4.conf.default.proxy_arp = 0 # Enables source route verification net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key kernel.sysrq = 1 # TCP Explict Congestion Notification # net.ipv4.tcp_ecn = 0 # we do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0
- Настраиваем firewall. В файле /etc/sysconfig/iptables комментируем строку
/etc/sysconfig/iptables #-A FORWARD -j REJECT --reject-with icmp-host-prohibited
- перезагружаем систему.
shutdown -r now
Создание и управление контейнерами
- создаём контейнер
vzctl create 1111 --ostemplate debian-6.0-amd64-minimal
- изменяем основные настройки
vzctl set 1111 --hostname test.ipnp.su \ --ipadd 192.168.0.111 \ --nameserver 192.168.0.1 \ --save
- запускаем контейнер
vzctl start 1111
- вход в контейнер
vzctl enter 1111
- остановить контейнер
vzctl stop 1111
- уничтожить контейнер
vzctl destroy 1111
Настройка veth интерфейса
- Создаём мост (br0), который будет использоваться для работы veth.
- Настройка моста в centos
создаём файл /etc/sysconfig/network-scripts/ifcfg-br0 со следуем содержимом
DEVICE=br0 BOOTPROTO=static ONBOOT=yes TYPE=Bridge DELAY=0
и при необходимости чтобы через этот мост работал сам хост срвер добавляем
IPADDR="192.168.0.2" NETMASK="255.255.255.0" GATEWAY="192.168.0.1" DNS1="192.168.2.1" DNS2="192.168.3.2"
- Далее добавляем в файл /etc/sysconfig/network-scripts/ifcfg-eth1 (если у нас veth будет работать через eth1)
ONBOOT="no" BRIDGE=br0
- далее создаём файл со следующем содержимым /etc/vz/vznet.conf
#!/bin/bash EXTERNAL_SCRIPT="/usr/sbin/vznetaddbr"
- создаём интерфейс в контейнере следущей коммандой ( #vzctl set 111 --netif_add eth0,<mac>,host_ifname=veth${VEID}.0,<host_mac>,br_name)
vzctl set 111 --netif_add eth0,13:13:13:00:00:0A,host_ifname=veth111.0,13:13:13:00:00:0B,br0
- запускаем контейнер, заходим в него и настраиваем сеть стандартным способом в dibian правим файл /etc/network/interfaces, в сentos: /etc/sysconfig/network-scripts/ifcfg-eth0
Бэкап виртуальной машины
Восстановление из бэкапов
ploop
Конвертация из SimFS в ploop
Остановить контейнер
vzctl stop 9999
Установить новое значение дискового пространства и сбросить diskinodes. ploop раздел будет создан в соответствие нового дискового размера.
vzctl set 9999 --diskspace 10G --diskinodes 0 --save
Конвертируем в ploop
vzctl convert 9999