Основы управления OpenVZ на CentOS

Для того, чтобы создать виртуальную машину, нужно воспользоваться шаблонами ОС в директории /vz/template/cache. Список шаблонов для скачивания можно найти на странице openvz.org

Мне нужна была виртуальная система CentOS 6, так что будем рассматривать всё на её основе.
Качаем шаблон:

cd /vz/template/cache
wget http://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz

Готово. Собственно, создаём виртуальную машину с ОС CentOS 6 и стандартным конфиг-файлом:
vzctl create 1 --ostemplate centos-6-x86_64 --config basic

  • Конфиг-файл - это файл с параметрами нашей виртуальной машины, где указываются: имя, сетевые настройки, количественные параметры, вроде памяти, используемых ядер, дискового пространства и т.п. Все конфиги лежат в папке /etc/vz/conf/ и называются в соответствии с ID виртуальной машины.
  • "1" это уникальный ID виртуальной машины. Можно использовать последнюю часть IP-адреса, например, если IP-адрес 192.168.0.1, ставим 1. К сожалению, "слова" ставить нельзя. Так что выбирайте цифры так, чтобы когда у Вас будет несколько машин, Вы понимали где какая.

В общем-то всё - машинка готова. Теперь будем её настраивать. тут есть два варианты, как это сделать:
а) Командами в консоли;
б) Непосредственно в конфиг-файле ВМ.

Попробуем первый вариант.
Для автозапуска виртуальной машины при старте сервера, выполните:
vzctl set 1 --onboot yes --save

Чтобы установить имя_хоста и IP-адрес, DNS и т.д. для виртуальной машины, выполните:

vzctl set 1 --hostname test.example.com --save
vzctl set 1 --ipadd 192.168.0.1 --save
vzctl set 1 --nameserver=8.8.8.8 --nameserver 8.8.4.4 --save

Spoiler: Highlight to view

vzctl set <ctid> [--save] [--force] [--setmode restart|ignore]
   [--ipadd <addr>] [--ipdel <addr>|all] [--hostname <name>]
   [--nameserver <addr>] [--searchdomain <name>]
   [--onboot yes|no] [--bootorder <N>]
   [--userpasswd <user>:<passwd>]
   [--cpuunits <N>] [--cpulimit <N>] [--cpus <N>] [--cpumask <cpus>]
   [--diskspace <soft>[:<hard>]] [--diskinodes <soft>[:<hard>]]
   [--quotatime <N>] [--quotaugidlimit <N>]
   [--noatime yes|no] [--capability <name>:on|off ...]
   [--devices b|c:major:minor|all:r|w|rw]
   [--devnodes device:r|w|rw|none]
   [--netif_add <ifname[,mac,host_ifname,host_mac,bridge]]>]
   [--netif_del <ifname>]
   [--applyconfig <name>] [--applyconfig_map <name>]
   [--features <name:on|off>] [--name <vename>]
   [--ioprio <N>] [--pci_add [<domain>:]<bus>:<slot>.<func>] [--pci_del <d:b:s.f>]
   [--iptables <name>] [--disabled <yes|no>]


Думаю, аналогия команд ясна. Настроим используемые аппаратные средства нашего сервера. Надеюсь по названием строк Вам будет понятно, что именно мы "добавляем".

vzctl set 1 --cpus 2 --save
vzctl set 1 --cpuunits 1000 --save
vzctl set 1 --privvmpages 4G --save
vzctl set 1 --swappages 4G --save

Хочу заметить, что В ОБЩЕМ-ТО все настройки уже есть. Они берутся из того стандартного конфиг-файла, который мы указали при создании ВМ. Разумеется, мы можем делать свои "стандарты".

Итак, стартуем нашу машину:
vzctl start 1

Чтобы назначить пароль пользователю root, выполним:
vzctl exec 1 passwd

Теперь можно подключиться к виртуальной машине с помощью SSH или следующим образом:
vzctl enter 101

Чтобы оставить консоль виртуальной машины, выполните:
exit

Управление самой виртуальной машины очень просто:

vzctl start 1
vzctl stop 1
vzctl restart 1

Чтобы уничтожить:
vzctl destroy 1

Посмотреть список всех машин и их статусов работы:
vzlist -a

Spoiler: Highlight to view

[root@server]# vzlist -a
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
       101         14 running   192.168.0.1   test.example.com

Для получения информации о ресурсах выделяемых на виртуальную машину, выполните:
vzctl exec 1 cat /proc/user_beancounters

Ну, для основ достаточно =)
Задавайте вопросы - буду дополнять. Писать всё за раз - просто невозможно, это целый учебник.

Подробную информацию можно почитать на сайте производителя:
http://openvz.org/User_Guide/Operations_on_Containers
Удачи!

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image