Saturday, April 25, 2015

AIX: системные компоненты (AIX Devices II)

Про устройства, которые используются в системе, я начинал говорить ранее. И основные термины можно дополнить только "железными" понятиями, а именно CEC и System planar.
CEC (Central electronics complex) - основной системный юнит, который управляет процессорами, памятью и удаленными операциями ввода-вывода(для краткости - IO).
System planar - главный компонент CEC, системная плоскость, на которой расположены карты слоты процессора, планки памяти и слоты под IO, и все эти компоненты взаимодействуют между собой.
12X cable - обеспечивает высокоскоростное подключение между системными компонентами, например, между CEC и любыми IO-адаптерами. 12Х состоит из специальных адаптеров и протоколов, которые позволяют IO адаптерам эффективно взаимодействовать с системными шинами. IO-адаптер может состоять из PCI-слотов, адаптеров, дисков, и подключаться к системным элементам посредством шины GX+.
Расположение системных компонентов (System component location).
Power сервер состоит из отдельных системных компонентов (System enclosure), которые выспутают как отдельныя часть и имеет собственный идентификатор, состоящий из MTM (machine type and model) и серийного номера.
Например, U8205.E8A.65DG389
Т.е. все устройства (физические и виртуальные) будут использовать часть этого location-кода. Далее по примеру, устройства, которые подключены к системной плоскости (CEC) имеют отдельный идентификатор, а именно идентификатор системной плоскости. Например,
U34AO.001.DGEFGHC-P1
P1 - говорит о том, что компонет подсоединен к системной плоскости.
Для работы с location-кодами используют команду lsdev
lsdev -CHF "name, status, physloc, location"
На своем примере, покажу сетевую карту, которая у меня подсоединена к системной плоскости, остальные устройства виртуальные, они имеют другие коды
Расшифровку примеров нашел на просторах инета:
Успехов! Комментарии приветствуются!

AIX: добавляем виртуальный сетевой адаптер (shared ethernet adapter)

Добавим новое устройство в работающую систему. На примере сетевого адаптера (shared ethernet adapter) будут рассмотрены осноные возможности конфигурации устройств. Посмотрим, что у нас сейчас определено в системе:
Добавим виртуальный адаптер в профиле сервера, а именно в Lpar'е. Для этого нужно подключиться к HMC, и выбрать профиль партиции (LPAR) и произвести его конфигурацию.
Свойства адаптера:
#cfgmgr или рестарт системы для обнаружения нового устройства.

Чтобы устройство заработало нужно произвести его конфигурацию (например, через smit или через изменение устройства).
#smit tcpip
Или с помощью команды mktcpip, которая производит минимальную конфигурацию для запуска протоколов TCP/IP на хосте.  
#/usr/sbin/mktcpip -h hostname -a ip -i en3 -n DNS -d domain.ru -g gateway -A no -t N/A -s
ip, domain,gateway = айпи-адреса соответствующих служб.
Для удаления устройства из системы используйте команду rmdev.

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

Friday, April 24, 2015

AIX: работаем с устройствами

Про то, что такое устройство в ОС AIX я рассказывал тут. Теперь посмотрим какие операции возможны с устройствами.
1. Добавление устройства на примере сетевого адаптера (shared ethernet adapter) рассматриваются осноные возможности конфигурации устройств.
Добавим виртуальный адаптер в профиле Lpar'a.
#cfgmgr или рестарт системы для обнаружения нового устройства.
Чтобы устройство заработало нужно произвести ее конфигурацию (например, через smit).

2. Удаление устройства или изменение его состояния в Кастомизированной БД ODM (Customized Devices object class).
Например, удалим сетевое устройство ent3.
Воспользуемся командой rmdev
#rmdev -l ent3
Чтобы положить сетевую карту, нужно сначала погасить сетевой интерфейс (en), иначе будет выдаваться ошибка, что устройство занято. Устройство отключено, но по-прежнему присутствует в Кастомизированной базе:
Удалим устройство полностью из системы:
#rmdev -dl ent3

3. Изменение устройств происходит с помощью команды chdev.
Изменим, например, состояние сетевой карты en3. 
Как видно, устройство добавлено, но выключено. Включим его:
#chdev -l en3 -a state=up
Успехов!

Thursday, April 23, 2015

Exchange 2010: получение информации со всех HubTransport'ов

