Корень базовой системой — это установленную версию ALTLinux Server 4.0 с ядром 2.6.18-ovz-smp. Как было сказано раньше, ip-адрес этой системы 192.168.15.1/24, имя хоста — root, домен — mo.org.ru.
Для нормальной работы samba-сервера в ovz-контейнере, необходимо использовать veth для сетевого интерфейса этого контейнера. Дабы не создавать огород из veth и venet интерфейсов, я использовал и для остальных контейнеров veth. Для нормального взаимодействия междуveth-интерфейсами было произведено их объединение в один bridge-интерфейс.
Установка не должна вызвать каких-либо затруднений. Два ключевых момент на которые стоит обратить внимание: создание разделов, задание сетевых настроек.
Таблица разделов для ALTLinux Server 4.0, которые были созданы на сервере, выглядит следующим образом
Disk /dev/hda: 80.0 GB, 80026361856 bytes
/dev/hda1
2.0G
–
–
–
swap
–
–
/dev/hda2
487M
137M
325M
30%
/
ext3
(rw)
/dev/hda6
29G
173M
28G
1%
/home
ext3
(rw,nosuid)
/dev/hda3
2.0G
139M
1.7G
8%
/usr
ext3
(rw,nodev,noatime)
/dev/hda8
20G
18G
835M
96%
/usr/repo
ext3
(rw,noexec,nosuid,nodev)
/dev/hda5
2.0G
80M
1.8G
5%
/var
ext3
(rw,nosuid)
/dev/hda7
3.0G
33M
2.9G
2%
/var/cache/squid
reiserfs
(rw,noexec,nosuid,nodev,noatime)
/dev/hda9
17G
173M
16G
2%
/var/lib/vz
ext3
(rw)
Выбор ext3 как файловой системы для большинства разделов на сервере обусловлен в основном возможными частыми отключения электроэнергии на точке. Хотя для раздела /var/lib/vz это обусловленно еще и особенностями работы ovz с квотами.
Более подробно об особенностях использования различных файловых систем можно узнать из следующих источников
Следующий шаг — перенос branch 4.0 с внешнего носителя на жесткий диск сервера. Репозитарий используется для создания шаблонов и установки дополнительных пакетов на linux-машины в сети.
В моем случаи пакетная база была на внешнем usb-диске /dev/sda1. Перенос данных был осуществленн следующим образом
После чего были отключены все имеющиеся репозитарии. Список подключенных репозитариев находятся в файлах /etc/apt/sources.list.d/* и /etc/apt/sources.list
Отключение выполнено следующим образом
После чего добавляем новый репозитарий в /etc/apt/sources.list, мы его скопировали в /usr/repo/branch
На этом подключение репозитариев для root-системы было произведено.
Bridge
Bridge — это технология объединения сетевых сегментов на 2 уровне эталонной модели ISO/OSI. Впервые была реализована в ядре 2.2, впоследствии переписана Lennert Buytenhek и включена в ветки 2.4 и 2.6. Проект располагается по адресу http://linux-net.osdl.org/index.php/Bridge. В дистрибутивах ALTLinux представлен пакетом bridge-utils, который после установки сервера необходимо дополнительно установить командой apt-get install bridge-utils.
Создание конфигурации для bridge-устройства в etcnet
Посмотрим какие сетевые устройства у нас есть в системе etcnet
Создадим директорию для устройства vzbr0. vzbr0 — имя произвольное, можно задать любую последовательность символов, удовлетворяющих правилу именования устройств в etcnet, к примеру bridge0 или vzbridge0 или mybr1 и так далее
Результат
В директории /etc/net/ifaces/vzbr0 создаем три файла.
В файле brctl задаются опции использования протокола stp
В файле ipv4address задается IP-адрес интерфейса, этот адрес мы забираем у eth0
В /etc/net/ifaces/eth0/ipv4address необходимо установить следующее значение
В файле options для vzbr0 в поле HOST должны быть перечислены все интерфейсы, которые
входят в наш мост, пока что это только eth0. В дальнейшем мы добавим туда veth101, veth102, veth103 и так далее для каждого контейнера и выглядеть это будет следующим образом.
Можно теперь проверить.
Чтобы увидеть интерфейсы которые в данный момент используются в работе моста, необходимо выполнить команду
Попробовать новый vzctl с поддержкой bridge, или описать как это делать на текущей версии
Настройки маршрутизации
Шлюзом по умолчанию для нашего сервера является машина с IP-адресом 192.168.10.1. Эта машина находится в отличной от 192.168.15.0/24 подсети. По этому необходимо назначить ip-alias на наш интерфейс vzbr0. Для этого в /etc/net/ifaces/vzbr0/ipv4address мы добавляем следующую строку.
Так же необходимо задать для нашей машины шлюз по умолчанию.
В /etc/net/ifaces/vzbr0/ipv4route вписываем следующую строку
После чего можно проверить доступность узла 194.67.57.26
Настройка системы для создания ovz-шаблонов
Следующим шагом будет — настройка системы для использования технологии spt. Я перечислю минимальный набор команд, которые необходимо выполнить. За детальными разъяснениями лучше обратиться к следующей статье: http://www.freesource.info/wiki/AltLinux/Dokumentacija/OpenVZ
Предварительно необходимо поставить следующие пакеты
Все шаблоны будут созданы пользователем username, который был добавлен на этапе установки сервера.
Добавляем его в hasher-пользователи
Разрешаем для этого пользователя создавать устройства внутри шаблона
После этого необходимо завершить сеанс работы текущего пользователя username и произвести вход в систему, чтобы обновить информацию о принадлежности этого пользователя к различным группам.
Возможен обходной маневр в виде выполнения следующей команды в консоле и дальнейшие действия производить в этой же консоле
После чего в выводе команды id username должны появиться группы username_a, username_b, hasman
ovz-server-default
Необходимо создать шаблон по умолчанию. Мы будем копировать его, добавлять необходимые пакеты, изменять имя и на основе этих изменений создавать уже конечные шаблоны.
Итак от пользователя username выполняем следующие команды
Содержимое файла /ovz-server-default/profile/ovz/packages — минимальный набор пакетов, общих для всех контейнеров.
Следующие файлы /ovz-server-default/profile/ovz/hooks.d/{02root,03services,04inittab,05mtab,06syslog} необходимо скопировать.
Файл /ovz-server-default/profile/ovz/hooks.d/07resolv указывает dns-сервер для нашего контейнера (он нам уже известен).
Файл /ovz-server-default/profile/ovz/hooks.d/08sources.list вносит данные в шаблон о подключаемых репозитариях.
О репозитарии fds речь пойдет в Настройка fds-репозитария
Для всех hooks.d-файлов необходимо дать права на выполнение
Последний штрих создание конфигурационного файла для контейнеров ovz.
Все ресурсы машины (память, процессорное время, жесткий диск и так далее) мы разделяем на 10 равных частей.
После этой процедуры у нас должен появиться файл /etc/vz/conf/ve-server-4.0.conf-sample, в моем случаи со следующим содержимым
Обратите внимание на следующие параметры: DISKSPACE — это размер раздела под каждый контейнер, оно должно быть не меньше 300 Мбайт; PHYSPAGES — из-за маленького его значения ( <= 50000 ) возможны проблемы при запуске различных сервисов (fedora-ds-сервер).