Данная глава отсутствует


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



Pdf просмотр
страница3/8
Дата24.11.2016
Размер3.42 Mb.
Просмотров2177
Скачиваний0
1   2   3   4   5   6   7   8
Глава 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).
2.
Внесение шаблонов в список
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
3.
Работа с 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
Управлении системными параметрами
2. Управление дисковыми разделами / долями - квотами
Эта секция объясняет, что такое дисковые доли, определяет параметры дисковых долей и описывает, как выполнять всевозможные операции, связанные с дисковыми долями:

Включение и отключение дисковых долей (первого уровня) на 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 quotaugidlimi t
Число 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 .
3.
Управление разделом (долей, квотой) 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 процента гарантируемого времени.
4. Управление системными параметрами
Ресурсы, которые 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).
5.
Управление конфигурацией ресурсов 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 параметры, они должны уже существовать в файле-образце

2. используя специальные утилиты OpenVZ для подготовки файлов конфигурации к выполнению. Задания, которые выполняют эти утилиты, описаны в следующих разделах этой главы.
3. прямо создавая и редактируя соответствующий файл конфигурации
(
/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)
2Recommendation: 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 мог быть благополучно запущен с этой конфигурацией.

Каталог: soft
soft -> Soft-king net Диагностика сайта
soft -> Инструкция по настройке софтфона для планшетов и телефонов под управлением операционной системы Android для работы с услугой «Домашний цифровой телефон Билайн»
soft -> Jaswinder Singh Kohli. На русский язык перевел Vladislav Lazarenko. Что такое загрузчик? Загрузчик операционной системы это программа
soft -> Занятие Введение. Знакомство с ос linux Unix 1969 год Bell Labs Linux Freebsd, Openbsd
soft -> Разработка модулей ядра ос linux Kernel newbie's manual


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал