VISION
Tried a very large content -- Руководство по созданию виртуальных выделенных серверов на базе Virtuozzo

Руководство по созданию виртуальных выделенных серверов на базе Virtuozzo


Перевод: Елена Снурницына


PDF версия








Содержание







  1. Предисловие
    __________________________________________________________________




(данная глава отсутствует :-)







Информация
об этой брошюре - руководстве



Кому
предназначена эта брошюра



Содержание
этой брошюры



Документация
договора



Типографские
условия



Оформительские
подсказки-примеры



Основные
условия договора



Обратная
связь







  1. Теоретические основы
    (Философия) Open VZ
    ____________________________________




Информация о компьютерной
программе OpenVZ



Что такое OpenVZ?



Приложения OpenVZ



Отличительные особенности
OpenVZ



Операционная система
Virtualization



Сеть Virtualization



Шаблоны



Менеджмент ресурсов



Главные принципы работы с
OpenVZ



Основы технологии
OpenVZ



Про шаблоны



Про лицензии



Конфигурация OpenVZ



Доступность ядра системы







  1. Предварительные
    операции и операции инсталляции______________________________




Основные требования для
инсталляции программы



Системные требования



Сетевые требования



Инсталляция и
преобразование основной ОС на Hardware
Node



Выбор типа системы



Деление диска



Окончание процесса
инсталляции ОС.



Инсталляция компьютерной
программы OpenVZ



Загрузка и установка
ядра Open VZ



Настройка Boot
loader ОС



Настройка параметров
sysctl



Загрузка и установка
архивированных файлов OpenVZ



Установка шаблонов
ОС







  1. Операции с серверами
    VPS
    ____________________________________________________




Создание и настройка нового
виртуального частного сервера



Прежде, чем начать
работу



Выбор
идентификационного номера нового VPS



Выбор шаблона ОС



Непосредственное
создание VPS



Конфигурирование
(преобразование) VPS



Запуск, остановка,
перезагрузка, вопросы относительно состояния VPS



Внесение VPS
в список VPS



Удаление VPS



Основные команды VPS















  1. Управление
    шаблонами______________________________________________________




Жизненный цикл шаблонов



Внесение шаблонов в список



Работа с VPS







  1. Управление ресурсами
    _______________________________________________________




Контрольные параметры
ресурсов



Управление квотами диска



Что такое квоты
диска?



Параметры квот
диска.



Включение и
отключение квот Per-VPS диска



Настройка параметров
квоты диска Per-VPS



Включение и
отключение второстепенных (second-level)
квот для Virtual Private
Server



Настройка параметров
второстепенных квот диска



Проверка статуса
квоты



Управление CPU
Share



Управление системными
параметрами



Контроль потребления
системных ресурсов (System
Resources Consumption
)



Контроль Memory
Consumption (потребления ресурсов памяти)



Управление конфигурацией
ресурсов VPS



Разделение Hardware
Node на равные части



Утверждение
конфигурации Virtual Private
Server











  1. Задачи первостепенного
    выполнения__________________________________________




Определение ID VPS



Изменение системного
времени VPS



Устройства доступа на VPS



Перемещение сетевого
адаптера на VPS



Обеспечение VPN
для VPS



Загрузка iptables
модулей



Загрузка iptables
модулей на hardware node



Загрузка iptables
модулей на определенный VPS



Создание конфигурационных
файлов для нового разделения Linux



Перезагрузка VPS



  1. Поиск ядерных
    неисправностей________________________________________________




Общие рассмотрения



Выявление ядерных
неисправностей



Сохранение ядерных
ошибок (OOPS)



Обнаружение ядерной
функции, вызвавшей процесс D



Проблемы с управлением VPS



Отказ создать VPS



Отказ запускать VPS



Отказ в доступе к
VPS



Отказ войти на VPS



Проблемы с
функционированием VPS



Перерыв при доступе
к удаленным hosts



Проблемы с использованием
Linux утилит (?)



Получение технической
поддержки (?)











  1. Ссылки_____________________________________________________________




Конфигурирование Open
VZ


Матрица
файлов конфигурации Open VZ



Глобальный файл
конфигурации



Файл конфигурации
VPS



Управление скриптами
Open VZ



Интерфейс
командных строк
Open VZ (OpenVZ Command Line Interface)



Матрица утилит
командных строк OpenVZ.



vzctl



vzlist



vzquota



Утилиты управления
шаблоном



Дополнительные
инструменты







Глоссарий_________________________________________________________________________























































































































































































Глава 2







Теоретические
основы (Философия) OpenVZ







В этой главе:







  1. Информация о компьютерной
    программе OpenVZ



  2. Отличительные особенности
    OpenVZ



  3. Главные принципы работы с
    OpenVZ



  4. Информация относительно
    доступности Hardware Node
    (
    ядра системы)








_____________________________________________________________________________________







  1. Информация о
    компьютерной программе OpenVZ








Что такое OpenVZ?







OpenVZ
– это полностью автоматизированная и виртуализированная система
для сервера, разработанная SWsoft. OpenVZ
создает многочисленные изолированные Virtual
Private Servers
(VPSs) на одном физическом сервере, чтобы
распределить hardware и усилия по
управлению системой с максимальной долей эффективности. Каждый VPS
функционирует для его пользователей и приложений как автономный
сервер, так как он может быть перезагружен отдельно и, кроме того,
имеет отдельный доступ к коренной папке, имеет своих пользователей,
IP адреса, память, процессы, файлы,
приложения, системные библиотеки, и файлы конфигурации. Легкий и
эффективный дизайн OpenVZ делает его
правильным выбором виртуализрованных production
серверов с live applications
и real-life
data.



Основные
возможности OpenVZ VPS:



  • Динамичное
    деление в режиме реального времени: деление физического сервера на
    десятки VPSs, каждый с полной
    функционализацией сервера.



  • Управление
    ресурсами:
    назначает и управляет параметрами ресурса VPS
    и перераспределяет ресурсы в режиме реального времени.



  • Общее
    управление:
    управляет множеством физических серверов и VPS
    комплексно.
















Приложения OpenVZ







OpenVZ
является уникальным решением для Hosting
Service Провайдеров, позволяя им:



  • иметь
    сотни клиентов с их индивидуальными VPS
    серверами и, тем не менее, разделяющими единый физический сервер;



  • обеспечить каждого пользователя
    гарантированным качеством обслуживания;



  • виртуозно, прозрачно перемещать
    пользователей и их окружение между серверами без ручной
    реконфигурации.




Если вы
управляете множеством выделенных серверов Linux
в пределах одного предприятия, каждый из которых выполняет отдельные
функции по обслуживанию, вы можете использовать OpenVZ,
чтобы
объединить все эти серверы и перенести на один
компьютер, не теряя ценной информации и не ставя под угрозу работу
всей системы.



VPSs
действуют как изолированный автономный сервер:



  • каждый VPS
    имеет его собственные процессы, пользователей, файлы и обеспечивает
    полный доступ к корневым файлам;



  • каждый VPS
    имеет его собственные IP адреса, номера порта, проникающие и
    направляющие правила;



  • каждый VPS
    может иметь его собственную конфигурацию для системы и прикладного
    программного обеспечения, также как и его собственные версии
    системных библиотек.




Также, возможно устанавливать или
настраивать пакеты программного обеспечения в VPS
независимо от других VPSs или хост системы
(Host system).
Одна и та же Linux box
может управлять многочисленными распределениями пакета.







Фактически, сотни серверов могут
группироваться таким образом. Помимо очевидных преимуществ такой
консолидации (увеличенная легкость управления и т.п.), есть
некоторые, о которых Вы возможно, даже и не думали, скажем,
значительное уменьшение платы за электроэнергию!



OpenVZ
оказывается неоценимым для IT образовательных учреждений, которые
могут теперь обеспечить каждого студента личным сервером Linux,
который, в свою очередь, может проверяться и управляться отдаленно.
Компании, развивающие программное обеспечение, могут использовать
virtual environments
c целью тестирования и т.п.







Таким образом, OpenVZ
может быть эффективно применен в широком диапазоне областей: web
хостинг, объединение серверных предприятий, разработка программного
обеспечения и его испытание, пользовательское обучение, и так далее.







  1. Отличительные
    Особенности OpenVZ




Концепция
OpenVZ Virtual
Private Servers
отличается от основной идеи традиционных
«virtualization»
машин тем, что VPSs серверы всегда
управляют тем же самым ОС ядром (OS kernel)
как и хост система (the host
system) – то есть - (Linux
on Linux, Windows
on Windows,
etc.). Такая единоядерная технология работы
позволяет управлять серверами VPSs с
фактически нулевыми расходами.
Таким образом, OpenVZ
VPSs серверы предлагают на порядок более
высокую эффективность и управляемость в сравнении с традиционными
«virtualization» технологиями.







ОС Virtualization







С точки зрения приложений и
пользователей VPS, каждый VPS
– это независимая система. Эта независимость достигается за
счёт специального слоя «virtualization»
в ядре хост ОС (the
host system)
.
Необходимо заметить, что лишь мельчайшая часть CPU
ресурса затрачена на виртуализацию (1-2 %). Главными особенностями
слоя «virtualization»,
заложенного в OpenVZ,



являются:



  • VPS
    выглядит как обыкновенная система Linux.
    VPS имеет стандартные скрипты запуска,
    программное обеспечение от продавцов может работать внутри VPS
    без специализированных модификаций OpenVZ или особенного
    регулирования;



  • Пользователь может изменить
    любой файл конфигурации и установить дополнительное программное
    обеспечение;



  • VPSs
    полностью изолированы друг от друга (система файла, процессы, IPS,
    sysctl переменные);



  • Процессы, принадлежащие VPS
    намечаются для выполнения на всех доступных CPU.




Следовательно, VPSs
не привязаны только к одному CPU и могут
использовать всю доступную мощность CPU.







Сеть Virtualization







Слой виртуализации сети OpenVZ
спроектирован таким образом, чтобы изолировать серверы VPS
друг от друга и от физической сети:











  • Каждый VPS
    имеет его собственный IP адрес; разрешается/возможно также иметь
    несколько IP адресов на одном сервере VPS;




Трафик сети VPS
изолирован от других серверов VPSs. Другими
словами, серверы VPS защищены друг от
друга в пути, так что, шпионаж по трафику исключен;



  • Внутри сервера VPS
    может использоваться система Firewalling
    (т.е. пользователь может создать такие условия - правила,
    ограничивающие доступ к некоторым сервисам, используя канонический
    iptables инструмент внутри VPS).
    То есть, возможно создать эти способы защиты внутри VPS;



  • Список направляющих действий
    позволяют извлечь выгоду из современных-передовых качеств
    направления (routing). Например,
    устанавливая различные MTUs для всяческих
    целей, определяя различные адреса источника обращается для различных
    целей, и так далее.








Шаблоны (Templates)







Образец ОС в OpenVZ
является набором пакетов от распространения Linux,
используемого для наполнения одного или более серверовVPS.
С системой OpenVZ, различные распределения
могут сосуществовать на одном и том же модуле обеспечения (hardware
box) , таким образом, многочисленные
шаблоны ОС являются доступными. Образец ОС состоит из системы



программ, библиотек, и скриптов
необходимых для загрузки и управления системой (VPS)
и нескольких приложений и утилит. Приложения, такие как компилятор
и сервер SQL, обычно



не включаются в образец ОС.







За более подробной информацией
относительно шаблонов OpenVZ обращайтесь в
раздел «Про шаблоны» (Understanding
Templates).






Менеджмент ресурсов







Менеджмент ресурсов OpenVZ
контролирует количество ресурсов, доступных для серверов VPS.
Управляемые ресурсы включают такие параметры как мощность CPU,
место на диске, ряд параметров, связанных памятью. Менеджмент
ресурса позволяет OpenVZ:







  • эффективно разделять доступные
    ресурсы Hardware Node
    между серверами VPS ;



  • гарантировать качество сервиса
    (QoS) в соответствии с уровнем сервисного
    соглашения (SLA);



  • обеспечить работу и изоляцию
    ресурса и защитить от внезапных отказов в обслуживании;



  • одновременно назначать и
    управлять ресурсами множества серверов VPS,
    и т.д.












Менеджмент ресурсов куда более
важнее для Open VZ
чем для автономного компьютера, так как утилизация компьютерного
ресурса в системе, базирующейся на OpenVZ
значительно выше чем



в обычной системе.







  1. Главные
    принципы работы с OpenVZ








Основы технологии OpenVZ







В этом разделе мы постараемся
сформировать у Вас более или менее ясное представление о том как
система OpenVZ будет работать на Вашем
компьютере. Пожалуйста, обратите внимание на следующий рисунок:




Рисунок
1 Технология Open VZ







Исходя из этого рисунка,
предполагается, что у Вас имеется некоторое количество физических
серверов, объединенных в сеть. Фактически, для эффективного
использования OpenVZ для потребностей Вашей
сети, Вам может быть достаточно лишь одного выделенного сервера. Если
у Вас более одно физического сервера, базирующегося на системе
OpenVZ, то каждый из серверов будет иметь подобную структуру. В
соответствии с терминологией OpenVZ, такие
серверы именуются Hardware Nodes
(HN или Nodes),
так как они представляют единицы аппаратных (hardware
units) средств в пределах сети.







Система OpenVZ
установлена на Fedora
Core 3 или Red
Hat Enterprise
Linux 4, преобразованных определенным
образом
. Например, такая настроенная конфигурация должна
включать создание /vz partition
(разделение), которое является основным разделением для хостинг
серверов VPS и которое должно быть больше,
чем корневое деление. Эти и подобные проблемы конфигурации могут быть
легко решены в процессе установки Linux на
Hardware Node.
Более детальные инструкции по установке Linux
(названной Host
Operating System

или Root
Operating System
на рисунке 1)
на Hardware Node
будут подробно рассмотрены в следующей главе.







OpenVZ
устанавливается таким образом, что Вы будете в состоянии загрузить
ваш компьютер либо с помощью OpenVZ, либо
без него. В первом случае поддержка OpenVZ
будет представлена как “OpenVZ
на Вашем загрузчике (boot loader)
и показана как Слой OpenVZ (OpenVZ
Layer)
на рисунке 1
.



Однако, на этом этапе Вы еще не
способны создавать какие-либо серверы VPS.
Сервер VPS по своим функциям идентичен
изолированному автономному серверу, имея свои собственные IP адреса,
процессы, файлы, пользователей, собственные файлы конфигурации,
приложения, системные библиотеки и так далее. Серверы VPS
делят один и тот же
Hardware Node

