Thursday, February 26, 2015

AIX: конфигурируем syslogd

   Системная служба syslogd занимается логированием в операционной системе AIX. Служба определяет поступающую информацию, анализирует к какому событию она относится (проверка выполняется на основе настроек, определенных в конфигурационном файле /etc/syslog.conf ) и выдается результат. Так как служба управляется SRC, то конфигурационная информация считывается при запуске, а выключается при получении соответствующего сигнала прерывания (hangup). Запуск службы задается в конфигурационном файле /etc/rc.tcpip
   Состояние службы можно проверить командой:
lssrc -a | grep syslogd
Запуск - останов: 
Самое интересное - это настройка параметров для логирования. Самый простой пример значений:
facility.priority destination options
Например, 
mail.info        /var/log/mail.log
syslog.debug    /var/log/syslog.log
*.crit         /var/log/syslog.log rotate size 1m files 10 
 
Объекты логирования
Facility Description
kern Объекты ядра
user Пользовательские объекты
mail Почтовая система
daemon Системные службы
auth Авторизация
syslog syslogd собственно сам себя
local0 through local7 Локальные службы
* Все объекты
Уровней приоритетов много, рассмотрим самые основные
alert Важные системные сообщения (LOG_ALERT), такие как ошибки железа.
crit Критические сообщения (не ошибки!)(LOG_CRIT), такие как некорректные попытки входа в систему.
err Ошибки системы (LOG_ERR), такие как неудачные попытки записи на диск.
warning Сообщения не нормального поведения системы (LOG_WARNING).
info Информационные сообщения  (LOG_INFO).

Destination Вывод информации - может использоваться как конечный файл или консоль.
Options Дополнительные опции, такие как сжатие файлов логов, их размер, хранение.


Не путать логирование с помощью syslogd с выводом ошибок с помощью errdemon'a.
Настройки Errdemon можно увидеть с помощью команды:

Мне нравится указывать вывод в отдельные файлы, так вывод инфы кажется более информативный, и хранить в течении недели.
Успехов!

Monday, February 23, 2015

AIX: настройка NIM server

   NIM master - сервер, который управляет средой NIM и контролирует все типы ресурсов, которые доступны NIM-мастеру. У клиента может быть только один мастер, мастер не может быть клиентом любого другого ним-мастера. 
   NIM client - клиентская машина (lpar или standalone), которая может использовать ресурсы мастера: установка ПО, бэкапов, загрузка, инсталляция.
   NIM resources - собственно ресурсы: файлы или даже целые файловые системы, которые предоставлены для использования клиентам. Ресурсы могут быть нескольких типов: mksysb, spot, lpp_source, machines...

   Перед настройкой NIM-сервера имейте в виду следующие потребности:
1. Установочные образы.
Если их вас нет, смысла в дальнейшем - нет.
2. Достаточное количество дискового пространства
Логично, да? 
3. Сетевая доступность.
   При установке ОС, или вытаскивании бэкапа из Нима, нагрузка на сеть будет довольно высокой, позаботьтесь о решении сетевой проблемы до того, как случится коллапс. =)
#lslpp -l | grep nim  

Итак, NIM-сервер не установлен, исправим это!
Нам осталось доустановть пару пакетов: 
bos.sysmgt.nim.master

bos.sysmgt.nim.spot
#installp -ac -d /distr/installp/ppc/ bos.sysmgt.nim.master
#installp -ac -d /distr/installp/ppc/ bos.sysmgt.nim.spot
Отлично, установили!
Создаем отдельный том под Nim-сервер и файловыую систему:
#mklv -t jfs2 -y nimlv rootvg 30G
#crfs -v jfs2 -d /dev/nimlv -m /nim -A yes
#mount /nim
Отлично!Запускаем конфигуратора:
#nimconfig -a pif_name=en2 -a netname=ether_10_30_1
-a netboot_kernel=64 -a cable_type=tp -a client_reg=no -v
2 первых параметра - обязательны, остальные - дополнительные. -v детальный вывод.
Обратите внимание на заполнение поля  netname=ether_10_30_1
Просмотр основной инфрмации:

