Показаны сообщения с ярлыком AIX. Показать все сообщения
Показаны сообщения с ярлыком AIX. Показать все сообщения

пятница, 26 февраля 2016 г.

ibm hmc lpar report csv

Что необходимо:
1.nix машина которая имеет passwordless доступ к HMC (мою HMC звать hmc2, пользователь hmcreporter с правами VIEW)
2.
 #!/usr/bin/bash  
 workdir=/home/hmcrepo  
 echo Fetching list of systems  
 /usr/bin/ssh hmcreporter@hmc2 lssyscfg -r sys -F name | sort -u > $workdir/sys.list  
 echo Done  
 echo "sys,name,lpar_id,lpar_env,state,os_version,logical_serial_num,curr_profile,curr_proc_mode,run_proc_units,run_mem" > $workdir/hmcLPAR.csv  
 echo "name,type_model,serial_num,lpar_proc_compat_modes,installed_sys_proc_units,configurable_sys_proc_units,curr_avail_sys_proc_units,installed_sys_mem,configurable_sys_mem,curr_avail_sys_mem" > $workdir/hmcSYS.csv  
 for i in `cat $workdir/sys.list`;do  
     echo Fetching system info for server $i  
     SYS_PROF=`/usr/bin/ssh hmcreporter@hmc2 lssyscfg -m $i -r sys -F name,type_model,serial_num,lpar_proc_compat_modes`  
     SYS_EC=`/usr/bin/ssh hmcreporter@hmc2 lshwres -m $i -r proc --level sys -F installed_sys_proc_units,configurable_sys_proc_units,curr_avail_sys_proc_units`  
     SYS_MEM=`/usr/bin/ssh hmcreporter@hmc2 lshwres -m $i -r mem --level sys -F installed_sys_mem,configurable_sys_mem,curr_avail_sys_mem`  
     echo $SYS_PROF,$SYS_EC,$SYS_MEM >> $workdir/hmcSYS.csv  
     echo Fetching lpar info for $i system  
     /usr/bin/ssh hmcreporter@hmc2 lshwres -m $i -r proc --level lpar -F lpar_name > $workdir/lpar.list  
         for LPAR in `cat $workdir/lpar.list`;do  
             echo Fetching PROF,EC,MEM for $LPAR lpar  
             LPAR_PROF=`/usr/bin/ssh hmcreporter@hmc2 lssyscfg -r lpar -m $i -F name,lpar_id,lpar_env,state,os_version,logical_serial_num,curr_profile --filter lpar_names=$LPAR`  
             LPAR_EC=`/usr/bin/ssh hmcreporter@hmc2 lshwres -m $i -r proc --level lpar -F curr_proc_mode,run_proc_units --filter lpar_names=$LPAR`  
             LPAR_MEM=`/usr/bin/ssh hmcreporter@hmc2 lshwres -m $i -r mem --level lpar -F run_mem --filter lpar_names=$LPAR`  
                 echo $i,$LPAR_PROF,$LPAR_EC,$LPAR_MEM >> $workdir/hmcLPAR.csv  
         done  
 done  
 echo Done  

на выходе 2 файла
hmcSYS.csv Отчёт по железным серверам
hmcLPAR.csv Отчёт по LPAR в разрезе ресурсов

старая версия под катом

пятница, 28 ноября 2014 г.

AIX polipo proxy http to ssh

имеем задачку:

1. машину с IBM System Director который не умеет использовать SOCKS Proxy и на котором нет интернета.
2. машину в DMZ с инетом, но на которую нельзя ставить прокси софт.

Надо: Завернуть все запросы от машины1 в машину2
Для "проброса" HTTP трафика в SOCKS я выбрал polipo
Качаем его на машину1,
собираем, предварительно исправляем Makefile так как нам надо:
PREFIX = /opt/freeware
BINDIR = $(PREFIX)/bin
MANDIR = $(PREFIX)/man
INFODIR = $(PREFIX)/info

LOCAL_ROOT = /opt/polipo/www
DISK_CACHE_ROOT = /opt/polipo/cache
# make all
#make install

настраиваем его, например, так  :
proxyAddress = "10.127.17.47"
allowedClients = 127.0.0.1, 10.121.0.0/16, 10.6.4.0/16
proxyPort = 3131
socksParentProxy = localhost:9050
socksProxyType = socks5

logFacility=user
logFile=/opt/polipo/log.log
logFilePermissions=0640
logLevel=0x7
logSyslog=false

сохраняем конфигурацию в /opt/polipo/config.cfg
и запускаем, пока без фонового режима:

/opt/freeware/bin/polipo -c /opt/polipo/config.cfg