и ядро ОС
. Однако, они изолированы друг от
друга. VPS - своего рода ‘песочница’
для процессов и пользователей.







Различные серверы VPS
могут управлять различными версиями Linux
(например, SuSE 9.2 или Fedora
Core 4
и многие другие). Каждый VPS
может управлять своей собственной версией Linux.
В этом случае мы говорим, что VPS основан
на определенном шаблоне ОС. Шаблоны ОС – это пакеты,
доставленные OpenVZ. Прежде, чем создать
VPS, Вы должны установить соответствующий
шаблон ОС в OpenVZ. Это показано как
Шаблоны OpenVZ (OpenVZ
Templates)
на рисунке 1.







После того, как Вы установили, по
крайней мере, один шаблон ОС, Вы можете создать любое количество
серверов VPS с помощью стандартных утилит
OpenVZ, сформировать их сеть,
отрегулировать другие параметры настройки, и начать работать с этими
серверами VPS как с полнофункциональными
серверами Linux.







Про шаблоны







Шаблон - это блок построения
VPS. Шаблон ОС - это ряд пакетов
необходимых для управления



VPS.
Обычно шаблоны создаются непосредственно прямо на вашем Hardware
Node. Все, что Вам необходимо – это

инструменты шаблона (vzpkg) и блок
информации о шаблонах (template
metadata)







Блок информации о шаблонах
(template
metadata)







Template
metadata
- информация о
конкретном шаблоне ОС. Эта метадата содержит:







  • список пакетов, включенных в
    этот шаблон (в форме названий пакета);



  • местоположение (сети)
    репозиторий пакетов;



  • дистрибутивно-специфические
    скрипты необходимые для их же осуществления на различных стадиях
    инсталляции шаблона;



  • общий ключ (и) GPG
    необходимый для проверки подписей пакетов;












Вся эта информация содержится в
нескольких файлах, установленных в директории
/vz/template/osname/osrelease/config/.
Например, метадата для шаблона Fedora
Core 4



установлена в директории
/vz/template/fedoracore/4/config.







Наряду с template
metadata
, предусмотрено
несколько специфических OpenVZ пакетов; они



установлены в директории
/vz/template/osname/osversion/vz-addons/.







Шаблон кэш (Template
cache)







Шаблон metadata
обеспечивает достаточно информации, чтобы создать шаблон OC.
Во время создания шаблона ОС, необходимые файлы пакета загружаются из
репозитория сети на Hardware
Node и устанавливаются на временном сервере
VPS, который затем упаковывается
в
gzipped tarball,
именуемый КЭШем (тайником) шаблона - template
cache.







Template
cache используется для быстрого
обеспеченияVPS – так как в основном,
это сервер VPS на стадии создания. Таким
образом, чтобы создать сервер VPS,
необходимо распечатать этот файл (template
cache). Файлы template
cache сохранены в директории
/vz/template/cache/.







Любой template
cache устаревает со временем, поскольку
постоянно выпускаются обновления. Естественно, существует путь
быстрого апдейта кэш шаблона, так же как обновляются устаревающие
серверы VPS. есть путь быстро обновить
тайник шаблона так же как весь



предварительно созданный VPSs
с самыми новыми обновлениями.







В то время как Вы в состоянии
выполнить все виды задач в пределах сервера VPS,
включая создание пакетов rpm и их
установку, OpenVZ обеспечивает более легкий и эффективный путь
установки приложений необходимых на серверах VPS.
Точно также как Вы устанавливаете шаблон ОС в системе OpenVZ для
создания необходимого количества серверов VPS
соответственно, Вы можете установить приложения в OpenVZ
с целью разделения пакета файлов среди любого количества серверов
VPS. Затем Вы можете тогда добавить эти
приложения к любому количеству серверов VPS.







Само собой разумеется, что в
случае, если Вы хотите установить приложение только на одном сервере
VPS, нет никакой необходимости работать с
шаблонами: Вы вполне можете работать внутри соответствующих серверов
VPS.







Про лицензии







Программное обеспечение OpenVZ
состоит из ядра OpenVZ и инструментов
пользовательского уровня, которые лицензируются посредством двух
различных открытых лицензий.







  • Ядро OpenVZ
    основано на ядре Linux, распространяемое
    на условиях GPL и лицензируемое GNU
    GPL версия 2. Текст лицензии находится по
    адресу http://openvz.org/documentation/licenses/gnu-gpl.



  • Инструменты пользовательского
    уровня (vzctl, vzquota,
    и vzpkg) лицензируются в соответствии с
    условиями лицензии QPL. Текст лицензии Вы
    сможете найти по адресу
    http://openvz.org/documentation/licenses/qpl.








Конфигурация OpenVZ







OpenVZ
позволяет Вам легко формировать различные параметры настройки для
системы OpenVZ в целом, также как и для
каждого VPS в отдельности. Среди этих
параметров настройки - дисковая и пользовательская доли, параметры
сети, местоположения файла по умолчанию, файлы образца конфигурации,
и другие.



OpenVZ
хранит информацию конфигурации в двух типах файлов: глобальный файл
конфигурации



/etc/sysconfig/vz и файлы
конфигурации VPS
/etc/sysconfig/vzscripts/vpsid.conf.
Глобальный файл конфигурации определяет общие параметры и параметры
по умолчанию для операции VPS, например,
регистрируя параметры настройки, задействуя и отключая дисковую квоту
для серверов VPS, файл конфигурации по
умолчанию и шаблон ОС, на основе которых создается новый сервер VPS
, и так далее. С другой стороны, файл конфигурации сервера VPS
определяет параметры для конкретного сервера VPS,
типа дисковой квоты и пределов ресурсов, IP адресов и наименования
хост компьютера (HOST NAME).
В случае если параметр формируется и в глобальном файле конфигурации
OpenVZ, и в файле конфигурации сервера
VPS, файл конфигурации сервера VPS
получает приоритетную позицию. Для того, чтобы ознакомиться со
списком параметров, составляющих глобальный файл конфигурации и файлы
конфигурации сервера VPS, обратитесь к
главе Ссылки (Reference).







Файлы конфигурации могут быть
изучены, лишь, когда работает система OpenVZ
и/или серверы VPS. Однако, стандартные
утилиты системы OpenVZ, например, vzctl,
позволяют Вам тут же изменить параметры настроек конфигурации
OpenVZ, либо, не изменяя соответствующие
файлы конфигурации, либо модифицируя их (если Вы хотите, чтобы
изменения произошли в следующий раз, как только Вы начнете работу с
системой OpenVZ и/или серверамиVPS).







  1. Информация
    относительно доступа (доступности/пригодности Hardware
    Node) к Hardware
    Node








Необходимо заметить, что доступ к
ядру системы (т.е. Hardware Node)
является более опасным чем доступ к ядру сервера стандартного ПК. Так
как Hardware Node
управляет многочисленными серверами VPS,
выполняя множество важных функций, приостановка работы ядра (т.е.
главного компьютера, где установлена система Open
VZ) может серьезно, негативно сказаться на
работе всей системы, сети. То есть выход из строя ядра сравним по
последствиям с одновременной приостановкой работы нескольких
серверов, выполняющих важные функции в системе.







Чтобы увеличить степень
пригодности Hardware Node,
предлагается сделать следующее:







  • Используйте хранилище RAID
    для важных частных областей сервера VPS.
    Рекомендуется отдать предпочтение hardware
    RAID, в самом крайнем случае software
    mirroring RAID.



  • Не используйте программным
    обеспечением непосредственно на Hardware
    Node. Создайте специальные серверы VPS
    , где вы можете разместить необходимые серверы, типа BIND,FTPD,HTTPD
    и другие. На самом Hardware Node
    Вам потребуется лишь SSH daemon.
    Желательно, чтобы он соединялся лишь с предопределенным
    количеством IP адресов.



  • Не создавайте пользователей на
    самом Hardware Node.
    Для этого используйте серверы VPS, где Вы
    можете создать столько пользователей сколько душе угодно. Внимание:
    ставя под угрозу Hardware Node,
    Вы делаете тоже самое с серверами VPS.



















Глава 3







Предварительные
операции и операции инсталляции







В этой главе:







  1. Основные требования для
    инсталляции программы



  2. Инсталляция и
    преобразование главной (хост) Операционной Системы на Hardware
    Node



  3. Инсталляция компьютерной
    программы OpenVZ








_____________________________________________________________________________________







  1. Основные
    требования для инсталляции программы








После того как Вы решили, какую
структуру выбрать для Вашей системы OpenVZ,
Вам необхо-димо убедиться, что все Hardware
Nodes
, на которых Вы
собираетесь запустить систему OpenVZ для
Linux, соответствуют следующим
общесистемным (hardware и software),
а также системным требованиям.







Системные требования



Здесь мы делаем акцент первую
очередь на общесистемных требованиях для программного обеспечения
системы OpenVZ для Linux.







Совместимость оборудования
(hardware)



Основными Hardware
Node требованиями для стандартного
32-битного издания OpenVZ являются:







  • ПК совместимый с IBM;



  • Intel
    Celeron, Pentium II, Pentium III, Pentium 4, Xeon,
    или
    AMD Athlon CPU
    ;



  • По крайней мере, 128 MB
    аудиометафайла (RAM);



  • По меньшей мере, 4 ГБ свободного
    места на жестком диске (дисках);



  • Карта сети (рекомендуемые
    варианты - Intel
    EtherExpresslOO (i82557-,
    i82558- or
    i82559-based
    )
    или 3Com (3c905 или 3c905B или 3c595), или
    RTL8139-
    based
    ).








Компьютер должен соответствовать
требованиям Red Hat
Enterprise Linux
или Fedora Core
hardware
(списки совместимости
оборудования (hardware) ищите по адресу
www.redhat.com).







Точная компьютерная конфигурация
зависит, от количества серверов VPS,
которые Вы собираетесь установить, и от предполагаемой нагрузки,
которую будут нести Ваши серверы VPS. Чтобы
выбрать правильную конфигурацию следуйте рекомендациям ниже:



  • Центральные процессоры (CPU)
    . Чем больше серверов VPS Вы планируйте
    использовать одновременно, тем больше CPU
    Вам потребуется.



  • Память. Чем больше у Вас памяти,
    тем больше серверов VPS Вы можете иметь.
    Точная цифра зависит от количества и качества приложений Вы
    планируете иметь на серверах VPS. В
    среднем, на каждые 20-30 серверов VPS
    требуется 1 ГБ RAM.



  • Место на диске. Каждый сервер
    VPS занимает в среднем около 400-600 МБ
    жесткого диска), о включает системные файлы), плюс, данные
    пользователя (user data)
    внутри сервера VPS (такие как web
    site content).
    Все это Вы должны учесть, планируя деление диска и количество
    серверов VPS.








Типовой 2-way
Dell PowerEdge
1650 lu-mountable
с 1 ГБ RAM и 36 ГБ жестких дисков подходит
для обеспечения 30 серверов VPS.







Совместимость программного
обеспечения



Hardware
Node дожжен использовать либо Red
Hat Enterprise
Linux 3 или 4, либо Fedora
Core 3 или 4, либо же CentOS
3.4 или 4. Для более качественной работы
OpenVZ
смотрите подробные инструкции по установке этих операционных систем
в следующих разделах.



Следует заметить, что это
требование не ограничивает способность OpenVZ
предоставить другие версии Linux в качестве
операционной системы для сервера VPS.
Распределение Linux, установленное на
сервере VPS может отличаться от дистрибуции
в хост ОС (host OS).







Требования Сети