#lsnim
Просмотр информации о ресурсах:
#lsnim -l master
Просмотр информации о типах ресурсов
#lsnim -t spot
 Теперь нужно сделать образы на самом NIM'е. Немножко о самых основных типах образов.
1. lpp_source
 Данная директория содержит инстралляционные образы: CD/DVD, файлсеты-пакеты (filesets), обновления TL/SP.
2. SPOT ( shared processor object tree) - что-то похожее на загрузочный диск, например, через NIM можно загрузить удаленную машину используя SPOT - директорию, т.к. она содержит данные из файловой системы /usr, а именно само ядро, драйвера устройств, и другие инсталляционные пакеты BOS.
3. mksysb
Используется как rootvg бэкап отдельного ним-клиента. Обладает ключевыми характеристиками: быстрое восстановление поломанной системы, а также может быть использован для инсталляции в других системах (инсталляции из бэкапа происходит гораздо быстрее, чем с CD).
4. bosinst_data 
Представляет собой кастомизированные процедуры, используемые в неинтерактивной инсталляции.
5. image_data
Это архитектура rootvg - полная информация по использованию LV, VG, PP.
Создадим образ с DVD:

#nim -o define -t spot -a server=master -a source=/dev/cd0 -a location=/nim/lpp_cd0 lpp_cd0
Если вы что-то добавили неверно, всегда можно удалить:
#nim -o remove lpp_cd0
Скачал с фикс централа последние фиксы 7100-03-04-1441
Добавим к ресурсам NIM'a. Делаем сначала образ с дистрибутива:

#nim -o define -t lpp_source -a server=master -a source=/dev/cd0 -a location=/nim/lpp_1441 lpp_1441
Теперь обновим до последних фикспаков:
#nim -o update -a show_progress=yes -a packages=all -a source=/distr/fixesdir lpp_1441
NIM-сервер готов к эксплуатации.
Успехов! Комментарии приветствуются!

NIM: подключение клиента

   Подключаем клиента к ним-серверу, даем команду с клиента (hostname=client1):
#niminit -a name=client1 -a master=10.30.1.34 -a pif_name=en4 -a cable_type=tp -a master_port=1058
А в ответ ошибка: 
0042-291 NIMkid: The NIM master is not currently allowing registration of NIM clients.
Please seek assistance from your network install administrator.
Т.е. ним-мастер не разрешает подключения клиентов. Исправим это!
Виновата эта настройка на NIM-мастере client_reg=no
#nim -o change -a client_reg=yes master
Теперь можем подключиться!
Для просмотра ресурсов ним-мастера, выполним такую команду:
#nimclient -l -L master
Определим ресурсы NIM-сервера(как правило это spot и lpp_source), которые будут доступны для клиента с именем i2-test1:
#nim -o allocate -a spot=lpp_cd0 -a lpp_source=lpp1412 i2-test1
Определим новую машину, назовем ее client01
#nim -o define -t standalone -a if1="ether_10_30_1 client01 0" -a cable_type1="tp" client01

Итак, посмотрим все доступные операции, которые можно выполнить с клиента (их также можно выполнить через Ним-сервер) или так : #smit nim => Perform a NIM Client Operation
 -o Operation
               allocate   Определяет ресурсы
               bos_inst  происходит базовая установка (BOS install)
               change    Изменение аттрибутов объяекта ним-сервера
               cust         Происходит установка ПО.
               deallocate  Удаляет ресурсы.
               diag          Загружает машину в диагностический режим.
               reset         Обнуляет значение объекта NIM сервера.
               showres    Отображает ресурсы определенного типа NIM-сервера.
Посмотрим все ресурсы : 
#nimclient -o showres -a resource=lpp1412
Произведем обновление до последнего TL + SP
#nimclient -o cust -a afixes=update_all
Конечно же удобнее делать через смит, но можно и через консоль!

Если нужно удалить клиентскую машину из окружения Ним-сервера:
#nim -o remove clientname

Успехов! Комментарии приветствуются!

