Solaris. Resource allocation. Part 6. FSS & First Web Server
Подключение Fair Share Scheduling к пулу ресурсов веб-сервера.
Как только контейнер для почтового сервера создан, установлен и загружен, можно приступать к созданию следующего контейнера для первого веб-сервера. Этот контейнер аналогичен предыдущему, так же будет задействовано Fair Share Scheduler для выделения ресурсов процессора.
Для установки Fair Share Scheduler:
1. Установка планировщика ресурсов (Fair Share Scheduler) для пула по умолчанию, при помощи команды poolcfg:
global# poolcfg -c ‘modify pool pool_default (string pool.scheduler=»FSS»)’
2. Создание конфигурации командой pooladm:
global# pooladm –c
3. Перемещение всех процессов в пуле по умолчанию и ассоциированной с ним зоны, под управление FSS:
global# priocntl -s -c FSS -i class TS
global# priocntl -s -c FSS -i pid 1
Необходимо перезагрузить систему, чтобы изменения вступили в силу. Либо, если не желательно перезагружать систему, можно использовать команду priocntl.
Создание контейнера для первого веб-сервера.
Установка этой зоне будет несколько сложнее. Необходимо выделить три логических единицы Fair Share, а так же обеспечить чтение-запись для каталога /usr/local файловой системы.
Создание зоны:
1. Подготовка зоны для первого веб-сервера тем же способом, каким была установлена зона для почтового сервера. Необходимо иметь информацию об имени зоны, расположении, названии пула ресурсов и IP-адресе:
global# zonecfg -z Web1-zone
Web1-zone: No such zone configured
Use ‘create’ to begin configuring a new zone.
zonecfg:Web1-zone> create
zonecfg:Web1-zone> set zonepath=/export/home/zones/Web1-zone
zonecfg:Web1-zone:net> set address=10.0.0.2
zonecfg:Web1-zone:net> set physical=eri0
zonecfg:Web1-zone:net> end
zonecfg:Web1-zone> set pool=pool_default
В нашей задаче оба веб-сервера и глобальная зона, совместно пользуются ресурсами процессора из пула по умолчанию. Необходимо указать, каким образом эти ресурсы должны распределяться при помощи Fair Share Scheduler (FSS).
В механизме FSS распределение процессорных ресурсов между приложениями происходит с помощью выделения логических единиц от общих ресурсов процессора. Чем больше выделено этих логических единиц для приложения, тем больше процессорного времени (процессорных ресурсов) будет выделено этому приложению механизмом FSS, по сравнению с другими программами. Количество выделенных логических единиц не является абсолютным значением, более важно, сколько долей процессора выделено для других приложений.
2. Выделение долей процессора для конкретной зоны происходит следующим образом:
zonecfg:Web1-zone> add rctl
zonecfg:Web1-zone:rctl> set.cpu-shares
zonecfg:Web1-zone:rctl> add value (priv=privileged,limit=3,action=none)
zonecfg:Web1-zone:rctl> end
zonecfg:Web1-zone> exit
В случае стандартной зоны – такой, как почтовый сервер, — каталог «/usr» сконфигурирован только для чтения. В некоторых случаях, приложению необходимо использовать подкаталоги, например «/usr/local» (сюда обычно устанавливается программное обеспечение с открытым кодом). Зона со стандартными настройками не позволит использовать этот каталог для установки. Однако, этого можно добиться этого, внеся изменения в конфигурацию зоны. В нашем случае, необходимо подмонтировать директорию «/usr/local» доступной для записи.
В нашем примере, первый веб-сервер будет устанавливать приложения в «/usr/local/bin», это означает, что необходимо сконфигурировать зону с поддержкой этой возможности.
Конфигурирования директории /usr/local на чтение-запись.
3. В глобальной зоне, необходимо создать директорию, которая будет экспортирована в зону:
global# mkdir -p /export/home/zones/Web1-zone/local
4. Установка прав на эту директорию для пользователя root глобальной зоны:
global# chmod 700 /export/home/zones/Web1-zone
5. Создание каталога, если его ещё нет, в который наша файловая система будет смонтрирована:
global# mkdir /usr/local
6. Вход в программу конфигурации зоны:
global# zonecfg -z Web1-zone
7. Добавление файловой системы в зону, командой add fs:
zonecfg:Web1-zone> add fs
8. Указание директории, к которой файловая система будет монтироваться:
zonecfg:Web1-zone:fs> set dir=/usr/local
9. Экспорт каталогов из глобальной зоны в новую зону:
zonecfg:Web1-zone:fs> set special=/export/home/zones/Web1-zone/local
10. Установка типа файловой системы:
zonecfg:Web1-zone:fs> set
11. Установка прав на чтение и запись для этой директории:
zonecfg:Web1-zone:fs> set options=[rw,nodevices]
12. Конец конфигурации:
zonecfg:Web1-zone:fs> end
13. Проверка и сохранение конфигурации, затем установка и загрузка зоны:
zonecfg:Web1-zone> verify
zonecfg:Web1-zone> commit
zonecfg:Web1-zone> exit
global# zoneadm -z email-zone install
global# [output omitted here for brevity]
global# zoneadm -z Web1-zone boot
global# zlogin -C Web1-zone
Примечание: команда «zoneadm list –cv» позволяет быстро посмотреть текущее состояние зон.
В результате, мы имеем конфигурацию, показанную на рисунке ниже. Были созданы два контейнера; один с фиксированным процессорным временем, другой – с глобальной зоной — с динамически выделяемыми ресурсами процессора.
Вторая зона добавлена к системе, и для неё выделено три логических единицы процессорных ресурсов.
.
Popularity: 1%
Этот материал находится на сайте http://compiling.ru
Оставьте свой отзыв