[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по управлению системой: Операционная система и устройства


Введение в администратор рабочей схемы

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

В данном примере операции выполняются с помощью интерфейса командной строки WLM. Кроме того, для каждой операции приведены краткие указания по выполнению с помощью SMIT и Web-администратора системы.

Шаг 1: Создание конфигурации

Для управления конфигурацией WLM и администрирования суперклассов у вас должны быть права доступа root. Права доступа root необходимы для выполнения первых нескольких операций. Дополнительная информация о правах доступа root приведена в разделе Принципы WLM.

Самый простой способ создать новую конфигурацию - скопировать существующую конфигурацию и изменить ее свойства. WLM включает пример конфигурации, которая называется template. В ней предопределены суперклассы Default, System и Shared.

Создайте новую конфигурацию new_config, создав каталог /etc/wlm/new_config, и скопировав в него файлы из каталога /etc/wlm/template:

Примечание: Для выполнения этой операции необходимо войти в систему как пользователь root.

cd /etc/wlm
 
cp -pr /etc/wlm/template new_config

Убедитесь, что каталог new_config принадлежит пользователю root, предоставляет права доступа на чтение, запись и выполнение только владельцу, и права доступа на чтение и выполнение для группы и др. Например:

ls -l /etc/wlm/new_config
всего 40
-rw-r--r--   1 root    system       423 Июн. 29 14:16 classes
-rw-r--r--   1 root    system        55 Июн. 29 14:16 description
-rw-r--r--   1 root    system       430 Июн. 29 14:16 limits
-rw-r--r--   1 root    system       496 Июн. 29 14:16 rules
-rw-r--r--   1 root    system       404 Июн. 29 14:16 shares

 

lsclass -d new_config
System
Default
Shared

Созданная конфигурация включает набор файлов свойств WLM, содержащих описания предопределенных суперклассов System, Default и Shared. С помощью текстового редактора измените описание в соответствии с новой конфигурацией.

Для того чтобы сделать это, например, с помощью SMIT, перейдите к главному меню Администратора рабочей схемы (введите wlm в командной строке или в главном меню SMIT выберите Планирование производительности и ресурсов, затем выберите Управление рабочей схемой). Затем выберите Работа с альтернативными конфигурациями и перейдите к меню Копировать конфигурацию. Введите имя копируемой конфигурации template и имя новой конфигурации new_config , затем нажмите клавишу Enter.

Для продолжения работы с новой конфигурацией вернитесь к меню Конфигурации и выберите пункт Выбрать конфигурацию. Введите или выберите имя новой конфигурации new_config и нажмите клавишу Enter. С этого момента по умолчанию для сеанса SMIT WLM будет применяться конфигурация new_config, пока в меню Выбрать конфигурацию не будет выбрана другая конфигурация или вы не завершите работу программы SMIT. Если новая конфигурация не будет выбрана, вы будете работать с текущей конфигурацией в каталоге /etc/wlm/current.

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

Шаг 2: Создание суперклассов

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

Например, введите, как пользователь root, следующую команду:

mkclass -a inheritance=yes -a tier=1 -c shares=1 -m shares=1 \
-d new_config super1

Эта команда создает суперкласс с именем super1 в конфигурации new_config на уровне суперкласса 1 со значением Yes атрибута inheritance. Суперклассу super1 присваивается один общий процессор и один общий ресурс памяти. Для всех остальных атрибутов, прав доступа к ресурсам и ограничений устанавливаются значения по умолчанию. Дополнительная информация приведена в разделе Принципы WLM .

Для того чтобы создать еще один суперкласс, super2, на уровне 1 с двумя общими процессорами и тремя общими ресурсами памяти, и предоставить права доступа на администрирование его подклассов пользователю wlmu0, введите в командной строке следующую команду:

mkclass -a tier=1 -a adminuser=wlmu0 -c shares=2 -m shares=3 \
     -d new_config super2

Введите следующую команду в командной строке для проверки параметров:

lsclass -d new_config

Данные вывода должны выглядеть следующим образом:

Система
Default
Shared
super1
super2
root #

В данном примере к трем предопределенным суперклассам добавляются два пользовательских суперкласса, созданных на шаге 1.

Для создания тех же суперклассов с помощью SMIT, выберите конфигурацию на шаге 1, с помощью подменю Добавить класс создайте класс super1. Это меню позволяет создать суперкласс и настроить его общие характеристики (атрибуты description, inheritance, tier, authuser/authgroup, adminuser/admingroup и rset). Затем в меню Изменить/Просмотреть характеристики класса выберите управление ресурсами (процессорами, памятью и вводом-выводом дисков), чтобы настроить указанные выше атрибуты.

Повторите операцию с суперклассом super2. В Web-администраторе системы операция выполняется схожим образом.

Шаг 3: Создание правил присвоения суперкласса

Теперь создайте набор правил присвоения для присвоения процессов этим суперклассам.

Добавить, изменить или удалить правила присвоения из командной строки нельзя. Измените правила присвоения с помощью SMIT или Web-администратора системы. В программе SMIT с уже выбранной конфигурацией выберите Правила присвоения классов -> Список и правила, чтобы просмотреть содержимое файла, затем Создать новое правило для каждого правила, которое необходимо создать.

Создав два правила, введите следующую команду для проверки результатов:

cat /etc/wlm/new_config/rules

Вывод команды будет выглядеть примерно следующим образом:

* класс зарз. полз.     группа приложение  тип  тег
super1   -    wlmu[3-6]    -       -         -     -
super2   -    wlmu[0-2]    -       -         -     -
System   -    root         -       -         -     -
Default  -    -            -       -         -     -

По новым правилам все процессы с фактическим ИД пользователя wlmu3, wlmu4, wlmu5, и wlmu6 присваиваются классу super1, а процессы с фактическим ИД пользователя wlmu0, wlmu1 и wlmu2 - классу super2.

WLM сопоставляет процесс с правилами в порядке появления правил в файле и присваивает процесс классу, соответствующему первому подходящему правилу. В предыдущем примере процесс с ИД пользователя wlmu1 будет присвоен классу super2.

При добавлении правил файл правил уже содержал правила присвоения для предопределенных суперклассов System и Default.

Если бы тот же процесс применял фактический ИД пользователя wlmu1, он был бы присвоен суперклассу Default.

Шаг 4: Запуск администратора рабочей схемы

На предыдущий этапах вносились изменения в файлы свойств WLM. Даже если операции производились с текущей конфигурацией и WLM был уже запущен, новых классов не было бы в структурах данных ядра WLM, и новые правила не были бы доступны в операционной системе.

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

Команда wlmcntrl выполняет обработку конфигурации WLM перед передачей данных в ядро. Команда wlmcntrl обрабатывает символы подстановки в полях имени пользователя, имени группы и имени файла приложения в файле правил. В правилах для класса superclass2, например, было указано wlmu[0-2]. Команда wlmcntrl развернет список до wlmu0, wlmu1 и wlmu2, и передаст соответствующие UID, например, 221, 222 и 223, в ядро. Это выполняется и для указанных имен групп. При обработке полных имен файлов команда wlmcntrl также применяет раскрытие символов подстановки при составлении списка имен. После этого, перед передачей данных в ядро команда обращается к каждому файлу и получает для каждого файла идентификатор в упрощенном формате для ядра.

В приведенном ниже примере WLM не запущен. Запустите WLM с новой конфигурацией с помощью команды wlmcntrl. Введите в командной строке:

wlmcntrl -d new_config
wlmcntrl -q

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

WLM выполняется

Все существующие процессы классифицируются по определенным выше правилам. Для просмотра классификации процессов введите следующую команду ps:

ps -e -o pid,ppid,user,class,pri,args

Команда выводит данные в следующем формате:

PID    PPID    USER CLASS        PRI COMMAND
    1     0    root System        83 /etc/init
 8634  9860    root System        83 /usr/sbin/inetd
 8958  9860    root System        83 /usr/sbin/hostmibd
 9332     1    root System        83 /usr/sbin/syncd 60
 9606     1    root System        83 /usr/lib/errdemon
 9860     1    root System        83 /usr/sbin/srcmstr
10180  9860    root System        83 /usr/sbin/portmap
11376  9860    root System        83 /usr/sbin/snmpd
11962  9860    root System        83 /usr/sbin/biod 6
12208  9860    root System        83 /usr/sbin/syslogd
12408  9860    root System        83 sendmail: rejecting connections on port
12768     1    wlmu0 super2      159 /tmp/test12
12942  9860    root System        83 /usr/sbin/dpid2
13158     1    root System        83 /usr/ccs/bin/shlap
13432  9860    root System        83 /usr/sbin/rpc.lockd
13682  9860    daemon Default     60 /usr/sbin/rpc.statd
13942     1    root System        83 -ksh
14198     1    root System        83 /usr/sbin/cron
14456     1    root System        83 /usr/sbin/uprintfd
14730  9860    root System        83 /usr/sbin/writesrv
15004  9860    root System        83 /usr/sbin/qdaemon
15224     1    root System        83 /usr/bin/AIXPowerMgtDaemon
15742     1    root System        83 /usr/sbin/getty /dev/tty1
16256     1    root System        83 /usr/lpp/diagnostics/bin/diagd
16788     1    wlmu1 super2      159 /tmp/test14
17062     1    wlmu0 super2      159 /tmp/test2
17802     1    wlmu1 super2      159 /tmp/test15
18318     1    wlmu2 super2      159 /tmp/test19
18834     1    wlmu3 super1      235 /tmp/test9
19350     1    wlmu3 super1      235 /tmp/test0
19866     1    wlmu3 super1      235 /tmp/test1
20382     1    wlmu4 super1      235 /tmp/test11
20898     1    wlmu4 super1      235 /tmp/test4
21414     1    wlmu5 super1      235 /tmp/test7
21930     1    wlmu6 super1      235 /tmp/test7
22446     1    wlmu6 super1      235 /tmp/test17
22962     1    wlmu10 Default     85 /tmp/test17
23478     1    wlmu10 Default     85 /tmp/test8
23750 13942    root System        84 ps -e -o pid,ppid,user,class,pri,args

В приведенном выше примере процессы распределены следующим образом:

Флаг -c команды ps позволяет просмотреть все процессы заданного класса. Для того чтобы просмотреть список всех процессов, принадлежащих классу super1, введите следующую команду:

ps -l -c super1

Вывод команды будет выглядеть примерно следующим образом:

F S UID   PID  PPID  C PRI NI ADDR      SZ    WCHAN    TTY TIME CMD
240001 A 224 18834    1  84 235 20 3402ed    68              0  7:24 test9
240001 A 224 19350    1  85 235 20 3c02ef    68              0  7:19 test0
240001 A 224 19866    1  85 235 20 4402f1    68              0  7:15 test1
240001 A 223 20382    1  84 235 20 4c02f3    68              0  7:07 test11
240001 A 223 20898    1  85 235 20 5402f5    68              0  6:58 test4
240001 A 222 21414    1  85 235 20 5c02f7    68              0  6:42 test7
240001 A 221 21930    1  84 235 20 6402f9    68              0  6:14 test7
240001 A 221 22446    1  85 235 20 6c02fb    68              0  6:05 test17

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

wlmstat

Вывод команды будет выглядеть примерно следующим образом:

       CLASS CPU MEM BIO
Unclassified   0   0   0
   Unmanaged   0   0   0
     Default   8   0   0
      Shared   0   0   0
      System   0   0   0
      super1  33   0   0
      super2  21   0   0

Программы testXX - циклы процессоров, поэтому нет данных по использованию памяти и дисковому вводу-выводу.

Шаг 5: Создание и настройка подклассов

До этого этапа для выполнения всех описанных действий требовались права доступа root. Только пользователь root может создавать новую конфигурацию, создавать и осуществлять управление суперклассами, запускать и завершать работу WLM, изменять режим работы WLM и вносить изменения в текущую конфигурацию.

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

В суперклассе super2, данные полномочия были переданы пользователю wlmu0 (атрибут adminuser суперкласса super1 конфигурации new_config ).

Войдите в систему как пользователь wlmu0 и введите в командной строке:

mkclass -a tier=0 -a authuser=wlmu2 -c shares=10 -d new_config -S super2 sub1

Данная команда создает подкласс суперкласса super2 с именем sub1 на уровне подкласса 0 с десятью общими ресурсами процессора и дает пользователю wlmu2 права доступа на присвоение вручную процессов подклассу super2.sub1 .

Примечание: super2.sub1 - полное имя подкласса, уникально определяющее подкласс в заданной конфигурации. Имена подклассов различных суперклассов могут совпадать.

Для создания подкласса super2.sub1 на уровне 3 с 20 общими ресурсами процессора введите в командной строке:

mkclass -a tier=3 -c shares=20 -d new_config -S super2 sub2

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

Основные различия между суперклассами и подклассами лежат в прав доступа к ресурсам и ограничений:

Для проверки настроенных параметров введите в командной строке следующую команду:

lsclass -d new_config -r

Вывод команды будет выглядеть примерно следующим образом:

Система
Default
Shared
super1
super2
super2.Default
super2.Shared
super2.sub1
super2.sub2
wlmu0 $

Для просмотра общего списка суперклассов и классов укажите в команде lsclass флаг -r.

Для создания подклассов с помощью SMIT, сначала выберите суперкласс, в котором необходимо создать подклассы. Для этого выберите Работа с альтернативными конфигурациями/Выбор меню конфигурации. Выберите new_config -> Работа с набором подклассов, затем выберите суперкласс super2. Работая с программой SMIT, вы можете в любой момент проверить выбранную конфигурацию или суперкласс с помощью меню Показать выбранный объект. В Web-администраторе системы операция выполняется схожим образом.

После того как нужные конфигурация и суперкласс будут выбраны, создайте подклассы с помощью опции Добавить класс и Изменить/Просмотреть характеристики класса в меню суперкласса.

Примечание: Конфигурация WLM new_config - текущая конфигурация с полным именем /etc/wlm/current, поэтому в SMIT (или Web-администраторе системы). не нужно выбирать new_config . Тем не менее, рекомендуется всегда выбирать нужную конфигурацию, если в каталоге /etc/wlm есть несколько конфигураций WLM. Если системный администратор или сценарий, запущенный планировщиком cron, переключит конфигурацию WLM во время сеанса SMIT или Web-администратора системы, то часть внесенных вами изменений могут быть применены к другой конфигурации.

Как и в случае с суперклассом, для присвоения процессов к подклассу, необходимо задать для подкласса набор правил присвоения.

Шаг 6: Создание правил присвоения подкласса

Для создания правил присвоения подкласса воспользуйтесь программой SMIT или Web-администратором системы. Сначала выберите нужный суперкласс - выберите new_config и super2. В правилах присвоения подклассов применяются те же атрибуты процессов и тот же формат, что и в правилах присвоения суперклассов. Ниже приведены заданные правила:

cat /etc/wlm/new_config/super2/rules
* класс зарз. полз.     группа приложение  тип  тег
sub1 - wlmu1
sub2 - wlmu2

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

Правила присвоения подкласса могут применяться только в том случае, если они совместимы с правилами присвоения соответствующего суперкласса. Например, в данном примере, в соответствии с правилами суперкласса, классу super2 присваиваются процессы с фактическим UID wlmu0, wlmu1 и wlmu2.

Если указать, что какому-либо подклассу данного суперкласса будут присваиваться процессы с фактическим UID wlmu5, то ни один процесс, присвоенный классу super2, не удовлетворит данному условию. Таким образом, подкласс не будет использован.

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

Для просмотра статистических данных WLM на данном этапе введите следующую команду:

wlmstat

Обратите внимание, что в этом примере данных вывода подклассы не отображены.

           CLASS CPU MEM BIO
    Unclassified   0   0   0
       Unmanaged   0   0   0
         Default   8   0   0
          Shared   0   0   0
          System   0   0   0
          super1  33   0   0
          super2  21   0   0

Шаг 7: Обновление WLM

Команда wlmcntrl передает определения классов в ядро. Если WLM уже запущен, обновить структуры данных ядра WLM позволяет флаг -u. Кроме того, являясь администратором суперкласса, вы можете обновлять только данные, относящиеся к подклассам данного суперкласса. Так как у вас нет прав доступа root, команда wlmcntrl не позволяет запустить или завершить работу WLM или загрузить новую конфигурацию, поэтому администратор конкретного суперкласса не может внести изменения в другие суперклассы.

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

wlmcntrl -u -S super2

Для просмотра обновленных структур данных ядра WLM, содержащих новые подклассы, введите следующую команду:

wlmstat -a

Команда выводит данные в следующем формате:

           CLASS CPU MEM BIO
    Unclassified   0   0   0
       Unmanaged   0   0   0
         Default   8   0   0
          Shared   0   0   0
          System   0   0   0
          super1  33   0   0
          super2  19   0   0
super2.Default    12   0   0
 super2.Shared     0   0   0
   super2.sub1     5   0   0
   super2.sub2     2   0   0

Если указан флаг -a использование ресурсов подклассами показывается в процентах от общих ресурсов системы. В данном случае все процессы суперкласса super2 используют 19% времени процессора, из этих 19% 12% используют процессы подкласса Default, 5% - процессы подкласса sub1 и 2% - подкласса sub2. Если флаг -a не указан, использованные подклассом ресурсы будут показаны в процентах от ресурсов, используемых суперклассом. Для просмотра использованных ресурсов в процентах от ресурсов, использованных суперклассом, введите в командной строке wlmstat и нажмите клавишу Enter. Вывод команды будет выглядеть примерно следующим образом:

           CLASS CPU MEM BIO
    Unclassified   0   0   0
       Unmanaged   0   0   0
         Default   8   0   0
          Shared   0   0   0
          System   0   0   0
          super1  33   0   0
          super2  19   0   0
super2.Default    63   0   0
 super2.Shared     0   0   0
   super2.sub1    26   0   0
   super2.sub2    11   0   0

Из данных вывода следует, что на подкласс Default приходится 63% времени CPU, использованного суперклассом, на подкласс sub1 - 26%, а на подкласс sub2 - 11%. Как было отмечено выше, ограничения и ресурсы для подклассов задаются относительно ресурсов суперкласса, а не всей системы.

Для просмотра вывода команды ps с активными подклассами введите в командной строке следующую команду:

ps -e -o pid,ppid,user,class,pri,args | grep super2

Команда выводит данные в следующем формате:

12768     1   wlmu0 super2.Default 170 /tmp/test12 
16788     1   wlmu1 super2.sub1    159 /tmp/test14 
17062     1   wlmu0 super2.Default 170 /tmp/test2
17802     1   wlmu1 super2.sub1    159 /tmp/test15
18318     1   wlmu2 super2.sub2    207 /tmp/test19
23782 13942   wlmu0 super2.Default 168 -ksh
24032 23782   wlmu0 super2.Default 168 grep super2
25040 23782   wlmu0 super2.Default 169 ps -e -o pid,ppid,user,class,pri,args

Ниже приведены файлы свойств WLM, которые были созданы в каталоге /etc/wlm/new_config:

-rw-r--r-- 1 root   system  112 Jul  2 17:56   classes
-rw-r--r-- 1 root   system   55 Jun 29 14:16   description
-rw-r--r-- 1 root   system   31 Jun 29 16:35   limits
-rw-r--r-- 1 root   system  544 Jun 29 14:27   rules
-rw-r--r-- 1 root   system   78 Jun 29 16:35   shares
drwxr-xr-x 2 wlmu0  system  512 Jun 29 15:20   super2
-rw-r--r-- 1 wlmu0  staff    72 Jun 29 14:57   super2/rules
-rw-r--r-- 1 wlmu0  staff     0 Jun 29 14:55   super2/limits
-rw-r--r-- 1 wlmu0  staff    40 Jun 29 14:55   super2/shares
-rw-r--r-- 1 wlmu0  staff    98 Jun 29 14:55   super2/classes

Права доступа на запись к файлам свойств WLM, находящимся непосредственно в каталоге /etc/wlm/new_config, есть только у пользователя root. Правами доступа на запись к файлам свойств WLM для подклассов суперкласса super2, находящимся в каталоге /etc/wlm/new_config/super2, обладает пользователь wlmu0. Это обусловлено тем, что пользователь wlmu0 является администратором суперкласса super2. Информация о владельце и права доступа не изменились бы, если бы подклассы создавал пользователь root. Если системный администратор указал бы в качестве администратора суперкласса группу с помощью атрибута admingroup, тогда для файлов был бы задан ИД данной группы, и права доступа на принадлежали бы этой группе. Изменение администратора суперкласса (например, при изменении атрибута adminuser) могло бы вызвать определенные сложности, однако команда chclass автоматически вносит изменений в принадлежность и права доступа к файлам.

Создав первую пробную конфигурацию, вы можете поэксперементировать с различными режимами работы WLM, изменить общие ресурсы и настроить ограничения. Для проверки результатов изменения параметров воспользуйтесь командой wlmstat. Кроме того, вы можете попробовать другие функции WLM, такие как присвоение процессов вручную.

Все операции по управлению конфигурациями WLM можно выполнить с помощью интерфейсов SMIT, Web-администратора системы и командной строки. Следующие функции WLM не поддерживаются всеми тремя интерфейсами:


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]