NIM: передаем управление на клиент

   Все операции управления средой NIM можно выполнять либо с сервера, либо с клиента:
Передадим бразды правления с сервера на клиент (имя клиента hostname=i2-test1):
Для этого нужно сделать изменение аттрибута control на NIM-сервере:
#nim -o change -a control=i2-test1 i2-test1

Теперь все операции мы можем выполнять напрямую с клиента. Например, update_all.
#smit nim => Perform a NIM Client Operation

Немножко теории:
Элемент Описание
атрибут control не установлен Если атрибут control отсутствует в списке атрибутов компьютера, то это означает, что ни сервер, ни автономный клиент не управляют выделением ресурсов.
control = master Сервер выделил ресурсы клиенту и готов к выполнению операций (или уже выполняет операцию).
control = имя-автономного-клиента Автономный клиент захватил ресурсы и может выполнять операции NIM самостоятельно.
control = имя-автономного-клиента push_off Автономный клиент запретил серверу NIM выделять ресурсы и запускать операции. Сам клиент, тем не менее, продолжает управлять выделением ресурсов и запуском операций NIM.

NIM: ошибка клиента при подключении к серверу

   При запросе ресурсов с клиента вылетает такая ошибка (master - хостнайм NIM-сервера):
#nimclient -l -L master
0042-006 nimclient: (To_Master) rcmd A file or directory in the path name does not exist.
    Из ошибки понятно, что ругается на rsh. Проверяем включен ли secure shell. Как правило, он включен по умолчанию, но проверим на всякий случай:
Хорошо. Тогда заглянем в файл /.rhosts на ним-сервере:
Там должно быть определение для клиента нима.
Примерно следующее:
cat /.rhosts
client01 root
Если и в этом случае подключение не происходит - значит у вас не отрабатывает "определение имен хостов" (name lookup), проще говоря не работает ДНС. Тогда пропишем ip-адрес ним-сервера напрямую в файл /etc/hosts на клиенте:
Удачно проверили доступные ресурсы ним-сервера с ним-клиента.

Успехов! Комментарии приветствуются!

Friday, February 20, 2015

Lotus Domino: set dateorder

   Есть в IBM Lotus Domino замечательная переменная, которая задается в notes.ini, а звать ее
DateOrder=Value
   Всю жизнь думал, что она играет только на платформе unix, но я просто глобально ошибался! Она играет и на платформе windows! Сегодня в этом убедился.
   Установил новый сервер на платформе windows 2008, настроил запуск lotus'a из-под систменой учетной записи. Запускаю сервер - фофрмат даты в американском виде=( т.е. month/day/year - мне так не надо.