Часто поступают запросы от пользователей, типа: "Посмотрите, почему не пришло письмо?" Если смотреть через графику, то придется заходить на каждый HubTransport и проверять, было ли письмо для данного пассажира. Используем шелл, что получить список писем для пользователя со всех Hub'ов.
Разобьем запрос на 2 части:
1. Получим все транспортные сервера в организации, начинающиеся с названий ser или srv:
Get-TransportServer | ? {$_.Name -like "ser*" -or $_.Name -like "srv*"} 
2. Теперь определим получателя сообщения и выведем в отдельный вид:

Get-MessageTrackingLog -Recipients 'recipient@domain.ru' -Start 04/22/2015 | Out-GridView
3. Третьим шагом объединим полученное:
Get-TransportServer | ? {$_.Name -like "ser*" -or $_.Name -like "srv*"} | Get-MessageTrackingLog -Recipients 'recipient@domain.ru' -Start 04/22/2015 | Out-GridView

Tuesday, April 21, 2015

AIX: планировщик (schedule operations)

Итак, приступаем к планированию заданий.
1. В моей случае, это перезапуск задачи Agent manager в 2 часа ночи на сервере Lotus Domino.
Задачу будем запускать из-под пользователя notes, поэтому проверяем какие задачи в расписании для него есть:

Ничего нет. Поэтому созданием первую задачу.
#crontab -e 
 Формат используется, как и во всех unix-подобных системах
The crontab File Entry Format
minute hour day_of_month month weekday command
Первый столбец - минуты
Второй столбец - Час, когда запустится планировщик
Третий столбец - День месяца
Четвертый столбец - Месяц
Пятый столбец - день недели (начинается с воскресенья 0, понедельник 1 и до воскресенья -7)
Шестой столбец - запуск скрипта.
В моем случае, в 15:12 20.08 в четверг запустился скрипт /var/opt/lotus1

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

Для просмотра запланированных заданий используем:
#crontab -l
Директория с логами /var/adm/cron/
cron.deny- используется для запрета пользователям запуска задач через крон.

2. Следующая утилита планировщика заданий - "сборщик мусора" Skulker.
Данная утилита запускается по умолчанию через crontab, если не указано обратное. Используется для удаления ненужных и старых файлов.
Весь ее функционал:
  • Файлы с расширением *.output, которые находятся в состоянии "got lost"
  • Файлы просто просмотра директорий (qdir);
  • Файлы, оставленные в "почтовых" очередях;
  • Файлы в директории /tmp удаляются, если они не были добавлены туда в последние сутки, т.е. срок хранения 24 часа;
  • Файлы в директории /var/tmp;
  • Файлы новостных элементов (срок хранения 45дней);
  • Файлы с расширением *.bak, *.bak, a.out, core, proof, galley, ed.hup, которые не модифицировались в течении суток (24 часа);
  • Файлы в директории .putdir (срок хранения сутки).

Monday, April 20, 2015

AIX: создаем файловую систему

    Начиная работать с файловыми системами, главное помнить, что изменения файлов выполняются в оперативной памяти, а уже потом записываются на диск (файловую систему) посредством системной службы syncd (запуск выполняется каждую минуту).
   Посмотрим файловые системы, что уже определены:
 
    Начнем с логов: hd8, тип jfs2log, размер партиции логов - 2PP(physical partitions). Это циркулярный лог, который обеспечивает интеграцию с основной файловой системой, посредством записи всех метаданных незамедлительно в лог. По умолчанию, для журналируемой файловой системы в группе томов rootvg создается отдельный логический том для логов. Если вы создаете затем файловую систему, и не указываете отдельно логический том для логов, то будет использован основной логический том hd8. Например, для файловой системы nim, используется стандартный лог, видно это с помощбю команды mount, которая показывает все смонтированные файловые системы:
   Теперь к оставшимся файловым системам:
LV   -   Distributiuon
hd4  -  /
hd1  -  /home
hd2  -  /usr
hd3  -  /tmp
hd6  -  paging space
proc -  /proc
hd9var  -  /var    
hd10opt - /opt
hd11admin - /admin
   При добавлении новой файловой системы можно использовать команды mklv (создание нового логического тома), mkfs (создание файловой системы на выделенном логическом томе) или смит: smit crjfsstd.
   Но лучше всего использовать команду crfs, которая все сделает за вас, при этом не забудьте указать параметры, иначе будут умолчания!