Про конфигурацию:  polipo на машине1 слушает адрес 10.127.17.47  proxyPort = 3131  и перенаправляет все http запросы на машину2  через  socksParentProxy = localhost:9050.      Резонный вопрос что за хуйня localhost:9050 ? -  Это ssh tunnel к машине2, делается так, на машине1 выполняется команда:

ssh -D 9050 you-user-name@машина2 &
Трафик запросов имеет такой вид:

IBM System Director  -> polipo@машина1:3131 -> ssh@машина1:9050 ->  SSH Tunnel ->машина2 -> Интернет
Громоздко? - Увы, такая инфраструктура.


Если лениво собирать polipo, можно скачать мою сборку: https://app.box.com/s/dangfmqigy679p6p0kyn    /  polipo-1.1.1-AIX71-ready.tar

My polipo ready to install for AIX71 your can download here: https://app.box.com/s/dangfmqigy679p6p0kyn   / polipo-1.1.1-AIX71-ready.tar


Проверяем:


1. на машине1 становится доступен URL: http://машина1:3131/polipo/  это интерфейс мониторинга состояния polipo,  а так же ещё по мелочи
2. wget ya.ru
riot@машина1#wget ya.ru
--11:20:49--  http://ya.ru/
           => `index.html.3'
Resolving машина1... 10.127.17.47
Connecting to машина1[10.127.17.47]:3131... connected.
Proxy request sent, awaiting response... 200 Ok
Length: 9,129 [text/html]
100%[=====================================>] 9,129         --.--K/s
11:20:49 (256.06 MB/s) - `index.html.3' saved [9129/9129]
Незабываем выставить в окружении: export http_proxy=http://машина1:3131/

Теперь дело за малым, свзяку polipo + ssh засунуть в Ресурсную группу PowerHA

2bc

четверг, 10 апреля 2014 г.

An Ethernet Configuration Tip MOD

Из этой заметки можно подчерпнуть как добится от AIX  6.1 сохранения значения конфигурации largesend на сетевом интерфейсе, которое до версии AIX 6.1 TL7, значительно увеличивает производительность 10Gb интерфейсов.
Автор навоял сценарий, который прописывается в /etc/inittab командой:
mkitab -i srcmstr "lg_send0:2:wait:/usr/local/bin/ena_lg_send_ent_mod01.sh en0 # Enable largesend for virt enet adapters"

У сценария Дена / Dean Rowswell, есть один незначительный минуc / нюанс - он ставит largesend на все интерфейсы. Возможно это и правильно, но хочется управлять селективностью и выставлять largesend на нужные интерфейсы.  Для этого сценарий автора был незначительно модифицирован:


Классная подсветка, без б , но везде где ">&gt"; надо заменить на >>
#cat /usr/local/bin/ena_lg_send_ent_mod01.sh

#!/bin/ksh
set -x
# Created by Dean Rowswell, IBM, March 22, 2010
# This script will enable the largesend tunable for the virtual ethernet interface in order
# to dramatically improve performance of this adapter
#
# This script should run just before the rctcpip entry in the inittab
# mod by pdmtry 2014


if [[ $# -ne 1 ]];then
        echo "usage $0 EN
                enable LARGESEND option on virtual ethernet interface, where
                EN - virtual ethernet interface, en0,en1,en2,...,en8, 
                exiting"
        exit 0
fi


LOG=/var/adm/ena_lg_send_virt_eth.log


echo "\n================================================================================="
>>  ${LOG}
echo "Running $0 on `hostname` at `date`" | tee -a ${LOG}
echo "================================================================================="
>> ${LOG}

INTERFACE=$1
  # Convert the interface to the device
  DEVICE=`echo ${INTERFACE} | sed 's/en/ent/g'`

  # Check all Virtual Adapters for this device
  lsdev -Cc adapter -Sa -s vdevice -F name | grep -w ${DEVICE}
>/dev/null 2>/dev/null

  # If a match is found then enable largesend for this interface
    if [ $? -eq 0 ]
      then
      echo "\nCurrent interface config for ${INTERFACE} is:" >>${LOG}
      ifconfig ${INTERFACE} >>${LOG}
      echo "\nENABLE LARGESEND FOR VIRTUAL ETHERNET INTERFACE ->
${INTERFACE} at `date`" >>${LOG}
      ifconfig ${INTERFACE} largesend >>${LOG} 2>>${LOG}
      echo "\nNew interface config for ${INTERFACE} is:" >>${LOG}
      ifconfig ${INTERFACE} >>${LOG}
    fi


2do:
1. check if INTERFACE exist
2. check чтонибуть ещё