четверг, 11 июля 2013 г.

proxmox: Поднимаем centos 6 в ovz-контейнере

Как оказалось, настроить centos в ovz сложнее, чем полноценную KVM виртуалку.

Итак, имеем proxmox-ve-2.6.32 (3.0-100) и хотим поставить centos 6.

0. Некоторые замечания
Что где искать?
шаблоны, которые загружаются в local (место создано по умолчанию, локально)
/var/lib/vz/template/cache/

для созданных нами точек:
/mnt/pve/(название)/template/cache

глобальные настройки openvz
/etc/vz/vz.conf

Также можно заглянуть в

1. Подготовка
Для начала, нам надо загрузить шаблон (template) - преднастроенный образ.
Через веб:
(Server view) - local (тут выбираем, где будет лежать наш шаблон) - на основной панели вкладка Content, кнопка Templates, section System. Выбираем centos-6-standart, download

Через консоль:
cd (смотрим п.0, где у нас будут шаблоны)
wget "http://download.proxmox.com/appliances/system/centos-6-standard_6.3-1_i386.tar.gz"

2. Установка
Через консоль рассмотрено не будет, только через веб.
Шаблон уже должен быть загружен на диск, подготовлено хранилище для контейнеров.

В правом верхнем углу нажимаем Create CT
выбираем ноду, ID для нашей машины, hostname, какой будет пул, хранилище. Указываем пароль для рута.
На 2 шаге - где лежит наш шаблон и выбираем его
3 - сколько памяти, размер файла подкачки, размер диска, сколько ядер
4 - сеть. routed mode - весь трафик будет ходить через основную ноду, и там надо вписать айпи для машины. bridged mode - контейнер будет в виртуальном свиче, и в сети виден как независимый компьютер. Я предпочитаю bridged.
5 - указываем DNS и потом подтверждаем создание машины. Ничего сложного.

3. Настройка
Поставили систему.. а дальше? Попытка подключиться через консоль будет безуспешна, увы (Console). Точнее, покажет окно с надписью
Attached to CT 101 (ESC . to detach)
но на нажатия никакой реакции. Это нормально. Точнее, это ненормально и надо будет чинить, но на момент установки - нормально.
Подключаемся к ноде, где запущен нужный нам контейнер и смотрим список
vzlist
(впрочем, номер нужного контейнера можно посмотреть и через веб)
vzctl enter (номер)
Мы внутри машины.

3а. Настроим сеть
Для начала, проверим что есть сеть
ifconfig
Если покажет только lo - надо проверить, что адаптер видится
ifconfig eth0
Должен быть какой-то вывод. Значит, просто на интерфейсе нет адреса.
Статика:
пишем в /etc/sysconfig/networking/profiles/default/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.2.222
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
#HWADDR=00:11:22:33:01:65
По названиям переменных должно быть понятно, что сюда вписывается.

Динамика:
в этот же файл,
BOOTPROTO=dhcp

Вообще, этот файл обычно создаётся автоматически при загрузке машины, если подходящего не найдено, с dhcp по умолчанию. Во всяком случае, в centos 5 создавался.

3б. Консоль
Пора настроить консоль.
http://pve.proxmox.com/wiki/OpenVZ_Console
centos 6 выделился - надо вписывать не в /etc/inittab, а в /etc/init/tty.conf:
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345]

stop on runlevel [!2345]

respawn
exec /sbin/agetty -8 tty1 38400
Запускаем.
# start tty
tty start/running, process 4086

Проверяем. Из основной ноды
# vzctl console 101
Attached to CT 101 (ESC . to detach)

CentOS release 6.4 (Final)
Kernel 2.6.32-20-pve on an i686

389DS.local login:

Всё, консоль настроена.
Можно модифицировать шаблон, чтобы консоль была настроена уже после установки, читать в [1]

4. Если что-то не так
В контейнер можно подключиться, даже если он не стартует, например чтобы забрать какие-то данные или модифицировать конфиги. Подключаемся по ssh на ноду, к которой привязан нужный нам контейнер, и смотрим в
/var/lib/vz/root/
Номера это номера машин. Дальше можно как обратиться к файлам, так и сделать chroot туда, получив ограниченную функциональность. Может быть актуально например для сброса root-пароля.

Линки
[1] http://pve.proxmox.com/wiki/OpenVZ_Console - тут есть о настройке консолей под разные виды ОС.

Комментариев нет:

Отправить комментарий