crfs -v jfs2 -g rootvg -m /backup -a size=10G -a logname=backuplvlog -A yes
-v тип файловой системы;
-g группа томов, где создавать логический том;
-m точка монтирования;
-a параметры системы: размер, имя и т.д.
   Если при добавлении файловой системы вы решили создать к ней отдельный лог, важным будет отформатировать этот лог с помощью команды logform!
#logform /dev/somelvlog
При добавлении новой файловой системы, она добавляется в файл: /etc/filesystems
/etc/filesystems Содержимое файла /etc/filesystems
dev = /dev/hd3 логический том файловой системы 
vfs = jfs2 тип файловой системы
log = /dev/hd8 полный путь к логическому тому лога 
mount  = automatic автоматическое монтирование
check = false требуется проверка целостности после перезагрузки
vol = /tmp используется командой mkfs, когда добавляется метка к новой файловой системе
free = false традиции юникса, больше не зачем быть этой записи.
В целях изменения файловых систем используется команда:
#chfs -a size=-2G /tmp
Для удаления файловой системы можно использовать команду:
#rmfs /test 
Параметры:
   -r удаляет точку монтирования;
   -i показывает важные сообщения до удаления файловой системы.
Для удаления логического тома:
#rmlv -f lv05 
Управлять файловыми системами можно через смит: smit fs или smit jfs2.
Успехов!

Monday, April 13, 2015

AIX Загрузка II (Aix loading II)

   Рассмотрим теперь основные конфигурационные файлы, которые грузятся автоматически и какие службы в них присутствуют. Итак, мы находимся на стадии System Boot Phase, первые 2 стадии успешно завершились, подробнее тут.
   Тут можно говорить про сообщество rc-файлов, потому как они составляют одну большую фамилию. Все rc-файлы исполняются при загрузке и готовят систему к дальнейшему использованию.
1. /sbin/rc.boot - вызывается посредством /etc/inittab. В зависимости от типа загрузочного устройства данный файл управляет загрузкой следующих устройств:
  • Загрузка с диска;
  • Активация корневой группы томов (rootvg);
  • Активация файловых систем;
  • Вызов программы инсталляции или запуска диагностического режима.  
2.  Далее выходит из тени /etc/rc, обычно он определяется следующей строчкой в /etc/inittab и продолжает работу:
  • Активация всех групп томов, имеющих свойство auto-varyon;
  • Активация всех разделов подкачки (swapon -a);
  • Конфигурирование всех устройств дампа (systemdump-dev -q);
  • Если требуется - выполняется проверка файловой системы (fsck -fp);
  •  Монтирование оставшихся файловых систем в /etc/filesystems, имеющих значение automount. 
3. Далее происходит конфигурации сети /etc/rc.net. Система получит hostname, установит дефолтные маршруты, получит дефолтный гейт-вэй.
4. Ну и наконец приступит к загрузке основных служб из файла /etc/rc.tcpip. Все службы запускаются скриптом автоматически, если вы их не выключаете. Выполнение скрипта можно производить и при работающей системе.
  • inetd (запускается по умолчанию);
  • gated; 
  • routed;
  • named;
  • timed;
  • rwhod;
  • lpd; 
  • portmap;
  • sendmail; 
  • syslogd. 
 Успехов!

Tuesday, April 7, 2015

Exchange 2010 SP3 установка на сервер Windows 2012

   Итак, предстоит установить почтовик exchange 2010 sp3 на ОС Microsoft Windows Server 2012 Datacenter. Займемся. По умолчанию установка .NET Framework и Powershell 2.0 уже
произведена, поэтому установим Microsoft Office 2010 Filter Packs.
берем тут - http://www.microsoft.com/en-us/download/details.aspx?id=17062.
С этим никаких проблем!

   А вот далее столкнулся с проблемой: "Не завершена перезагрузка с момента предыдущей установки". Ну думаю, видимо точно не завершена - перегрузил сервер, жду...
   Запускаю заново программу установки - ошибка не ушла, все тоже самое! Далее поиск неисправности... Нашел описание подобной ошибки для exchange server 2007, времена идут ничего не меняется - ну, значит оно, думаю. В статье правка реестра: находим этот параметр
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\PendingFileRenameOperations
и очищаем его полностью! (равносильно тому, чтобы поставить 0)

Поправил реестр - процесс установки попер дальше! Окей, неплохо!
   Уже на моменте установки серверных ролей установщик опять заглох - в этот раз привожу ошибку полностью: 