Предпосылки сети, описанные здесь
помогут Вам избежать неполадок с запуском и управлением системой
OpenVZ для Linux.
Прежде всего, Вы должны позаботиться о следующем:



  • Локальная сеть (LAN)
    для Hardware Node;



  • Интернет-связь для Hardware
    Node;



  • Валидный \ действующий IP адрес
    и другие параметры (default
    gateway, network
    mask, DNS
    конфигурация (configuration) для
    Hardware
    Node;



  • По крайней мере, один
    действующий IP адрес для каждого сервера VPS.
    Общее количество адресов должны быть не меньше чем запланированное
    число серверов VPS. Адреса могут быть




размещены в различных IP сетях;



  • Если используется брандмауэр,
    проверьте, чтобы IP адреса серверов VPS
    были доступны снаружи.












  1. Инсталляция и
    преобразование основной (Хост) Операционной Системы на Hardware
    Node




В этом разделе Вы узнаете, как
установить Fedora
Core 4 на
Hardware
Node и как изменить ее применительно к
OpenVZ.
Если Вы используете другое
распределение, пожалуйста, обратитесь по вопросу специфики установки
к соответствующим руководствам по установке.






Выбираем тип системы







Пожалуйста, устанавливая ОС на
Hardware Node,
следуйте инструкциям вашего руководства по установке. После
нескольких первых картинок, на экране появиться картинка с выбором
типа инсталляции. Для OpenVZ требуется
установка Системы сервера (Server System)
, поэтому выберите "Сервер" как это показано на рисунке
ниже.




Рисунок
2 Установка Fedora Core
- выбираем тип системы



На рисунке: Installation
type
- тип инсталляции. Выберите
необходимый тип инсталляции, который наиболее верно отвечает Вашим
требованиям. Инсталляция разрушает любую раннее сохраненную
информацию на выбранных частях (partitions).
За более подробной информацией о разнице между типами инсталляции
обращайтесь к документации данного продукта.



Personal
desktop
– индивидуальный рабочий
стол - идеально подходит для ПК и лэптопов. Выберите этот тип
инсталляции для того, чтобы установить графические параметры рабочего
стола и создать систему идеально подходящую для домашнего
использования.



Workstation
– рабочая станция. Выбрав эту опцию, Вы загрузите графические
параметры рабочего стола вместе с инструментами для развития
программного обеспечения и системно администрирования.



Server
– сервер – если хотите установить совместное пользование
файлов, совместную печать, совместные web
сервисы. Могут быть также установлены дополнительные сервисы. Кроме
того, можно выбрать устанавливать или нет графические параметры.



Custom
–обычный – чтобы получить полный контроль над процессом
инсталляции, включая выбор пакет программного обеспечения или деления
диска.



Не рекомендуют устанавливать
дополнительные пакеты непосредственно на Hardware
Node
из-за особенной важности
Hardware Node
(см. Hardware
Node Availability
Considerations
в этой
главе). Вы будете в состоянии управлять любыми необходимыми
сервисами, внутри отдельных серверов VPS.



Деление
диска



Выберите
Manual partition with Disk Druid
на
экране с окошком
Disk Partitioning Setup.
Не выбирайте автоматическое
деление, так как этот тип деления создаст раскладку диска (disk
layout), предназначенных для систем
управляющих многочисленными сервисами. В случае с системой Open
VZ, все сервисы будут действовать внутри
сервера VPS.




Рисунок
3 Fedora Core
Installation - выбор деления вручную



Создайте следующее разделение на
Hardware Node:



































Деление




Описание




Обычный размер




/




корневое деление, содержащие
все файлы операционной системы Hardware
Node




2-4 ГБ




swap




страничное деление для
операционной системы Linux




2 RAM




/vz




деления для хост шаблонов
Open VZ и
серверов VPS




все оставшееся место на
жестком диске









Предлагается использовать систему
файлов ext3 для деления /vz. Это разделение используется для



содержания всех данных серверов
VPS, существующих на Hardware
Node. Выделите как можно больше места на
диске для этого разделения. Не рекомендуют использовать систему
файлов reiserfs поскольку доказано,
что она менее устойчива чем ext3, а стабильность имеет
первостепенную важность для компьютеров, базирующихся на системе
OpenVZ.



Корневое деление будет
оперировать (to host?)
файлами операционной системы. Набор сервера
Fedora Core 4
занимает приблизительно 1 ГБ
дискового пространства,
таким образом, 1 ГБ - минимальный размер корневого деления. Размер
обменного деления должен равняться двум размерам физического RAM,
установленного на Hardware Node.



Рисунок ниже представляет систему
с 12 ГБ SCSI жесткого диска.








Рисунок
4 Инсталляция Fedora Core
– друид диска











Имейте в виду, что частные сферы
серверов VPS, содержащие всю базу данных
этих серверов должны находиться на одном единственном /vz дисковом
делении вместе со всеми установленными шаблонами.







Окончание Установки ОС



После надлежащего деления вашего
жесткого диска (дисков), следуйте далее в соответствии с инструкциями
Вашей инструкции по инсталляции (Installation
Guide)
.







В то время как на экране появится
Network Configuration (конфигурация сети), Вы должны убедиться в
правильности IP адреса Hardware
Node, хост имени, DNS,
и gateway информации по умолчанию. Если Вы
используете DHCP, удостоверьтесь, что он
работает должным образом. В случае необходимости, проконсультируйтесь
с администратором вашей сети.







На картинке Firewall
Configuration, выберите No Firewall
(никакого брандмауэра). Опция Enable
SELinux
должна быть выбрана недействующей (disabled).








Рисунок
5 Инсталляция Fedora Core-
выключение Firewall и SELinux







После окончания процесса
установки и перезагрузки вашего компьютера, Вы наконец – то
готовы установить систему Open VZ
на Ваш компьютер.







  1. Инсталляция
    компьютерной программы OpenVZ








Прежде всего, Вы должны загрузить
двоичное ядро RPM (kernel
binary RPM) по
следующей ссылке http://openvz.org/download/kernel/. Вам необходимо
только одно ядро RPM, поэтому выберите
подходящее бинарное ядро в соответствии с Вашим оборудованием
(hardware)







  • Если на Вашем Hardware
    Node существует больше одного CPU
    (или CPU с
    гиперпронизывание
    (hyperthreading)
    , выберите
    vzkernel - smp
    RPM.



  • Если доступно более 4 Гб (Gb)
    RAM, выберите vzkernel
    - version
    RPM
    .



  • В любом другом случае
    рекомендуется выбирать uniprocessor
    kernel RPM
    (
    vzkerne1 – version
    )








Затем, Вы должны установить на
Hardware
Node
ядро RPM
по Вашему выбору, выполнив следующую команду:






Замечание: Не используйте
команду rpmU
(U в этом случае означает upgrade)
иначе все недавно установленные на Node
ядра будут перемещены.







Настройка Boot
Loader



В том случае если Вы пользуетесь
загрузчиком GRUB,
Boot loader будет
настроен и сформирован автоматически. Только убедитесь, чтобы строчки
ниже присутствовали в файле /boot/grub/grub.
conf
на Node:





Тем не менее, мы рекомендуем
сформировать, настроить этот файл следующим образом:



  • Замените Fedora
    Core
    на Open
    VZ
    (просто для ясности, чтобы ядра
    Open VZ не
    перемещались с другими ядрами)



  • Удалите
    все дополнительные аргументы (действительные параметры) со строки
    ядра, оставив только root=...
    параметр.




В конечном
итоге, измененный файл grub. conf
должен выглядеть следующим образом:







Настройка
параметров sysctl



Существует
ряд ограничений ядра, которые должны быть правильно настроены, чтобы
система Open VZ
работала качественно. Open VZ
доставляется с настроенным файлом /etc/sysctl.
conf. Ниже приводится список составных
частей этого файла:









Пожалуйста, редактируйте файл как
описано. Чтобы добавить изменения примените следующую команду:





Соответственно, изменения будут
применены после следующей перезагрузки.



Необходимо также упомянуть, что
Вы должны включить forwarding (net.
ipv4 . ip_forward)
,
так как Hardware Node
направляет пакеты, предназначенные для или идущие от
серверов VPS.







После этого, Вы должны
перезагрузить ваш компьютер и выбрать "OpenVZ"
на загрузочном меню.







Загрузка и установка пакетов
Open VZ.







После того, как Вы успешно
установили и загрузили ядро Open VZ,
Вы можете продолжить



установку инструментов
пользовательского уровня для Open VZ.







Вы должны установить следующие
пакеты Open VZ:







  • vzctl:
    этот пакет используется, чтобы выполнять различные функции на
    серверах VPS Open
    VZ (создает, разрушает, запускает,
    останавливает, устанавливает параметры и т.д.).



  • vzquota:
    этот пакет используется, чтобы управлять долями VPS.



  • vzpkg:
    этот пакет используется для работы с шаблонами Open
    VZ.








Вы можете загрузить
соответствующие бинарные RPM
на http://openvz.org/download/utils/.



Дальше Вы должны установить эти
утилиты, выполнив следующую команду:





Замечание: В течение
установки пакетов, Вы можете получить сообщение о том, что rpm
нашел нерешенные, сомнительные зависимости. В этом случае Вы должны
сначала решить эти зависимости, а затем повторить процесс
установки.________________________________________







Теперь Вы можете запустить Open
VZ. С этой целью, выполните следующую
команду:





Эта команда запускает все
необходимые модули ядра Open VZ.
В течение следующей перезагрузки, это будет происходить уже
автоматически.







Установка шаблонов ОС







Шаблон (или набор пакетов) –
это ряд файлов пакета, которые будут установлены на сервере VPS.
Шаблоны операционной системы используются, чтобы создать новые
серверы VPS с предварительно установленной
операционной системой. Поэтому, Вы обязаны загрузить, по крайней
мере, один шаблон ОС на http://openvz.org/download/template/ и
установить его.







Шаблон metadata
ОС содержит информацию, необходимую для создания тайника шаблона
(template cache).
Вы должны определить, уточнить шаблон ОС для создания сервера VPS
на создании VPS, таким образом, Вы должны
установить metadata, по крайней мере, для
одного



шаблона ОС и подготовить тайник
шаблона (template cache).



Вот так, например, будет
выглядеть подготовка шаблона для Fedora
Core 3
:









Первая команда устанавливает
шаблон metadata, в то время как вторая
создает тайник шаблона. Эта операция может занять десятки минут.



Для создания VPS
Вы также можете использовать один из уже заранее сохраненных
(pre-cached)
шаблонов ОС, доступных на http://openvz.org/download/template/cache/.
С этой целью, Вы должны



загрузить соответствующий шаблон
ОС и поместить его в директорию /vz/template/cache на Node.



































































Глава 4







Операции с
серверами VPS



Здесь описывается, как совершать
ежедневные операции с серверами VPS в
целом.



Замечание: Итак, Вы
успешно установили, сформировали и отрегулировали систему OpenVZ.
Если еще нет, обратитесь к 3 главе, в которой есть полная
информация по установке.____________







В этой главе:







  1. Создание и настройка
    нового сервера VPS



  2. Запуск, остановка,
    перезагрузка, статус запроса (Querying
    Status) сервера VPS



  3. Перечень серверов VPS



  4. Удаление серверов VPS



  5. Основные команды на
    серверах VPS




_____________________________________________________________________________________











  1. Создание и
    настройка нового сервера VPS








Этот раздел будет направлять Вас
в процессе создания сервера VPS.
Естественно Вы уже установили систему Open
VZ и хотя бы один шаблон ОС. Если у Вас
нет ни одного шаблона ОС, установленного на Hardware
Node, обратитесь к разделу Managing
Templates
в 1 главе.







Перед началом







Перед созданием сервера VPS
Вы должны:



  • проверить имеется / видим ли
    Hardware Node в
    Вашей сети. Вы должны иметь возможность соединяться от Hardware
    Node с другими хост-машинами и наоборот.
    Иначе, Ваши серверы VPS будут не доступны
    с других компьютеров.



  • проверить есть ли у Вас хотя бы
    по одному IP адресу на каждый сервер VPS,
    и есть ли адреса, принадлежащие той же сети, что и Hardware
    Node, или установлено ли направление к
    серверам VPS через Hardware
    Node.








Чтобы создать новый сервер VPS,
Вы должны:



  • выбрать новый идентификатор
    сервера VPS (ID
    VPS);



  • выбрать шаблон ОС, чтобы
    использовать сервер VPS;



  • создать непосредственно новый
    сервер VPS.








Выбор ID
нового сервера VPS







Каждый сервер имеет свой номерной
идентификатор, известный также как VPS ID,
который представляет этот сервер. ID
это 32-битовый целый номер, начинающийся с 0 и уникальный для всего
Hardware Node.
Выбирая ID для Вашего, учитывайте,
пожалуйста, следующие указания:



  • цифра 0 означает Hardware
    Node. Не стоит стараться создавать сервер
    с ID 0.



  • система Open
    VZ резервирует ID
    от 0 до 100. Хотя Open VZ
    использует только номер 0, различные версии могут использовать
    дополнительные ID для внутренних нужд.
    Чтобы установить апгрейд, не создавайте серверы VPS
    с ID меньше 101.








Единственным строгим требованием
для ID конкретного VPS
это то, чтобы этот ID был уникальным для
данного Hardware Node.
Однако если Вы собираетесь иметь несколько компьютеров, работающих с
системой Open VZ,
мы рекомендуем выбрать различные уровни для номеров ID
VPS. Например, на Hardware
Node 1 создавайте серверы с ID
уровня от 101 до 1000; Hardware Node
2 – 1001 – 2000 и так далее. Так проще запомнить на
каком Hardware Node
был создан сервер VPS и уменьшит
возможность конфликта между серверами, когда сервер мигрирует со
одного Node на другой.



Другой подход по присвоения ID
адресов серверам состоит в том, чтобы последовать схеме IP
адресов. То есть если у Вас есть подсеть с уровнем адресов 10.0.х.х.
можно серверу с IP адресом 10.0.15.17
назначить ID 17015, серверу с IP
10.0.39.108 – ID 39108 и так далее. С
этой системой легче управлять утилитами системы Open
VZ, уменьшается необходимость проверки IP
адресов разных серверов по их ID и др.
Можете сами придумать систему присвоения адресов в зависимости от
конфигурации Вашей сети и специфических потребностей.







Прежде, чем Вы выберете новый ID
для VPS, нужно удостовериться, что на
Hardware Node нет
ни одного VPS с таким ID.
Самый легкий способ сделать это выполнить следующую команду:





Вывод: VPS
с таким номером не найден, иначе его номер появился бы в командной
строке на экране.



Выбор шаблона ОС



Теперь, Вы должны выбрать, на
каком шаблоне ОС будет базироваться Ваш новый VPS.
На Hardware Node
может быть несколько установленных шаблонов; используйте команду
vzpkgls, чтобы узнать какие шаблоны
установлены на вашей системе:








Создание VPS



После того, как Вы выбрали ID
Вашего VPS и установленный шаблон ОС,
можете создать чатную область VPS с
помощью команды vzctl . Частная
область - это директория, содержащая частные файлы данного VPS.
Частная область установлена в директории /vz/root/vpsid/ на
Hardware Node и
обеспечивает пользователей VPS полным
деревом системных файлов Linux.







Для команды vzctl
требуются в качестве аргументов только ID
VPS и названия шаблона ОС; однако, чтобы
избежать установки всех контрольных параметров ресурса VPS
после создания частной области, Вы можете определить типовую
конфигурацию, которая будет использоваться для вашего нового VPS.
Типовые файлы конфигурации находятся в директории
/etc/sysconfig/vzscripts и носят
названия под маской: ve-config_name.conf-sample.
Наиболее частол используемыйшаблон – это файл
ve-vps .
basic. conf
-sample
; этот файл содержит
контрольные параметры ресурса, подходящие для большинства website
VPS.







Таким образом, Вы можете создать
новый VPS, напечатав следующую строку:





В этом случае, система Open
VZ создаст VPS с
ID 101. Частная область в этом случае
основана на шаблоне ОС fedora-core-4, а параметры конфигурации
взяты из файла образца конфигурации ve-vps
. basic. conf-sample
.







Если Вы сами не определите ни
шаблон ОС, ни типовую конфигурацию, команда vzctl
возьмет соответствующие данные (values) с
глобального файла конфигурации системы Open
VZ /etc/sysconfig/vz.
Так что, Вы можете установить данные умолчанию (default
values) в этом файле, используя, ваш
любимый текстовый редактор:





тем самым Вы уходите от
необходимости определения этих параметров, каждый раз создавая новый
VPS.



Наконец Вы можете создать VPS
с ID 101, выполнив следующую команду:













В принципе, на этой стадии Вы
уже можете запустить Ваш только что созданный VPS.
Однако,



перед первым запуском необходимо
установить его IP адрес в сети, host name,
адрес сервера DNS и корневой пароль. Чтобы
выполнить все эти операции обратитесь к следующей секции.







Настройка VPS



Она состоит из нескольких этапов:



  • регулировка параметров запуска
    VPS;



  • регулировка параметров VPS
    сети;



  • регулировка пользовательских
    паролей;



  • настройка параметров качества
    сервиса - Quality of
    Service (Service Level)
    .








Для того чтобы выполнить все эти
операции используется команда vzctl set.
О работе этой команды касательно первых 3 пунктов мы расскажем далее.
О проблемах управления Service Level
будет рассказано в главе Управление ресурсами (Менеджмент
ресурсов
).







Регулировка параметров запуска
VPS



Следующие варианты команды vzctl
set
определяют параметры запуска VPS:
onboot и capability
(возможности). Чтобы сервер VPS 101
запускался автоматически вместе с Hardware
Node, выполните следующую команду:





Регулировка параметров VPS
сети



Для того, чтобы сервер был
доступен из сети, у него должен быть правильный IP адрес и host
name; адреса сервера DNS
должны быть также сформированы. На рисунке ниже показано как
настраиваются параметры сети:






С помощью этой команды Вы
назначите VPS 101 IP адрес 10.0.186.1,
host имя test101.my.org, и
установите адрес сервера DNS -
192.168.1.165. Строка - - save
означает, что все параметры в файле конфигурации VPS.



Вы можете выполнить
вышеупомянутые команды, когда VPS уже
работает. В этом случае, если



Вы не хотите, чтобы данные
(applied values
сохранялись, достаточно просто пропустить строку - - save
и они будут действительны до прекращения работы VPS.



Чтобы проверить, работает ли SSH
на VPS, используйте команду vzctl
exec
, которая



позволяет выполнить любые команды
в сфере VPS:





Предполагается, что VPS
101 в данном случае создан на основе шаблона Fedora
Core. При использовании других шаблонов ОС
обратитесь к соответствующей документации.



Для получения дополнительной
информации о выполнении команд на VPS с
компьютера Hardware Node
обратитесь к соответствующей секции в разделе Выполнение команд на
VPS (Running
Commands in
Virtual Private
Server)
.







Установка корневого пароля
для VPS







По умолчанию, аккаунт корня
находится в только что созданном VPS, и Вы
не можете туда попасть. Чтобы это сделать, необходимо создать аккаунт
пользователя внутри VPS и установить для
него пароль или же открыть корневой аккаунт. Легче всего это сделать
с помощью команды:









В этом примере, мы тестируем
пароль корня для VPS 101. Вы можете
загрузиться к VPS через SSH
в качестве корня и управлять им таким же образом, как и отдельно
взятым компьютером Linux. То есть Вы
можете устанавливать дополнительное программное обеспечение,
добавлять пользователей, настраивать сервисы, и так далее.



Пароль будет установлен в VPS
в файле /etc/shadow в зашифрованной форме и не будет сохранен в
файле конфигурации VPS. Поэтому, если Вы
забудете пароль, Вы должны перезагрузить его.



Имеете в виду, что - -
userpasswd
- единственный разновидность
команды vzctl set,
которая не требует использовать - - save,
пароль так или иначе постоянно устанавливается для ждого конкретного
VPS.







В то время как Вы можете создать
пользователей и устанавливать пароли, используя при этом команды
vzctl exec
или vzctl set,
предполагается, что
Вы делегируете пользовательское
управление администратору VPS, сообщая
ей\ему о пароле корневого аккаунта VPS.







  1. Запуск,
    остановка, перезагрузка, статус запроса (Querying
    Status) сервера VPS








Когда VPS
уже создан, его может запускать и выключать, как это Вы делаете с
обычным компьютером. Чтобы VPS 101,
используйте следующую команду:









Чтобы проверять статус VPS,
используйте команду vzctl
status vpsid
:





С помощью этой команды Вы
узнаете:



  • Существует ли частная область
    VPS;



  • Установлена ли эта частная
    область;



  • Работает ли VPS.








В нашем случае, команда vzctl
сообщает, что VPS 101 существует, его
частная область установлена, и VPS
работает. Кроме того, Вы комагду vzlist:





Еще один способ проверить статус
VPS - проверка файла /proc/vz/veinfo.
В этом файле



отображаются списки всех VPS,
работающих в настоящее время Hardware Node.
Каждая строка соответствует серверу в формате
<VPS_ID>
<reserved> <number
of processes>
<IP address>
:





Этот рисунок показывает, что VPS
101 работает, идет 20 процессов на VPS, и
показывает его IP адрес - 192.168.1.1. Замечание: второе поле
зарезервировано; оно не имеет никакого особенного значения, но должно
всегда равняться нулю.



Последняя строка соответствует
VPS с ID 0 и
является Hardware Node.



Следующая наиболее
распространенная команда – остановка VPS:









Чтобы закрыть все скрипты VPS,
команде vzctl требуется 2 минуты.
Если VPS не закрывается и через две
минуты, система в любом случае закроет VPS,
даже если он серьезно поврежден. Если Вы знаете, что кто-то проник в
Ваш сервер и его нужно срочно закрыть, не дожидаясь 2 минут,
используйте команду быстрого выключения (--fast
switch):





Убедитесь, что Вы не используете
эту команду для выключения серверов, с которыми все в порядке.
Знайте, что намеренное быстрое отключение опасно для
работоспособности сервера.



Команды vzctl
start
и vzctl
stop
наоборот являются
командами нормального запуска и выключения Linux
OS
внутри VPS.
В случае дистрибуции как и Red
Hat
, скрипты инициализации Системы V
будут выполнены как и на обычном компьютере. Вы можете настроить
скрипты запуска внутри VPS как Вам
необходимо.



Чтобы перезапустить VPS,
Вы можете также использовать команду vzctl
restart
:









  1. Перечень
    серверов VPS








Иногда Вам необходимо получить
краткий обзор серверов VPS, существующих на
данном



Hardware
Node, получить о них дополнительную
информацию - их IP адреса, hostnames,



текущее потребление ресурса, и
т.д. В общем, Вы можете получить список всех VPS,



используя следующую команду:









Переключатель -a
заставляет утилиту vzlist управлять и
останавливать серверы VPS. По умолчанию,
показаны только работающие серверы VPS .
Колонки по умолчанию показывают ID серверов
VPS, число процессов внутри серверов VPS,
их статус, IP адреса, и hostnames. Этот
вывод может быть настроен как желательный, если Вы будете
использовать построчную команду vzlist .
Например:





Здесь показаны только работающие
серверы VPS + информация об их ID
и программных ограничениях лимитах на диске inodes
(см. главу Управление ресурсами \ Менеджмент) со списком,
отсортированным по этому ограничениям. Полный список построчных
команды включения\выключения (command
line switches
)
, а также список вариантов сортировки



Вы можете найти в подсекции
vzlist

главы Ссылки (Reference)
.







  1. Удаление
    серверов VPS








Вы можете удалить VPS,
если он больше не нужен, с помощью команды vzctl
destroy VPS_ID
.
Эта команда полностью удаляет частную область сервера VPS
, а также переименовывает файл конфигурации VPS
и скрипты действия, прибавляя к ним .destroyed.



Работающий сервер не может
быть уничтожен с помощью команды vzctl
destroy
. На примере мер ниже
показано уничтожение сервера VPS 101:









Если Вам не нужна резервная копия
файлов конфигурации VPS (с суффиксом
.destroyed) , Вы можете удалить их
вручную.







  1. Основные
    команды на серверах VPS




Обычно, администратор сервера VPS
загружается туда через сеть и выполняет на сервере различные также
как и на любом Linux box.
Однако, иногда необходимо выполнять команды внутри сервера VPS,
избегая обычного порядка регистрации. Это может случиться если:



    • у Вас нет информации о логине
      VPS, но должны выполнить некоторые
      диагностические команды, чтобы проверить эксплуатацию VPS.



    • отсутствует доступ сети для
      VPS. Например, если администратор VPS
      случайно применил неправильные правила firewalling
      или остановил SSH daemon.








В этом случае система Open
VZ позволяет выполнить следующие команды на
сервере. Чтобы управлять процессом внутри VPS
с данным ID используйте команду vzctl
exec VPS_ID.
На картинке ниже показана ситуация, когда SSH
daemon не запущен.









Теперь пользователи VPS
могут загрузиться к VPS через SSH.







Выполняя команды на VPS
от shell scripts,
используйте команду vzctl
exec2
. У нее тот же синтаксис,
что и у vzctl
exec
, но когда ее используют,
она возвращает коды выхода команды вместо кодов vzctl.
Вы можете проверить код выхода для того, чтобы узнать, завершилась ли
команда или нет.



Если Вы хотите выполнить команду
на всех работающих VPS, используйте
следующий скрипт:





В этом случае <command>
- это команда, которая должна быть выполнена на всех работающих VPS.
Например:
























































































Глава 5







Управление
Шаблонами







Шаблон – согласно
определению, это ряд пакетов от некоторого распределения Linux,
используемых для заселения VPS.



Шаблон ОС состоит из системных
программ, библиотек, и скриптов, необходимых, так же как основные
приложения и утилиты, для загрузки и функционирования системы (VPS).
Такие приложения как компилятор и сервер SQL
обычно не включаются в шаблон ОС.







В этой главе:







  1. Жизненный цикл шаблонов
    (Lifecycle)



  2. Внесение шаблонов в список



  3. Работа с VPS








____________________________________________________________________________________







  1. Жизненный цикл шаблонов
    (Lifecycle)








Template
cache - шаблон ОС, установленный в VPS
и затем упакованный в gzipped tar
архив. Это позволяет ускорить создание нового Сервера. Вместо
установки всех пакетов, включающих распределение Linux,
vzctl распаковывает только архив.







Template
metadata - ряд файлов, содержащих
информацию для восстановления template
cache. Он содержит следующую информацию:



  • Список пакетов, которые включает
    этот шаблон



  • Местоположения пакетов в сети



  • Скрипты, которые должны быть
    извлечены на разных стадиях установки шаблона



  • Общественный ключ (и) GPG,
    необходимые для проверки подписей пакетов



  • Дополнительные пакеты,
    специфичные для OpenVZ







Чтобы работать с шаблоном, Вы
должны сначала создать его metadata
(доступную на http://openvz.org/download/template/metadata/). Чтобы
создать template cache
нужно запустить vzpkgcache утилиту. Она
загружает из сети все пакеты для данного распределения, которые
включает этот шаблон и устанавливает эти пакеты во временный VPS,
который затем архивируется для дальнейшего использования при создании
нового VPS.







Так как этот процесс предполагает
загрузку большого количества файлов из интернета (для типичного
распределения приблизительно 400 файлов объемом до 200 МБ), он
(процесс) мог бы быть ускорен, используя снимки уже принесенных для
данного распределения сетевых репозитов. Такие снимки доступны на
http://openvz.org/download/template/repocache/. Они должны быть
распакованы в /vz/template директорию. Пожалуйста имейте в виду, что
этот шаг является дополнительным.







В случае, если template
cache (то есть tar
архив) уже существует, vzpkgcach попытается
включить его в данные, применяя последние обновления, доступные для
распределения. Так как в настоящее время распределения Linux
обновляются регулярно, разумно запускать эту утилиту хотя бы время от
времени, или по крайней мере перед созданием массовых VPS.







Если нет никакой потребности
обрабатывать все шаблоны, их названия могут быть определены после
vzpkgcache в командной строке. Например,
следующая команда создает или обновляет тайник только для шаблона
Fedora Core 4:













# vzpkgcache
fedora-core-4












Когда template
cache готов, он может быть установлен на
VPS или, другими словами, VPS
может



быть создан на основе шаблона.
Это выполняется с помощью команды vzctl
create--ostemplate
name, где name -
название шаблона (например fedora-core-4).






  1. Внесение
    шаблонов в список




vzpkgls
утилита позволяет Вам вносить в списки шаблоны, установленные на
hardware node.
Они могут быть уже использованы или не использованы определенными
VPS:













# vzpkgls


fedora-core-4


centos-4











Как Вы видите, fedora-core-4 и
centos 4 шаблоны доступны на hardware
node. Имейте в виду, что некоторые из них
могли и не быть сохранены, спрятаны (cached)
заранее. Чтобы увидеть только те шаблоны, которые были спрятаны (и
таким образом готовы для создания VPS),
используйте - cache флажок с vzpkgls:















#
vzpkgls –-cached


fedora-core-4












Данная схема означает, что
centos-4 шаблон только что установлен, но еще не скрыт.



При определении номера VPS
в качестве параметра, следующая команда печатает шаблон, используемый
определенным VPS:












# vzpkgls
101







fedora-core-4












  1. Работа с VPS




Если Вам нужно обновить уже
существующий VPS новыми пакетами,
доступными на репозиториях или установить те пакеты, которые не
является частью шаблона, используйте команду vzyum,
которая является простой yum оберткой.
Например, чтобы обновить VPS с
идентификационным номером 123 запустите:












# vzyum
123 update












Она найдет, загрузит, и
установит все доступные обновления.



Как вы могли заметить,
большинство приложений не установлено в шаблонах операционной
системы. Они должны быть установлены отдельно, используя vzyum
утилиту. Например, если вам нужен сервер MySQL
внутри VPS 123, используйте следующую
команду:














# vzyum
123 install mysql-server













vzyum
вызовет менеджера yum пакета и предоставит
ему все пути к репозиториям, подходящим для распределения,
установленного на данном VPS. Yum
вычислит зависимости, представит вам список пакетов для
установки/обновления/удаления, основанные на ваших запросах и, в
случае подтверждения, осуществит перенос, чтобы фактически выполнить
все необходимые операции. Для получения подробной информации
смотрите нужную страницу yum даннойброшуры
(man
8 yum
).



Если пакет, который вы хотите
установить, уже доступен на hardware node,
можно использовать



Vzrpm
утилиту, чтобы установить его ( её?) на VPS,
например:













# vzrpm
123-ihv mypackage-1.0-2.i386.rpm












Она установит mypackage
RPM на VPS 123.



Конечно, вы можете выполнять все
обычные операции прямо внутри любого VPS:
строить, устанавливать, модернизировать, и удалять программное
обеспечение.



























































































Глава 6







Управление
Ресурсами



Главная цель контроля ресурсов в
ОpenVZ состоит в том, чтобы обеспечить
уровень управления обслуживания или качество обслуживания (QoS)
для серверов. Правильные настройки контроля ресурсов предотвращают
серьезные последствия, появляющиеся вследствие чрезмерного
использования (случайного или умышленного) ресурсов любым частным
сервером на других серверах. Использование параметров управления
контроля ресурсов для качественного сервисного обслуживания также
позволяет добиться правильного использования ресурсов среди частных
серверов и лучшего качества обслуживания для конкретных VPS.







В этой главе:







  1. Каковы параметры контроля
    ресурсов



  2. Управление дисковыми
    квотами \ долями



  3. Управление CPU
    Share



  4. Управление системными
    параметрами



  5. Управление конфигурацией
    ресурсов VPS





_____________________________________________________________________________________







  1. Каковы
    параметры контроля ресурсов?








Системный оператор контролирует
доступные частному серверу ресурсы с помощью набора параметров
управления ресурсами. Все эти параметры определены либо в глобальном
файле конфигурации (/etc/sysconfig/vz) OpenVZ
, либо в соответствующих файлах конфигурации VPS
(/etc/sysconfig/vz-scripts/VPSID.conf), либо в обоих. Вы можете
установить их вручную, редактируя соответствующие файлы конфигурации
или используя утилиты командных линий OpenVZ.
Эти параметры могут разделяться на дисковые, сетевые, CPU
и системные категории.







Эти группы суммируются в
таблице:





































Группа








Описание








Названия параметра








Объясненено в








Диск




Эта группа параметров
определяет фрагментацию диска в OpenVZ.



Фрагментация диска в OpenVZ
реализуется на двух уровнях:



на VPS уровне и на уровне
пользователя/группы. Вы можете вкл\откл



дисковую фрагментацию/квоту на
любом уровне и установить ее настройки.




DISK_QUOTA, DISKSPACE,



DISKINODES, QUOTATIME,



QUOTAUGIDLIMIT








Управлении фрагментацией
диска








CPU












Эта группа параметров
определяет



время CPU,
которое гарантированно получают различные VPSs




VE0CPUUNITS, CPUUNITS












Управлении разделением CPU








Система








Эта группа параметров
определяет



аспекты использования
различными VPS



системной



памяти, гнезд TCP,
IP пакетов и других, подобных параметров.




avnumproc, numproc,



numtcpsock,



numothersock,



vmguarpages, kmemsize,



tcpsndbuf, tcprcvbuf,



othersockbuf,



dgramrcvbuf,



oomguarpages,



lockedpages,
shmpages,



privvmpages,



physpages, numfile,



numflock, numpty,



numsiginfo,



dcachesize, numiptent




Управлении системными
параметрами








  1. Управление
    дисковыми разделами / долями - квотами




Эта секция объясняет, что такое
дисковые доли, определяет параметры дисковых долей и описывает, как
выполнять всевозможные операции, связанные с дисковыми долями:







  • Включение и отключение дисковых
    долей (первого уровня) на VPS;



  • Настраивание дисковых параметров
    дисковой доли первого уровня на VPS;



  • Включение и отключение дисковых
    долей (второго уровня) пользователя/группы на VPS;



  • Настройка долей второго уровня
    для пользователя и/или для группы;



  • Проверка статистики дисковых
    долей;



  • Проверка состояния VPS в
    определенных случаях.








Что такое дисковая доля,
квота?







Дисковые доли позволяют системным
администраторам контролировать размер системных файлов Linux,
ограничивая количество дискового пространства и числа inodes,
которое может использовать сервер. Эти доли известны в OpenVZ
как per – VPS (на каждый сервер)
доли или доли первого уровня. Кроме того, OpenVZ
позволяет администратору сервера ограничить количество дискового
пространства и числа inodes, которые могут
использовать индивидуальные пользователи и группы VPS.
Эти доли называются долями пользователя или группы или долями второго
уровня.



По умолчанию, в OpenVZ
установлены доли первого уровня (который определен в основном в



файле конфигурации OpenVZ),
тогда как доли второго уровня должны быть включены для каждого
частного сервера отдельно (в соответствующих файлах конфигурации
VPS). Невозможно включить дисковые доли
второго уровня для частного сервера, если для него выключены дисковые
доли первого уровня.



Размер блока дисковой доли в
OpenVZ всегда 1024 байта. Он может
отличаться от размера блока



выделенного системного файла.



OpenVZ
содержит статистику использования доли, которая находится в
специальном файле доли /var/vzquota/quota.vpsid. Файл доли имеет
специальный флажок «dirty» -
загрязненный файл. Файл становится «грязным», когда его
содержание несовместимо с реальным использованием VPS.
Это означает что, когда дисковое пространство или использование
inodes меняется в процессе использования
VPS, эти статистические данные
автоматически не синхронизируются с файлом доли, и файл маркируется
как "грязный". Они синхронизируются только, когда VPS
остановлен или когда HN закрыт. После
синхронизации, флажок удаляется. Если Hardware
Node был неправильно закрыт (например,
скачок мощности), файл остается "грязным", и доля
переинициализируется при последующем запуске VPS.
Эта операция может заметно увеличить время запуска Node.
Таким образом, особенно рекомендуются закрывать Hardware
Node надлежащим образом.







Параметры дискового раздела.



Таблица ниже суммирует параметры
дисковых долей, которыми вы можете управлять. Колонка Файла
указывает, определен ли параметр в (G) - основном файле конфигурации
OpenVZ, или в (V) - файлах конфигурации
VPS, или же он определен в глобальном файле
конфигурации, но не поддерживаться в конкретном файле конфигурации
VPS (VG).






































Параметр




Описание








Файл








disk_quota








Указывает, включены или
отключены ли доли первого уровня для всех VPS
или для какого-то отдельно-взятого VPS.




VG








diskspace








Полный размер дискового
пространства, которое может потреблять VPS,
в блоках на 1 КБ.




V




diskinodes








Общее количество дисковых
inodes (файлы, справочники, и символьные
связи), которые может ассигновать VPS.








V








quotatime








Период grace
для сверхиспользования доли диска, измеряемого в секундах.



VPS разрешается на некоторое
время превышать его пределы долю software,
но лишь на период не дольше ограниченного в QUOTATIME.








V








quotaugidlimit








Число ID
пользователя/группы, разрешенных для внутреннего использования
дисковых долей на VPS. Если эта величина
равна 0, доля UID/GID
не будет запускаться.




V












Включение и отключение на VPS
дисковые доли первого уровня.



Параметр, который определяет,
использовать ли дисковые доли первого уровня, - DISK_QUOTA



находится в основном файле
конфигурации OpenVZ (/etc/sysconfig/vz).
Установив его в позиции «нет», вы сделаете доли OpenVZ
не действительными.



Этот параметр может быть также
определен в файле конфигурации VPS -
(/etc/sysconfig/vz-scripts/vpsid.conf).
В этом случае его величина будет восходить к той, что была определена
в основном файле конфигурации. Если Вы намереваетесь поддерживать
работу нескольких VPS с включенными или
выключенными долями, рекомендуется установить значение DISK_QUOTA в
позицию "да" в основном файле конфигурации и в позицию
"Нет" в файле конфигурации того VPS,
который не нуждается в данной доле.



Схема иллюстрирует сценарий,
когда доли первого уровня включены по умолчанию и отключены на
конкретном VPS 101:









[checking that quota is on]



# grep DISK_QUOTA
/etc/sysconfig/vz



DISK_QUOTA=yes


[checking
available space on /vz partition]



# df /vz



Filesystem 1k-blocks Used
Available Use% Mounted on



/dev/sda2 8957295 1421982
7023242 17% /vz



[editing VPS configuration
file to add DISK_QUOTA=no]



# vi
/etc/sysconfig/vz-scripts/101.conf



[checking that quota is off
for VPS 101]



# grep DISK_QUOTA
/etc/sysconfig/vz-scripts/101.conf



DISK_QUOTA=no



# vzctl start 101



Starting VPS ...



VPS is mounted



Adding IP address(es):
192.168.1.101



Hostname for VPS set:
vps101.my.org



VPS start in progress...



# vzctl exec 101 df


Filesystem
1k-blocks Used Available Use% Mounted on


simfs
8282373 747060 7023242 10% /












Как показывает пример выше,
единственное ограничение дискового пространства, которое имеет VPS с
отключенной функцией дисковой доли, - это доступное место и inodes
на том разделении VPS, где локализуется его
частная область.






Замечание: Вы должны
менять параметр DISK_QUOTA в основном файле конфигурации OpenVZ
только, когда все VPS остановлены, и в файле конфигурации VPS
– только тогда, когда соответствующий VPS
остановлен. Иначе, конфигурация может конфликтовать с величиной
реального использования доли, что в свою очередь, будет мешать
нормальному функционированию hardware
node.







Настройка параметров дисковой
доли VPS первого уровня
.



Существует три параметра,
которые определяют, сколько дискового пространства и inodes
может использовать VPS.



Эти параметры определены в файле
конфигурации VPS:







DISKSPACE



Общий размер дискового
пространства, которое может потребляться VPS, измеряемый в 1- КБ
блоках. Когда место, используемое VPS превышает предел,
установленный на software,



VPS
может ассигновать дополнительное дисковое пространство до предела,
установленного на hardware в течение всего
периода grace, определенного параметром
QUOTATIME.







DISKINODES



Общее количество дисковых inodes
(файлы, справочники, и символьные связи), которые может ассигновать
VPS . Когда число inodes, используемых VPS
превышает предел, установленный на software,
VPS может создать дополнительные записи
файла до предела, установленного на hardware
в течение всего периода grace,
определенного параметром QUOTATIME .







QUOTATIME







Период grace
дисковой доли, измеряемый в секундах. VPS может на какое-то время
превысить величину предела и дисковых inodes
квот, установленных на software, но не
дольше, чем тот период, который определен этим же параметром.







Первые два параметра имеют как
hard так и soft
пределы (или, просто, пределы и барьеры /limits
and barriers ).



Hard
предел - предел, который не может быть превышен ни при каких
обстоятельствах. Soft предел может быть
превышен до hard предела, но по истечению
периода grace, дополнительное дисковое
пространство или распределения inodes
прекратят свое существование. Барьеры и пределы отделены двоеточиями
(«:») в файлах конфигурации сервера и в командных
строках.







Следующая схема определяет
дисковое пространство, доступное для VPS 101, равное приблизительно
1Gb, и позволяет VPS ассигновать до 90 000
inodes. Период grace
для



доли равен десяти минутам:









# vzctl set 101 --diskspace
1000000:1100000 --save


Saved
parameters for VPS 101



# vzctl set 101
--diskinodes 90000:91000 --save



Saved parameters for VPS 101



# vzctl set 101 --quotatime
600 --save



VPS 101


Saved
parameters for # vzctl exec 101 df



Filesystem 1k-blocks Used
Available Use% Mounted on



000 747066 252934 75% /


simfs
1000# vzctl exec 101 stat -f /



File: "/"



ID: 0 Namelen: 255 Type:
ext2/ext3



Blocks: Total: 1000000 Free:
252934 Available: 252934 Size: 1024


Inodes:
Total: 90000 Free: 9594












Для работающего VPS
возможно изменять дисковые параметры долей первого уровня. Изменения
вступят в силу немедленно. Если Вы не хотите, чтобы ваши изменения
сохранились при следующем запуске VPS
не используйте переключатель - switch







Включение и отключение долей
VPS второго уровня.







Параметр, который управляет
дисковыми долями второго уровня, - QUOTAUGIDLIMIT,
находящийся в файле конфигурации VPS. По
умолчанию, величина этого параметра - ноль, что соответствует
отключенной (disabled) per-user/group
квоте.







Если Вы приписываете этому
параметру QUOTAUGIDLIMIT величину, отличную
от нулевой, это может привести к двум следующим результатам:



  1. Дисковые доли второго уровня
    (per-user/group
    ) валидны для данного сервера



  2. Величина, которую вы
    приписываете этому параметру, будет ограничивать число групп и




владельцев этого файла на данном
VPS, включая пользователей системы Linux.
Имейте в виду, что теоретически Вы будете способны создавать
дополнительных пользователей этого VPS, но
если число владельцев файла в VPS уже
достигло своего предела, эти пользователи просто будут не в
состоянии использовать данные файлы.







Предоставление возможности
существования per-user/group
квот на VPS требует перезагрузки VPS. Для
этого должна быть тщательно выбрана величина; чем большую величину Вы
устанавливаете, тем большую ядерная память создает этот VPS. Эта
ценность должна быть больше или равна числу записей в VPS
файлах /etc/passwd и/etc/group. Принимая во внимание, что



недавно созданный на основе Linux
VPS Red Hat
имеет приблизительно всего 80 записей , типичная величина дольна
равняться приблизительно 100. Тем не менее, для серверов с большим
количеством пользователей эта величина должна быть значительно
увеличена.



Сессия ниже позволяет осуществить
включение долей второго уровня для VPS 101:












# vzctl set 101
--quotaugidlimit 100 --save



Unable to apply new quota
values: ugid quota not initialized



Saved parameters for VPS 101



# vzctl stop 101; vzctl
start 101



Stopping VPS ...



VPS was stopped



VPS is unmounted


Starting
VPS ...



VPS is mounted



Adding IP address(es):
192.168.1.101



Hostname for VPS set:
vps101.my.org


VPS
start in progress...
















Настройка параметров для
дискового раздела второго уровня







Для того чтобы работать с
дисковыми долями на самом VPS, Вы должны
установить стандартный набор инструментов









# vzctl exec 101 rpm -q
quota



quota-3.12-5








Эта команда показывает, что пакет
quota установлен на вашем VPS.
Используйте утилиты из этого пакета (как указано в вашем руководстве
Linux), для того, чтобы установить доли
второго уровня для данного VPS OpenVZ.
Например:









# ssh ve101



root@ve101's password:



Last login: Sat Jul 5 00:37:07
2003 from 10.100.40.18



[root@ve101 root]# edquota
root



Disk quotas for user root (uid
0):


Filesystem
blocks soft hard inodes soft hard



/dev/simfs 38216 50000 60000
45454 70000 70000



[root@ve101 root]# repquota
-a



*** Report for user quotas on
device /dev/simfs



Block grace time: 00:00; Inode
grace time: 00:00



Block limits File limits



User used soft hard grace used
soft hard grace



----------------------------------------------------------------------



root -- 38218 50000 60000
45453 70000 70000



[the rest of repquota
output is skipped]



[root@ve101 root]# dd
if=/dev/zero of=test



dd: writing to `test': Disk
quota exceeded



23473+0 records in


23472+0
records out [root@ve101 root]# repquota -a



*** Report for user quotas on
device /dev/simfs



Block grace time: 00:00; Inode
grace time: 00:00



Block limits File limits



User used soft hard grace used
soft hard grace



----------------------------------------------------------------------



root +- 50001 50000 60000 none
45454 70000 70000



[the rest of repquota
output is skipped]












Этот пример отображает сессию
команд, в случае, когда root пользователь
устанавливает долю дискового пространства на hard
предел 60 000 1 КБ блоков и на soft предел
50 000 1 КБt блоков; Необходимо отметить,
что как hard так и soft
ограничивают число установленных inodes
до 70 000.



Также возможно установить grace
период отдельно для блоковых ограничений и ограничений inodes
с помощь команды /usr/sbin/setquota. Для получения дополнительной
информации об использовании утилит пакета quota
, обращайтесь к гиду управления системой прилагаемой к распределению
Linux или страницам ручной настройки,
включенным в пакет.







Проверка статуса дисковой доли


Как
и системный администратор hardware node, Вы можете проверить статус
доли для любого VPS при помощи команд
vzquota
stat
and
vzquota
show
.
Первая команда информирует вас о статусе ядра и используется для
работающего VPS; вторая команда сообщает о
статусе, используя при этом файл доли (расположенный в
/var/vzquota/quota.vpsid) и будет использоваться для остановленных
VPS . Обе команды имеют один и тот же
формат.



Сессия ниже показывает типичный
вид статистических данных для доли VPS 101








#
vzquota stat 101 –t



resource usage softlimit
hardlimit grace



1k-blocks 38281 1000000
1100000


inodes
45703 90000 91000



User/group quota: on,active



Ugids: loaded 34, total 34,
limit 100



Ugid limit was exceeded: no



User/group grace times and
quotafile flags:



type block_exp_time
inode_exp_time dqi_flags



user 0h



group 0h



User/group objects:



ID type resource usage
softlimit hardlimit grace status



0 user 1k-blocks 38220 50000
60000 loaded



0 user inodes 45453 70000
70000 loaded



[the rest is skipped]








Первые три линии этой сессии
команд показывают статус дисковых долей первого уровня для VPS.
Остальная часть отображает статистику для долей пользователя/группы
и имеет отдельные строки для каждого пользователя и группы ID
, существующих в системе.



Если Вы не нуждаетесь в
статистике доли второго уровня, Вы можете убрать выключатель -t
в командной строке vzquota .










  1. Управление
    разделом (долей, квотой) CPU








В этой секции дается информация
относительно параметров ресурсов центрального процессора (CPU)
(раздел CPU), для того, чтобы Вы могли
осуществлять формирование и контроль вашего сервера.



Таблица ниже снабдит Вас
названиями и описаниями параметров центрального процессора. Колонка
FILE указывает, значится ли параметр в (G)
- основном файле конфигурации OpenVZ или в
(V) - файлах конфигурации VPS.




























Parameter
-параметр




Description
- описание




File-файл




ve0cpuunits








Это - положительное целое
число, определяющее гарантируемое минимальное количество времени,
которое получит центральный процессор VPS 0 (непосредственно
hardware node).
Рекомендуют установить величину этого параметра не более 5-10 % от
мощности hardware node.




G




cpuunits








Это - положительное целое
число, определяющее гарантируемое минимальное количество времени
CPU, которое получит соответствующий
VPS




V




cpulimit








Это - положительное число, в
процентах указывающее время центрального процессора, которое не
позволено превышать VPS




V








Утилиты контроля ресурсов
центрального процессора CPU OpenVZ
гарантируют любому VPS



количество времени центрального
процессора, которое собственно и получает этот VPS. При этом VPS
может потреблять больше времени, чем определено этой величиной, если
нет другого конкурирующего с ним за время CPU
сервера или, в случае, когда не задан cpulimit
параметр.







Чтобы составить представление об
оптимальной величине доли, которая должна быть назначена тому или
иному VPS, проверьте текущее использование CPU
на fhardware node:









# vzcpucheck



Current CPU utilization: 5166



Power of the node: 73072.5












Выполнение этой команды
показывает общее количество так называемых единиц CPU,
потребляемых всеми работающими в данный момент серверами, а также
процессами, запущенными на hardware node. Это число вычисляется в
OpenVZ с помощью специального алгоритма. Вышеупомянутый пример
иллюстрирует ситуацию, в которой Hardware
Node недогружен. Другими словами, все
запущенные серверы получают больше времени центрального процессора,
чем гарантировалось им раннее.







В следующем примере, VPS 102, по
заданной схеме, получит приблизительно 2 % от времени CPU,
даже если hardware node полностью используется, или другими словами,
если использование центрального процессора в текущий момент равняется
мощности hardware node. Кроме того, даже если центральный процессор
полностью не загружен, VPS 102 не будет
получать больше чем 4 % от времени CPU.












# vzctl set 102 --cpuunits
1500 --cpulimit 4 --save



Saved parameters for VPS 102



# vzctl start 102



Starting VPS ...



VPS is mounted



Adding IP address(es):
192.168.1.102



progress...



VPS
start in # vzcpucheck



Current CPU utilization: 6667



Power of the node: 73072.5








VPS
102 получит от 2 до 4 % времени CPU, если
hardware node не перегружен. (Например, если работающим серверам
обещалось больше единиц CPU, чем может
позволить мощность самого hardware node.) В этом случае VPS
может получить меньше чем 2 процента гарантируемого времени.






  1. Управление
    системными параметрами








Ресурсы, которые VPS может
выделить, определены в параметрах управления системными ресурсами.
Эти параметры можно разделить на следующие категории: первичные,
вторичные, и вспомогательные параметры.



Первичные параметры
отправной пункт для того, чтобы создать конфигурацию VPS на пустом
месте.



Вторичные параметры
зависят от первичных и вычисляются на их основе с рядом ограничений.
Вспомогательные параметры помогают улучшить изоляцию ошибок
среди приложений на одном и том же VPS, а также усовершенствовать
способ, которым приложения сервера обращаются с ошибками и потребляют
ресурсы сервера. Они также помогают администратору реализовать
управление сервером таким образом, чтобы ограничить ресурсы,
запрашиваемые приложениями и не дать приложению запуститься на VPS



Все параметры управления
системными ресурсами перечислены ниже. Параметры, начинающиеся с "num
" измеряются в целых числах. Параметры, заканчивающиеся на "buf"
или "size" измеряются в байтах.



Параметры, содержащие в своих
названиях "page", измеряются в
4096-байтовых страницах (IA32 архитектура).



Колонка «Файл»
указывает, что все параметры системы определены в (V) -
соответствующих файлах конфигурации VPS.







Первичные параметры






































Параметр








Описание








Файл








avnumproc








Среднее число процессов и
нитей.




V








numproc








Максимальное число процессов и
нитей, которые VPS может создать.




V








numtcpsock








Число гнезд TCP
(PF_INET
семьи, SOCK_STREAM
типы). Этот параметр ограничивает число связей TCP
и, таким образом, число клиентов, с которым данное приложение
может обращаться в одно и то же время.




V








numothersock








Число гнезд, отличных TCP.
Местные гнезда (UNIX domain)
используются для коммуникаций в системе. Гнезда UDP
используются, например, для вопросов Обслуживания Названия Области
(DNS). UDP и
другие гнезда могут также использоваться в некоторых очень
специализированных



приложениях (SNMP
agents и другие).








V








vmguarpages








Гарантия распределения памяти,
в страницах (одна страница - 4 КБ). VPS
приложения гарантировано в состоянии ассигновать дополнительную
память столь долго, столько потребуется, чтобы количество памяти,
подсчитанной в privvmpages
(см.вспомогательные (auxiliary)
параметры), не превышало формируемый барьер параметров
vmguarpages. Если этот барьер
превзойден, распределение дополнительной памяти не гарантируется и
может привести к неудаче в случае полной нехватки памяти.




V












Вторичные параметры















































Параметр




Описание








Файл




kmemsize








Размер unswappable
ядерной памяти, ассигнованной для внутренних ядерных структур для
процессов на отдельно взятом VPS.




V








tcpsndbuf












Полный размер send
буферов для гнезд TCP, то есть
количество ядерной памяти, ассигнованной для данных, посланных
приложениями на гнезда TCP, но все еще
не признанных удаленной стороной.




V








tcprcvbuf




Полный размер receive
буферов для гнезд TCP, то есть
количество ядерной памяти, ассигнованной для данных, полученных
удаленной стороной, но не прочитанных местными приложениями.




V








othersockbuf








Полный размер буферов гнезд
UNIX domain, UDP,
и других



datagram
протоколов send буфера .




V








dgramrcvbuf








Полный размер receive
буферов UDP и других datagram
протоколов




V








oomguarpages








Гарантия, не включенная в
память, в страницах (одна страница - 4 КБ). Любой VPS
процесс не будет остановлен даже в случае сильной нехватки памяти,
даже если текущее потребление памяти (включая физическую память и
swap), не достигает барьера
oomguarpages.








V












Вспомогательные параметры



































































Параметр








Описание








Файл








lockedpages








Память, которую нельзя
поменять (заперта в mlock () запросах
системы), в страницах.




V








shmpages








Полный размер совместно
используемой памяти (включая IPC, общие
анонимные картографии и объекты tmpfs)
ассигнованной процессами конкретного VPS,
в страницах.




V








privvmpages








Размер частной (или
потенциально частной) памяти, ассигнованной приложениями. Память,
которая обычно разделяется среди различных приложений, в этот
параметр ресурса не включается.




V








numfile








Число файлов, открываемых
всеми процессами VPS.




V








numflock








Число файловых замков,
созданных всеми процессами VPS.




V








numpty








Число псевдотерминалов, типа
ssh сессий, screen
или xterm приложений и т.д.








V




numsiginfo








Число siginfo
структур (по существу, ограничение размера параметров по очереди
поставки сигнала).




V








dcachesize




Полный размер структур dentry
и inode, которые ограничены памятью.




V




physpages




Полный размер RAM,
используемой процессами VPS.В настоящее
время. Этот параметр используется только для подсчета учета. Он
показывает, как VPS использует RAM. Для
страниц памяти, используемых несколькими VPS
(например, картографии общих библиотек) изменяется только
соответствующая фракция страницы каждого VPS.
Сумма использования physpages для всех
VPS соответствует общему количеству
страниц, используемых в системе всеми подсчитанными
пользователями.




V








numiptent












Число пакетов IP, фильтрующих
записи.




V












Вы можете редактировать любой из
этих параметров в файле /etc/sysconfig/vz-scripts/vpsid.conf
соответствующего VPS с помощью вашего
любимого редактора текста (например, vi или
emacs), или управляя командой набора vzctl.
Например:












# vzctl set 101 --kmemsize
2211840:2359296 --save



Saved
parameters for VPS 101












Контроль потребления
системных ресурсов







Внутри VPS
можно проверять статистику параметров контроля системных ресурсов.
Основное использование этих статистических данных служит для того,
чтобы понять то, какой именно из этих ресурсов имеет ограничения,
препятствующие запуску приложений сервера. Кроме того, эти
статистические данные сообщают о текущем и максимальном потреблении
ресурсов для функционирующего VPS. Эта
информация может быть получена из файла /proc/user_beancounters.



Ниже мы можем видеть типичный вид
такой сессии:









# vzctl exec 101 cat
/proc/user_beancounters



Version: 2.5



uid resource held maxheld
barrier limit failcnt



101: kmemsize 803866 1246758
2457600 2621440 0



lockedpages 0 0 32 32 0



privvmpages 5611 7709 22528
24576 0



shmpages 39 695 8192 8192 0



dummy 0 0 0 0 0



numproc 16 27 65 65 0



physpages 1011 3113 0
2147483647 0



vmguarpages 0 0 6144
2147483647 0



oomguarpages 2025 3113 6144
2147483647 0



numtcpsock 3 4 80 80 0



numflock 2 4 100 110 0



numpty 0 1 16 16 0



numsiginfo 0 2 256 256 0



tcpsndbuf 0 6684 319488 524288
0



tcprcvbuf 0 4456 319488 524288
0



othersockbuf 2228 9688 132096
336896 0



dgramrcvbuf 0 4276 132096
132096 0



numothersock 4 17 80 80 0



dcachesize 78952 108488 524288
548864 0


numfile
194 306 1280 1280 0



dummy 0 0 0 0 0



dummy 0 0 0 0 0


dummy
0 0 0 0 0


numiptent
0 0 128 128 0












failcnt
колонка указывает число неудачных попыток ассигновать какой-то
ресурс. Если эти числовые данные увеличиваются после запуска
приложений, тогда соответствующий предел ресурса имеет меньший
эффект, чем тот, который необходим приложению.



held
колонка показывает текущее использование ресурсов, а maxheld
колонка – максимальную величину потребления ресурса для
последнего периода, в который проводился подсчет. Значение колонок
barrier и limits
зависят от параметров и объяснено в гиде
OpenVZ
Management of System Resources
.



Внутри VPS
файл /proc/user_beancounters отображает информацию относительно
только данного VPS, тогда как на hardware
node этот файл показывает информацию
относительно всех VPS.



Чтобы проверять использование UBC
для HN (резюме для всех работающих VPS),
Вы можете использовать следующий скрипт:



(для любого ресурса,
подсчитанного на страницах)








#
for res in lockedpages totvmpages ipcshmpages anonshpages
rsspages;\



do echo;echo "$res
usage for all VEs, in MB:";cat \



/proc/user_beancounters
|grep $res|awk 'BEGIN{ cur=max=lim=0; } \



{ cur+=$2; max+=$3;lim+=$5
} END {print "held:",cur*4/1024, "max:", \



max*4/1024, "limit:",
lim*4/1024}'; done








(поскольку kmemsize
и другие ресурсы считали в байтах),









# for res in tcpsendbuf
tcprcvbuf unixsockbuf sockrcvbuf kmemsize; \



do echo;echo "$res
usage for all VEs, in MB:";cat \



/proc/user_beancounters
|grep $res|sed "s/[[:digit:]]\+://g" \


|awk
'BEGIN{ cur=max=lim=0; } { cur+=$2; max+=$3;lim+=$5 } \



END {print
"held:",cur/1024/1024, "max:", max/1024/1024,
\



"limit:",
lim/1024/1024}'; done








Контроль потребления ресурсов
памяти







Вы можете контролировать
множество параметров памяти как для целого hardware
node так и для отдельно взятого VPS с
помощью утилиты vzmemcheck . Например:









# vzmemcheck -v



Output values in %



veid LowMem LowMem RAM MemSwap
MemSwap Alloc Alloc Alloc



util commit util util commit
util commit limit


101
0.19 1.93 1.23 0.34 1.38 0.42 1.38 4.94


1
0.27 8.69 1.94 0.49 7.19 1.59 2.05 56.54


----------------------------------------------------------------------


Summary:
0.46 10.62 3.17 0.83 8.57 2.02 3.43 61.48












-v опция используется,
чтобы показать информацию о состоянии памяти для каждого VPS, но не
для hardware node в целом. Также при использовании переключателя -A
возможно отобразить абсолютные величины в мегабайтах. Проверяемые
параметры - (слева направо в вышеуказанном примере) низкое
использование памяти, низкое обязательство памяти, использование RAM,
использование memory+swap, memory+swap обязательства, использование
ассигнованной памяти, ассигнованных обязательств памяти,
ассигнованный предел памяти.



Чтобы разобраться с этими
параметрами, позвольте нам сначала привести различие между уровнями
использования и обязательств.



Уровень использования
(utilization) - количество ресурсов,
потребляемых VPSs в данное время. В целом,
низкие показатели этой величины указывает на то, что систему
используют недостаточно. Часто, это означает то, что система способна
поддерживать большее количество серверов при таком же использовании
ресурсов памяти уже существующими. Большие величины использования
(в общих показателях, превышающие 1, или 100 %), означают, что
система перегружена и уровень обслуживания VPS ухудшен.



Уровень обязательств
(commitment) показывает, сколько ресурсов
"обещано" существующему VPS .
Низкий уровень обязательств означает, что система способна
поддерживать большее количество серверов. Уровень обязательства
больший 1 подразумевает, что



серверам обещано больше
ресурсов, чем имеется в системе, и система, как говорят, переполнена.
Если система управляет большим количеством VPS
, некоторая перегрузка допустима, потому что маловероятно, что все
VPS будут запрашивать ресурсы одновременно. Однако, завышенный
уровень обязательств приведет к фактической неудаче ассигновать и
использовать ресурсы, обещанные им. Такая ситуация может повредить
стабильность системы.



Далее следует краткий обзор, всех
ресурсов, проверяемых утилитой vzmemcheck.
Их полное описание дается в гиде OpenVZ
Management of
System Resources
Управление системными ресурсами OpenVZ.
Низкая/малая память - самая важная область RAM, представляющая часть
памяти, находящейся в низко располагающихся адресах и доступная
непосредственно от самого ядром. В OpenVZ
размер области "низкой" памяти ограничен 832 MB в
(uniprocessor) и версией ядра SMP,
и 3.6 ГИГАБИТами в версии ядра Enterprise
. Если полный размер компьютерной RAM - меньше этого предела (832 MB
или 3.6 ГИГАБИТА, соответственно), то фактическая величина области
"низкой" памяти равна полному размеру памяти.



Объединение RAM и swap
пространства
- главный компьютерный ресурс, определяющий
количество память,доступной приложениям. Если полный размер памяти,
используемой приложениями превышает размер RAM, ядро Linux
перемещает некоторые данные на swap, и
загружает их заново в том случае, если они необходимы приложениям. Те
данные, которые используются чаще, имеют тенденцию оставаться в RAM,
менее часто используемые данные требуею больше времени для замены.
Действия по включению и выключению функции swap
в некоторой степени уменьшает производительность системы. Однако,
если эта деятельность не чрезмерна, уменьшение работы не очень
примечательно. С другой стороны, преимущества использования
пространства swap также велики, поскольку
позволяют увеличивать число VPS



до двух раз. Пространство swap
играет существенную роль при работе с системой загрузки. Система с
достаточным местом обмена только замедляется при высоких показателях
загрузки (load bursts)
, тогда как система без пространства swap
реагирует на высокие показатели загрузки отказом распределения памяти
(приложения отказываются узнавать клиентов или заканчивать свою
работу) или просто разрушением каких-то приложений.



К тому же, присутствие
пространства swap помогает системе лучше
балансировать память и осуществлять перемещение данных между низкой
областью памяти и остальной частью RAM.



Allocated
(выделенная, ассигнованная)
память - "более виртуальный"
ресурс системы чем RAM или RAM и swap
пространство вместе взятые.



Приложения могут ассигновать
память, но начинают пользоваться этим лишь по истечению некоторого
времени, и только в этом случае количество фактически свободной
памяти действительно уменьшится. Сумма размеров памяти, ассигнованной
всем серверам – всего лишь показатель того, сколько
физической памяти потребуется, если все приложения ее потребуют.



Память, доступная для
распределения может быть не только использована (Alloc
util колонка) или обещана (the
Alloc
commit
колонка), но также и
ограничена



(приложения не в состоянии
ассигновать больше ресурсов чем, обозначено в колонке Alloc
limit
).







  1. Управление
    конфигурацией ресурсов VPS








Любой VPS
конфигурируется посредством собственного файла конфигурации. Вы
можете осуществлять управление конфигурацией ресурсов VPS
разными способами.



  1. используя образцы файлов
    конфигурации, прилагаемые к OpenVZ. Эти
    файлы




используются при создании нового
VPS (за деталями см.раздел СОЗДАНИЕ И
КОНФИГУРАЦИЯ НОВЫХ VPS) они хранятся в той
же директории, что и файлы конфигурации VPS
(/etc/sysconfig/vz-scripts/)
и имеют имя ve-name.conf-sample.
Oбычно, прилагаемые файлы образцы могут
быть двух видов



- light
используемые для создания “light
VPS с ограничениями верхнего предела
качества сервисных параметров



- vps.basic
используемые на обычных VPS



Замечание: что файлы
образцы не могут содержать пробелов в своих названиях.



Любой образец файлов
конфигурации, может прилагаться к VPS после
его создания. Вы можете воспользоваться этим в том случае например,
если вы хотите увеличить или снизить величину ресурсов используемых
конкретным сервером.








#
vzctl set 101 --applyconfig light --save











Эта команда переносит все
параметры из файла
ve-light.conf-sample
на
VPS. Исключение составляют
OSTEMPLATE,
VE_ROOT,
and
VE_PRIVATE

параметры, они должны уже существовать в файле-образце








  1. используя специальные утилиты
    OpenVZ для подготовки файлов конфигурации
    к выполнению. Задания, которые выполняют эти утилиты, описаны в
    следующих разделах этой главы.



  2. прямо создавая и редактируя
    соответствующий файл конфигурации
    (/etc/sysconfig/vz-scripts/VPS_ID.conf).
    это можно выполнить с помощью любого текстового редактора.
    Соответствующие инструкции даются в четырех предыдущих разделах. В
    этом случае, вам придется редактировать все параметры конфигурации
    отдельно, один за другим.




  1. Разделение hardware
    node на равные части




Можно создать конфигурацию
сервера, в общих чертах представляющую фракцию hardware
node. Если вы хотите создать такой файл
конфигурации, который позволял бы одновременную работу до 20 серверов
от одного узла, Вы можете сделать это при помощи следующей командной
сессии.









# cd
/etc/sysconfig/vz-scripts/



# vzsplit -n 20 -f vps.mytest



Config
/etc/sysconfig/vz-scripts/ve-vps.mytest.conf-sample was created



# vzcfgvalidate
ve-vps.mytest.conf-sample



Recommendation:
kmemsize.lim-kmemsize.bar should be > 253952 \



(currently, 126391)


  1. Recommendation:
    dgramrcvbuf.bar should be > 132096 (currently, 93622)




Обратите
внимание, что производимая конфигурация зависит от ресурсов
hardware
node. Однако, важно утвердить полученный
файл конфигурации до его запуска. Это можно сделать, используя
утилиту
vzcfgvalidate.



Число
одновременно функционирующих на
hardware
node серверов
значительно выше того, что указано в командной строке, потому что в
нормальном состоянии серверы не потребляют того количества ресурсов,
которые им приписываются. Для того чтобы проиллюстрировать данную
идею давайте поподробнее рассмотрим следующую секцию:









# vzctl create 101
--ostemplate fedora-core-4 --config vps.mytest



Creating VPS private area:
/vz/private/101



VPS private area was created



# vzctl set 101 --ipadd
192.168.1.101 --save



or VPS 101



Saved
parameters f# vzctl start 101



Starting VPS ...



VPS is mounted



Adding IP address(es):
192.168.1.101



VPS start in progress...



# vzcalc 101



Resource Current(%)
Promised(%) Max(%)


Memory
0.53 1.90 6.44




Как следует
из этих таблиц, если VPS использует все
гарантируемые ему ресурсы, тогда одновременно могут работать около 20
серверов. Однако, принимая во внимание колонку Promised,
достаточно безопасна и одновременная работа 40-50 серверов.








Утверждение конфигурации VPS



Параметры контроля системных
ресурсов имеют сложные взаимозависимости. Нарушение этих
взаимозависимостей может быть катастрофическим для VPS.
Чтобы гарантировать, что конкретный VPS не
нарушает их, важно утвердить файл конфигурации VPS
еще до создания VPS на основе этого
файла.







Типичный сценарий утверждения
показан ниже:









# vzcfgvalidate
/etc/sysconfig/vz-scripts/101.conf



Error: kmemsize.bar should be
> 1835008 (currently, 25000)


Recommendation:
dgramrcvbuf.bar should be > 132096 (currently, 65536)



Recommendation:
othersockbuf.bar should be > 132096 (currently,


122880)
# vzctl set 101 --kmemsize 2211840:2359296 --save


Saved
parameters for VPS 101 # vzcfgvalidate
/etc/sysconfig/vz-scripts/101.conf



Recommendation:
kmemsize.lim-kmemsize.bar should be > 163840 (currently,
147456)



Recommendation:
dgramrcvbuf.bar should be > 132096 (currently, 65536)



Recommendation:
othersockbuf.bar should ba > 132096 (currently, 122880)


Validation
completed: success












Utility
проверяет ограничения на параметры управления ресурсами и показывает
весь список



найденных нарушений при заданных
ограничениях. Могут быть три уровня степени серьезности нарушения:



















Recommendation
(рекомендация)




Это - предложение, которое не
является критическим для VPS или
Hardware Node.
В целом конфигурация действительна; однако, если у системы
достаточно памяти, лучше согласно рекомендациям увеличить
параметры настройки.




Warning
( предупреждение)




Ограничение не удовлетворено,
и конфигурация недействительна. Приложения VPS
с такой недействительной конфигурацией могут плохо выполнять свою
работу или где-то ошибиться.




Error
(ошибка)




Важное ограничение не
удовлетворено, и конфигурация недействительна. Приложения VPS
с такой недействительной конфигурацией имеют все шансы неожиданно
потерпеть неудачу в работе, закрыться или зависнуть.








В сценарии, данном выше, первый
запуск утилиты vzcfgvalidate обнаружил
критическую ошибку для величины параметра kmemsize.
После установки разумных величин для kmemsize,
окончательная конфигурация вывела только уровень рекомендации, и VPS
мог быть благополучно запущен с этой конфигурацией.































































Глава 7







Задачи
первостепенного выполнения







В этой главе:







  1. Определение ID VPS



  2. Изменение системного
    времени VPS



  3. Устройства доступа на VPS



  4. Перемещение сетевого
    адаптера на VPS



  5. Обеспечение VPN
    для VPS



  6. Загрузка iptables
    модулей



  7. Перезагрузка VPS








___________________________________________________________________________________







  1. Определение
    ID VPS












Определение ID
(идентификационного номера) VPS



Каждый процесс имеет собственный
PID (идентификатор процесса), который
обеспечивает вход в ядерный каталог процессов.


Например,
запуск Apache приписан соответствующим
процессом ID.



PID
используется затем, чтобы осуществлять контроль и управление этой
программой.



PID -
всегда положительное целое число.



В ОpenVZ
вы можете использовать vzpid (процесс
восстановления ID), утилиту, которая
печатает ID на сервере, которому
принадлежит процесс с данным ID.
Многократный процесс идентификации определяется как аргумент. В
этом случае утилита напечатает номер/ число сервера /ов/ для
каждого из процессов.







Утилита vzpid
может иметь следующий вид:












[root@ts23 root]# vzpid



Pid VPS Name



12 4 init












В нашем примере процесс с
идентификатором 12 назван 'init' и
протекает на сервере с номером ID = 4.







  1. Изменение
    системного времени на VPS








Обычно Изменение системного
времени на VPS невозможно. Иначе,
различные серверы могли бы вмешиваться в работу друг друга и
разрушать те приложения, которые зависят от точности времени
системы.







При нормальном состоянии вещей
только администратор hardware node
может изменить системное время. Однако,



если Вы хотите синхронизировать
время посредством сетевого протокола времени (NTP), вы должны
запустить программное обеспечение NTP, которое соединится с внешними
серверами NTP и обновит время системы. Не желательно запускать
прикладное программное обеспечение непосредственно на hardware
node, так как недостатки в программном
обеспечении



могут привести к сбою всех
частных серверов, находящихся на этом узле. Таким образом, если вы
планируете использовать NTP, лучше создать отдельный VPS
для того, чтобы иметь возможность работать с системным временем на
sys_time. Пример ниже иллюстрирует конфигурирацию одного из таких
серверов:









# vzctl set 101
--capability sys_time:on --save



Unable to set capability on
running VPS



Saved parameters for VPS 101
















Выполнение указанной команды
предупреждает Вас, что vzctl не может
применить изменения для работающего в данный момент сервера. VPS
должен быть перезапущен для того, чтобы приписанные изменения
вступили в силу









# vzctl restart 101



Restarting VPS



Stopping VPS ...



VPS was stopped



VPS is unmounted



Starting VPS ...



VPS
is mounted



Adding IP address(es):
192.168.1.101



Hostname for VPS set:
vps101.my.org



VPS start in progress...



# ssh root@vps101



root@vps101's password:



Last login: Mon Oct 28
23:25:58 2002 from 10.100.40.18



[root@vps101 root]# date



Mon
Oct 28 23:31:57 EST 2002 [root@vps101 root]# date 10291300



Tue Oct 29 13:00:00 EST 2002



[root@vps101 root]# date



Tue Oct 29 13:00:02 EST 2002



[root@vps101 root]# logout



ion to ve101 closed.



Connect#
date



Tue Oct 29 13:01:31 EST 2002












Эти команды показывают способ
поменять системное время на VPS 101.
Изменения затронут все VPS и hardware
node. Не рекомендуется иметь более одного
сервера со способностью регулировать системное время sys_time.







NTP описаны в интернет-стандарте
RFC 1305; более подробная информация,
включая программное обеспечение клиента может быть получена на
сетевом сервере NTP (http://www.ntp.org/).







  1. Устройства
    доступа на VPS




Вы можете предоставить серверу
доступ к чтению, записи, или к чтению/записи блокирующих



устройств. Возможно, что эти
операции понадобятся, например, для программного обеспечения oracle
database, если Вы хотите использовать его
способность работать с сырым дисковым разделением.







В большинстве случаев доступ к
иерархии файловых систем на сервере осуществляется при помощи
связующих крепления. Однако, они не позволяют вам создавать новые
разделения, форматировать их с файловыми системами, и устанавливать
их на вашем сервере. Если Вы



Все же намерены уполномочить
администратора сервера управлением диска, Вы можете использовать
опции - devices или - devnodes
для команды vzctl.







Пример ниже иллюстрирует
следующую ситуацию: Вы хотите позволить корневому пользователю VPS
101 взять на себя ответственность за управление /dev/sdb, /dev/sdb1 и
/dev/sdb2 устройствами. Иными словами, Вы позволяете системному
администратору VPS 101 переразделять
/dev/sdb устройство и создавать системы файлов на первых двух



разделениях (или использовать их
с любым программным обеспечением, способным к работе с сырыми
блокирующими устройствами, типа Oracle database
software)







Сначала, мы собираемся
«разрешить» серверу работу с необходимыми блокирующими



устройствами:









# vzctl set 101 --devices
b:8:16:rw --devices b:8:17:rw --devices



b:8:18:rw --save



Setting
devperms



Saved parameters for VPS 101
















Эта команда устанавливает
разрешения для чтения/записи для блокирующих устройств с основным
номером 8 и дополнительными номерами 16, 17 и 18 (соответствующими
/dev/sdb,/dev/sdb1, и /dev/sdb2). Если Вы не уверены, какие главные и
дополнительные числа соответствуют необходимым устройствам блочной
конструкции, вы можете запустить эту команду:













# ls -l /dev/sdb{,1,2}



brw-rw---- 1 root disk 8, 16
Jan 30 13:24 /dev/sdb



brw-rw----
1 root disk 8, 17 Jan 30 13:24 /dev/sdb1



brw-rw---- 1 root disk 8, 18
Jan 30 13:24 /dev/sdb2












Теперь давайте создадим
разделение Linux на 100 МБ в дополнение к
уже существующему разделению на 2 Гб на /dev/sdb1 на VPS
101.









[root@vps101
root]# fdisk /dev/sdb



Command
(m for help): p



Disk /dev/sdb: 255 heads, 63
sectors, 2231 cylinders



Units = cylinders of 16065 *
512 bytes



Device Boot Start End Blocks
Id System



/dev/sdb1 * 1 255 2048256 83
Linux



Command (m for help): n



Command action



e extended



p primary partition (1-4)



p



Partition number (1-4): 2



First cylinder (256-2231,
default 256):



Using default value 256



Last cylinder or +size or
+sizeM or +sizeK \



(256-2231, default 2231):
+100M



Command (m for help): p



Disk /dev/sdb: 255 heads, 63
sectors, 2231 cylinders



Units
= cylinders of 16065 * 512 bytes



Device Boot Start End Blocks
Id System



/dev/sdb1 * 1 255 2048256 83
Linux



/dev/sdb2 256 268 104422+ 83
Linux



Command (m for help): w












После того как новая разбивочная
таблица написана, она может быть отформатирована и размещена на
сервере.












[root@vps101 root]# mke2fs
/dev/sdb2



[Output of mke2fs is
skipped…]



[root@vps101 root]# mount
/dev/sdb2 /mnt



[root@vps101 root]# df



Filesystem 1k-blocks Used
Available Use% Mounted on


simfs
1048576 149916 898660 15% /



ext2
101107 13 95873 1% /mnt




Помните, что необходимо
определить все технические детали и характеристики для устройств,
которые вы хотели бы наделить наибольшими полномочиями; осуществляя
доступ



/dev/sdb, вы тем самым
разрешаете создавать, изменять и удалять разделения



Но разрешение для разделений, с
которыми вы разрешаете работать вашему серверу, должно быть выражено
эксплицитно.







  1. Перемещение
    сетевого адаптера на VPS








По умолчанию, все VPS
на hardware node
связаны между собой и самим узлом с помощью



действительного адаптера сети,
который называется venet0. Однако, для VPS
существует возможность непосредственного доступа к физическому
адаптеру сети (например, eth1). В этом случае адаптер
становится недоступен для самого hardware
node .



Вы можете проделать это с
помощью команды vzctl:









# vzctl set 101
--netdev_add eth1 --save



Add network device: eth1



Saved parameters for VPS 101












Пожалуйста примите во внимание,
что сетевое устройство, добавленное на VPS
таким способом будет иметь следующие ограничения:







  • Это устройство будет доступно
    только для VPS в независимости от его
    перемещений, но недоступно для hardware
    node и других VPS
    на этом узле.



  • Если такое устройство удалено с
    VPS ( с помощью команды

    vzctl set --netdev_del

    ) и добавлено на другой VPS , все
    сетевые настройки параметров этого устройства будут сброшены.
    Правильная работа в данном случае организуется следующим образом:
    необходимо сохранить все параметры настройки устройства в файле
    ifcfg-dev и
    иметь доступ к этому файлу в директории
    /etc/sysconfig/network-scripts
    у всех VPSs, которые могут использовать
    данное устройство (включая VPS0). После
    того, как устройство было добавлено на VPS,
    достаточно запустить команду ifup dev
    , чтобы считать параметры настройки упомянутого выше файла.
    Отметьте, что хотя, таким образом параметры настройки конфигурации
    сети и не будут восстановлены, таковы правила фильтрации пакетов.








  • Физическое устройство на VPS
    не имеет никаких ограничений безопасности, свойственных устройству
    venet. Внутри VPS
    возможно приписать любой IP адрес этого устройство и затем
    использовать его в самых разнообразных целях.








  1. Обеспечение
    VPN для VPS







Виртуальная
Частная Сеть (VPN) - технология, которая
позволяет Вам устанавливать безопасное сетевое соединение даже через
небезопасную общественную сеть. Настройка VPN
для тдельного VPS возможна посредством
устройства TUN/TAP. Однако, требуется
выполнить следующие шаги, чтобы разрешить конкретному VPS
использовать это устройство.










Прежде чем запускать OpenVZ
убедитесь, что модуль TUN загружен:








#
lsmod | grep tun















В случае, если он не загружен,
загрузите его следующей командой:








#
modprobe tun














Чтобы позволить VPS
использовать устройство TUN/TAP :









# vzctl set 101 --devices
c:10:200:rw --save
















Создать соответствующее
устройство в VPS для установки
надлежащего разрешения:









# vzctl exec 101 mkdir -p
/dev/net



# vzctl exec 101 mknod
/dev/net/tun c 10 200



# vzctl exec 101 chmod 600
/dev/net/tun












Конфигурация надлежащей VPN
выполняется как общая задача управления Linux,
которую мы не рассматриваем подробно в нашем руководстве по
управлению OpenVZ. Вы можете использовать
любое из доступных популярных изданий по программному обеспечению
Linux и настройке соответствующих
устройств, а также драйверов к ним, например на
(http://vtun.sourceforge.net/)



или на
(http://openvpn.sourceforge.net/).







  1. Загрузка
    iptables модулей








Ядро OpenVZ
обеспечивает поддержку дополнительным модулям iptables,
которые не были загружены автоматически. Если Вы хотите, чтобы
какие-то из этих модулей были загружен непосредственно на hardware
node или дополнительно, на какой-то
отдельный VPS , Вы должны выполнить ряд
операций







Загрузка iptables
модулей на hardware node







Для того, чтобы определенные
модули iptables загружались при запуске
hardware node ,
Вы должны включить их названия в состав параметра IPTABLES_MODULES в
файле



/etc/sysconfig/iptables-config.
По умолчанию этот параметр выглядит следующим образом:












IPTABLES_MODULES="ip_tables
ipt_REJECT ipt_tos ipt_limit ipt_multiport



iptable_filter iptable_mangle
ipt_TCPMSS ipt_tcpmss


ipt_ttl
ipt_length"












Вы можете изменить его
составляющие, включив туда любой из следующих модулей:













ip_conntrack



ip_conntrack_ftp



ip_conntrack_irc



ipt_LOG



ipt_conntrack



ipt_helper



ipt_state



iptable_nat



ip_nat_ftp


ip_nat_irc


ipt_TOS











Все модули, обозначенные как
составляющие этого параметра будут загружены на запуске hardware
node после того, как вы его перезагрузите.



Однако, если Вы хотите, чтобы
этот набор модулей был загружен по умолчанию на VPS
этого hardware node,
или желаете ограничить загрузку любого из этих модулей на какой-то
определенный VPS , Вы должны выполнить
дополнительные операции.






Загрузка модулей iptables
на определенный VPS







То, какие из модулей iptables
загружаются на VPS в данном hardware
node по умолчанию, определяется составом
параметра IPTABLES в файле
/etc/sysconfig/vz.



Естественно, те модули, которые
являются основными для данного параметра, будут загружены на VPSs
только в том случае, если они также загружены непосредственно на
hardware node
(см. страницу 70).



Состав этого параметра может
быть пересмотрен как в типовых файлах конфигурации VPS
(/etc/sysconfig/vz-scripts/ve-sample_name.conf-sample) так и в
файлах конфигурации отдельных



VPS
(/etc/sysconfig/vz-scripts/vps_id.conf).







Чтобы загружать дополнительные
модули iptables или не загружать
определенные модули, установленные по умолчанию на этом VPS,
вам необходимо четко указать, какие именно модули вам нужно
загрузить на VPS. Вы можете достичь этого
2 способами : изменить параметр IPTABLES
в соответствующих файлах конфигурации VPS
или использовать команду vzctl. Например:









# vzctl set 101 --iptables
iptable_filter --iptables ipt_length --iptables ipt_limit
--iptables iptable_mangle --iptables ipt_REJECT --save











Эта
команда приказывает
OpenVZ
загружать только
следующие модули
на VPS 101:
iptable_filter,
ipt_length,
ipt_limit,
iptable_mangle,
ipt_REJECT.


Эта
информация будет также сохранена в файле конфигурации VPS
благодаря
--save
функции.



Загрузка нового набора модулей
iptables не происходит мгновенно. Вы должны
перезагрузить



VPS ,
чтобы обозначенные изменения вступили в силу.







  1. Перезагрузка
    VPS



Когда
вы запускаете команду
reboot
на
панели управления Linux, команда
перезагружает систему, используя команду restart,
которая передается к компьютерному BIOS.



Затем ядро Linux
перезагружает компьютер. По очевидным причинам этот запрос системы
блокируется внутри VPS ни один сервер не
может получить непосредственный доступ к BIOS; в противном случае,
перезагрузка внутри VPS привела бы к
перезагрузке всего hardware node.
Именно поэтому команда reboot внутри VPS
фактически работает обратным способом. При выполнении команды reboot
внутри VPS – работа VPS
останавливается, а затем начата специальным скриптом
(/etc/sysconfig/vz-scripts/vpsreboot),
который выполняется посредством cron daemon
периодически (каждую минуту по умолчанию). Конфигурация Cron
для управления этим скриптом находится в файле
/etc/cron.d/vpsreboot.







Если Вы хотите, чтобы VPS
был неспособен самостоятельно вызвать перезагрузку, добавьте строку
ALLOWREBOOT = " no"
в файл конфигурации вашего сервера



(/etc/sysconfig/vz-scripts/vps_id.conf).



Если Вы хотите, чтобы отказ от
перезагрузки VPS был установлен по
умолчанию, или хотите точно определить какие из VPS
могут перезагружаться - добавьте строку ALLOWREBOOT
= "no " в основной файл
конфигурации OpenVZ (/etc/sysconfig/vz) и
точно введите ALLOWREBOOT = "yes"
в соответствующих файлах конфигурации сервера.


























































































































Глава 8







Поиск
ядерных неисправностей



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







В этой главе:



  1. Общие рассмотрения



  2. Выявление ядерных
    неисправностей



  3. Проблемы с управлением VPS



  4. Проблемы с
    функционированием VPS



  5. Проблемы с использованием
    Linux утилит (?)



  6. Получение технической
    поддержки (?)




_____________________________________________________________________________________







  1. Общие
    рассмотрения








Основные проблемы, которые
необходимо принять во внимание, исследуя Вашу систему OpenVZ на
предмет поиска неполадок, перечислены ниже:



Вы должны всегда помнить, в каком
терминале сейчас находитесь. Периодически проверяйте это, используя
команды pwd, hostname, ifconfig, кот/proc/vz/veinfo. Одна и та же
команда, выполненная в VPS и в HN может привести к абсолютно разным
результатам! Вы можете также настроить переменную среду PS1, чтобы
показать полную директорию к bash prompt. Чтобы сделать это, добавьте
эти линии к /root/.bash_profile:












PS1="[\u@\h \w]$ "



export PS1












  • Если работа hardware node по
    каким-то причинам замедлила свое действие,




воспользуйтесь vmstat, ps (ps
axfw), dmesg, top , чтобы узнать, что случилось. Никогда не
перезагружайте машину без выяснения обстоятельств неполадок. Если
исследование не помогает, восстановите нормальное функционирование,
используя последовательность клавиш Alt+SysRq, чтобы загрузить память
(showMem) и процессы (showPc). За дополнительной информацией
обращайтесь к секции Использование Последовательности Клавиш
Alt+SysRq (Using Alt+SysRq keyboard section).



  • Если hardware node был
    некорректно закрыт, при его следующем запуске все его разделы




должны быть проверены заново и
разделы дисков повторно вычислены для каждого VPS. Все это,
несомненно, значительно увеличит время запуска.



  • Не запускайте бинары или
    скрипты, которые принадлежат VPS, непосредственно с hardware node.




Например, никогда не делайте
этого:













cd /vz/root/99/etc/init.d



./httpd status












Любой скрипт в VPS, мож