Делаю настройки человеческие в notes.ini
DateOrder=DMY
DateSeparator=.
ClockType=24_HOUR
Супер, перегружаю сервер - ничего не меняется!
Как? - изумляюсь я! Настройки из инишника не прочитались?!  Окей, гугл...
Нашел, что за настройки параметров на платформе windows отвечает данные разделы реестра:
HKEY_CURRENT_USER\Control Panel\International 
HKEY_USERS.DEFAULT\Control Panel\International
с основными параметрами: locale, idate, sdate.
Изменил все параметры в ветке HKEY_USERS.DEFAULT\Control Panel\International -
и никакого эффекта - смысл в том, что если служба лотуса стартует из-под доменной учетки, нужно отредактировать ту ветку реестра, что отвечает именно за этого пользователя. У меня в реестре не определился этот пользователь, точней определились все пользователи в виде:
S-1-5-21-153928421-2495408141-3989244006-27928
Очень приятно! 
Пришлось править реестр для всех пользователей, что имели профили на этом сервере=((
Русские параметры локализации для реестра windows-платформы:
iDate=1
LocaleName=ru-RU
sDate=.
sShortDate=dd.MM.yyyy

Успехов! Комментраии приветствуются! 

Wednesday, February 18, 2015

NIM: ошибка при создании ресурсов (lpp_source)

   При определении ресурсов lpp_source NIM - master'а может появляться такая ошибка:
warning: 0042-265 c_mk_lpp_source: The image source "/distr/somedir/" that was used to define the lpp_source is missing one or more  of the following from the list of default packages:
До какого-то момента НИМ все определял верно, но потом выдал, что не может определить много основных пакетов. Ошибка означает, что уровень вашего NIM-мастера меньше, чем уровень пакетов, т.е. вы скачали более новое обновление, чем ваш NIM-server. Поэтому обновляем сначала уровень системы, соответственно и НИМ'а заодно.
#smit update_all

Saturday, February 14, 2015

Грузим AIX в биос

   Или другими словами можно сказать, что загрузим AIX в SMS.
AIX использует для загрузки 2 основных режима:
1. Нормальный режим (как правило, загрузка с жесткого диска).
В этом режиме ОС загрузится в многопользовательский режим (multiuser mode), что соответствует runlevel 2
2. Сервисный режим ( SMS mode). 
SMS mode используется для определения устройства, с которого загрудится ОС в последующем, а также запуска режима восстановления и установки обновлений ПО (firmware). 
Меню СМС:
Для загрузки в sms нужно во время активации париции (lpar'а) нажать F1.
Или на закладке Advanced профиля lpar'a
По умолчанию всегда стоит обычный режим. Выбираем SMS, сохраняем профиль и перегружаем партицию. Процесс загрузки ОС описан подробнее тут. Т.к. профиль партиции хранится в NVRAM, нам нужно чтобы сервисный процессор power-сервера прочитал профиль партиции заново, поэтому только остановка и активация партиции, а не перезапуск! 
Несколько полезных команд, для решения проблем с загрузкой.
Определите, что у вас логируется: 
# alog -L
Очень полезной может оказаться команда, просмотра консоли загрузки ОС
#alog -o -t boot
#alog -o -t console
А теперь посмотрим  очередь загрузки ОС.
#bootlist -m normal -o или так:
#bootinfo -b
 
Посмотрим разярдность ОС:

Для пересоздания образа, с которого загружается ОС имеется команда:
#bosboot -a -d /dev/hdiskN
Успехов! Комментарии приветствуются.

IBM System Director Console for AIX: установка и использование

   System Director Console - графический браузерный инструмент управления операционной системой. Как правило, администраторам данная консоль не нужна, но если есть такой инструмент, то почему бы о не не рассказать? Хотя, хочу заметить, что графики, которые она рисует довольно неплохи и для отчета руководству как раз самое "то"! Сама консоль содержит ссылки на задачи, выполняемые с помощью smit'а, и требует установленной Java v6.
   В документации говорится, что устанавливается консоль по умолчанию, видать я это умолчание снял, когда ставил систему. Поэтому установим данные пакеты.
Сделаем превью: 
installp -acpgY -d /distr/installp/ppc sysmgt.pconsole.rte
Успешно, тогда выполняем установку:
-Y данный ключ вводим, чтобы принять лицензию для использования Java. 
installp -acgY -d /distr/installp/ppc sysmgt.pconsole.rte
Продолжаем устанавливать пакеты:
installp -acg -d /distr/installp/ppc sysmgt.pconsole.apps.wdcem
installp -acg -d /distr/installp/ppc sysmgt.pconsole.apps.wrbac

installp -acg -d /distr/installp/ppc sysmgt.pconsole.apps.wsmit

Проврим, что установлены пакеты для поддержки Lightweight Infrastructure:
lslpp -l | grep lwi.runtime

Установка успешно завершилась.
Теперь перейдем к использованию:
lssrc -s pconsole
Подключаемся по адресу:
https://10.30.1.34:5336/ibm/console
Для изменения порта, можно провести настройки по адресу:
/pconsole/lwi/conf/overrides/port.properties
И вот уже консоль вас приветсвует:
 Примерный список административных задач представлен ниже:
Как видим список довольно обширен, плюс к этому можно еще и смитом воспользоваться.
У меня стоит русская локаль, поэтому в некоторых местах некорректные значения перевода появляются, и от них никуда не денешься - разве, что менять локаль.
Итак, с помощью консоли можно:
1. Администрировать операционную систему: устанавливать приложения, смотреть логи, создавать файловые системы, выполнять задачи (которые выполняются через крон), управлять пользователями и т.д. Т.е. графический интерфейс администратора (который еще и показывает все запущенные команды).
2. Отслеживать все административные действия с системой.
3. Управление системой через классический смит, благо для этого есть отдельная вкладка.
4. Выполнение команд через распределенный менеджер DCEM (distributed command execution Manager) на нескольких хостах.
5. Выполнение портлетов (например, System health) - используются, чтобы посмотреть конфигурацию системы или сети, или системы подкачки.
Логи работы данной утилиты хранятся в директории /var/log/pconsole/logs.

   В заключении скажу, что пару раз при выполнении команд браузер повисал, хотя человек (картинка статуса) поднимал руки вверх, говоря нам, что все выполнено успешно, и приходилось заново логиниться. Это не критично, но не приятно. 
   В случае если консоль вам не нужно, то лучше ее выключить из автозапуска. Для этого отредактируем /etc/inittab. Закомментируем строчку с запуском консоли:
#pconsole:2:once:/usr/bin/startsrc -s pconsole  > /dev/null 2>&1
   Успехов! Комментарии приветствуются.

Friday, February 6, 2015

AIX: используем smit

   Итак, загрузка ОС произошла, но у вас остались задачи, который требуют взаимодействия с ядром системы, или устройствами. Например, хотите добавить ip-адрес (или добавить статический маршрут с помощью route), это можно сделать с помощью ifconfig'a или с помощью текстового ассистента smit'a.
   Smit или smitty (smit tty) - тестовый помощник, как yast в Suse linux, он взаимодействует напрямую с ядром, изменяя драйвера устройств и записывая новые значения в ODM. Продолжая пример, вы изменили значение айпи с помощью ifconfig'a, но после перезагрузки у вас остался прежний адрес, потому, что новые значения не записались в ODM. Как раз помощь с этой "проблемой" и готов smit.
   Основное меню Smit'a выглядит таким образом
   По умолчанию, smit в корне создает 3 файла:
1. smit.log
Основной файл лога, куда пишутся все действия данной утилиты. Пути не заданы жестко, поэтому поток можно перенаправить в любую другую директорию с использованием ключа:
#smit -l /tmp/smit.log
2. smit.script
В отличие от yast'a smit представляет собой "хранилище" скриптов, и любое действие smit'a - это заранее подготовленный скрипт, который запустится с определенными параметрами. Этот скрипт мы можем посмотреть с помощью команды f6 в smit'e, а также отследить с помощью файла smit.script. Например, посмотрим все маршруты.
Для этого заходим в smit tcpip: Further Configuration: Static Routes : List All Routes
Нажмем F6, чтобы посмотреть команду.
С помощью smit.script вы можете самостоятельно подготовить свой собственный скрипт. Например, если нужно добавить 10 пользователей на разных машинах. 
Поток можно перенаправить по желанию:
#smit -s /tmp/smit.script
3. smit.transaction
Этот лог файл, похож на smit.script и занимается логированием всех действий. Отличие заключается в том, что smit.transaction логирует только "команды-действия" (command to execute).
Основные команды smit'a:
F1 ( Esc + 1) - вызов справки.
F2 ( Esc + 2) - обновить экран.
F3 ( Esc + 3) - отмена, возвращение в предыдущее меню. 
F4 ( Esc + 4) - выбор возможного значения.
F5 ( Esc + 5) - сброс, восстановление значения по умолчанию.
F6 ( Esc + 6) - показать выполненную smit'ом команду. 
F7 ( Esc + 7) - позволяет выбрать множественные значения.
F8 ( Esc + 8) - позволяет посмотреть короткий путь для вызова smit (например, smit tcpip).
F9 ( Esc + 9) - вызывает суб-шелл, вы проваливаетесь в еще один шелл, выполняетем там, команды, а затем по команде exit возвращаетесь обратно в smit.
F10 ( Esc + 0) - покинуть smit.

Успехов! Комментарии приветствуются.