Error:
The following error was generated when "$error.Clear(); Set-WERRegistryMarkers;
 " was run: "Provisioning layer initialization failed: '"Scripting Agent initialization failed: "File is not found: 'E:\Exchsrvr\Bin\CmdletExtensionAgents\ScriptingAgentConfig.xml'.""'".

   Установщик глохнет и дальше не идет, можно только нажать на кнопку Finish.
   Окей, гугл!
   Поиск не принес результат, лишь тонкие намеки на то, что вот этот файл ScriptingAgentConfig.xml нужно где-то найти и скопировать в директорию, в которую я провожу установку. Легкий конфуз...
   Захожу в папку, куда ставлю экчендж E:\Exchsrvr\Bin\CmdletExtensionAgents -
там присутствует данный xml-файл, только в конце к нему приписано еще немножко в виде .sample. Т.е. он находится там в виде E:\Exchsrvr\Bin\CmdletExtensionAgents\ScriptingAgentConfig.xml.sample
   Удаляю этот .sample в конце файла и продолжаю установку. Процесс спокойно завершается. Мдаааа. Получается установщик создал файл и не смог его переименовать! Вот так и живем:) Успехов!  

Wednesday, April 1, 2015

AIX: Monitoring

   Давно думал над этой темой и решил писать. Итак, какие диагностические утилиты есть, чтобы посмотреть на систему?
1. nmon
2. topas
3. svmon

1. Рассмотрим подробнее nmon. Это наверное самая лучшая утилита мониторинга.
Запустим ее! Горячие клавиши вызовов будут
1.1 Первый параметр - процессор, загрузка и использование.
-с (уменьшенный вид) или С (увеличенный вид)
1.2 Статискика Lpar'a (Shared CPU) - параметр p
Очень похожий параметр - r. Отображает статистику используемого Lpar'a.
Отдельно замечу, что данный параметр отображает частоту работы процессора, серийный номер и тип сервера. 
1.3 Параметр W - статистика работающей workload партиции, у меня таких нет, поэтому ничего не привожу. (Плюс еще параметр -S)
1.4 Параметр d (или D) - использование дисковой подсистемы.
1.5 Параметр а - показатели загрузки подключенных адаптеров
1.6 Параметр L - использование больших страниц (large page)
1.7 Параметр k - основная информация об ядре, процессах (их количестве) и времени работы (uptime) сервера
1.8 Параметр n - сетевая загрузка сервера

1.9 Параметр m - использование памяти
1.10 Параметр А - запускает отображение процессов. Примерно тоже значение имеют параметры: t, T, u.
1.11 Параметр N - мониторинг работы NFS
1.12 Shift + 6  - мониторинг работы fibre-channel адаптера

2. Topas
На самом деле утилита nmon - topas это одна утилита, которая переключает режимы отображения с помощью комбинации shift + "~".
По аналогии с nmon'ом утилита topas имеет похожие ключи, я на них подробно останавливаться не буду, опишу основные:  с,  n,  E,  d,  D,  f,  p,  P,  L,  V,  
Отдельно скажу про детальный вид по Lpar'у с помощью команды L: показаны режим работы партиции, кол-во процессоров, кол-во памяти и загрузка.

3.SVMON
Данная утилита выводит информацию о текущей загрузке ОП. Обычный вывод svmon (или с параметром G) отображает кол-во памяти в системе, и ее использование постранично.
Inuse - кол-во памяти, которое используют работающие процессы + те, которые уже завершаются.
Pin - те, страницы которые закреплены в памяти.
1. Посмотрим использование страниц памяти по определенному процессу
svmon -P 3277058 | pg
2. Цифровой вывод основной (глобальной) информации:
svmon -G -O unit=MB
3. Потребление ОП в AIX.
Вычитал эту вещь на просторах интернета, что есть такое понятие как "потребление" и это значение должно быть меньше 90%
Проверю на своем сервере, по формуле
Потребление = memory-virtual / memory-real * 100%
У меня получилось 19%, т.е. сервер прекрасно справляется с задачами, используя только физическую ОП, без обращений к виртуальной.
4. Посмотрим теперь потребление ОП по работающим процессам:
#svmon -P -O summary=basic,unit=GB
5. Посмотреть детальную информации по процессу 3866682
svmon -P 3866682 -O segment=on,pidlist=on,range=on,mapping=on,shmid=on,filename=on,affinity=detail


Спасибо за внимание! Буду рад вашим отзывам и комментариям! Успехов