AIX

 

          Advanced Interactive eXecutive, ou simplesmente AIX, é uma versão da IBM para o sistema operacional Unix que é executado em computadores IBM de médio porte. Ele é um software livre de código fonte fechado e se baseia no UNIX System V e é muito utilizado em grandes corporações. Antes do produto ser comercializado, o acrônimo AIX era uma abreviação de Advanced IBM UNIX ou, em português, Unix Avançado da IBM.

 

 

Abaixo algumas dicas de comandos... 

 

 

 

Altera a senha de um ou mais usuarios

 

Utilize a flag -c para resetar todos parâmetros de senha: 

 

chpasswd -c

usuario1:senha

usuario2:senha

usuario3:senha

ctrl^d

 

 

 

Criando logical volume e o filesystem

 

Os comandos abaixo criam um logical volume com nome lv_nome, tipo jfs2, com espelhamento nos discos hdisk0 e hdisk1 no VG rootvg com 30 PP's. Para saber o tamanho da PP execute o comando lsvg rootvg. Caso queira criar sem espelhamento, basta retirar a flag "-c'2'".

 

/usr/sbin/mklv -y'lv_nome' -t'jfs2' -c'2' -L'/pto_montagem' rootvg 30 hdisk0 hdisk1
/usr/sbin/crfs -v jfs2 -d'lv_nome' -m'/pto_montagem' -A''`locale yesstr | awk -F: '{print $1}'`'' -p'rw' -a agblksize='4096'
mount /pto_montagem

 

 

 

Listar placas de fibra X WWN X Location e efetua teste de conexão

 

lsdev -Cc adapter |grep fcs |awk '{print $1}' |while read a
do
lscfg -vpl |grep -i netw |read b
lscfg -vpl |grep -i locati |grep -vi physic |read c
fcstat |grep -i running |read d
fcstat |grep -i "port type" |read e
echo
done

 

 

 

Adicionando logical volume do tipo dump

 

sysdumpdev -P -s'/dev/sysdumpnull' (define primeiro device como vazio)
sysdumpdev -P -p'/dev/sysdumpnull' (define segundo device como vazio)
/usr/sbin/rmlv -f 'lg_dumplv' (remove os devices padrão)
/usr/sbin/rmlv -f 'lg_dumplv2' (remove os devices padrão)
/usr/sbin/mklv -y'lv_dump00' -t'sysdump' rootvg 4 hdisk0 (define lv de dump com 4 PPs em disco 0)
/usr/sbin/mklv -y'lv_dump01' -t'sysdump' rootvg 4 hdisk1 (define lv de dump com 4 PPs em disco 1)
sysdumpdev -P -p'/dev/lv_dump00' (defini primeiro device criado)
sysdumpdev -P -s'/dev/lv_dump01' (defini segundo device criado)
sysdumpdev '-K' (define pra sempre fazer coleta de dump)

 

 

 

Espelhando o rootvg

 

-Verifique quantos discos o rootvg possui

lspv |grep rootvg
hdisk0          00ceb4645823e0ac                    rootvg          active
hdisk1          00ceb46458fbeb33                    None

-Caso mostre a saída acima, adicione um disco ao rootvg. Caso contrário, pule para o passo de baixo;

extendvg rootvg hdisk1

-execute o comando de espelhamento

mirrorvg rootvg

-crie área de boot nos discos do rootvg

bosboot -ad hdisk0

bosboot -ad hdisk1

-Configure a ordem de boot

bootlist -m normal hdisk0 hdisk1

 

 

 

Criando arquivos definindo o seu tamanho

 

lmktemp nome_do_arquivo tamanho

ex: lmktemp teste.txt 100M

 

 

 

Temporizando a execução de um comando

 

time comando

ex: time cp -rp /home/usuario1/teste.txt /temp

 

 

 

Verificando integridade dos filesets instalados no AIX

 

lppchk -v

lppchk -c

 

 

 

Desabilitando o IPV6 do loopback

 

-Execute o comando 'ifconfig -a' e repare que o lo0 está com IPV6 habilitado

servidora@root:/root # ifconfig -a

en0: flags=1e080863,c0

        inet 172.28.132.15 netmask 0xfffffc00 broadcast 172.28.135.255

         tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0

lo0: flags=e08084b

        inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255

        inet6 ::1/0

         tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1

 

-Retire o IPV6 com o comando abaixo

ifconfig lo0 inet6 ::1/0 delete

 

-Retire o IPV6 permanentemente para que o próximo não apareça no loopback. Execute o vi no

arquivo /etc/netsvc.conf e substitua o conteúdo de "hosts =" por "hosts = local4,bind4"

 

 

 

Migrando LV para o mesmo ou para outro VG mantendo o mesmo nome

 

-Criando filesystem nova

/usr/sbin/mklv -y'lv_teste_new' -t'jfs2' -L'/teste_new' nomevg numeroPP

/usr/sbin/crfs -v jfs2 -d'lv_teste_new' -m'/teste_new' -A''`locale yesstr | awk -F: '{print $1}'`'' -p'rw' -a agblksize='4096'

mount /teste_new

 

-Copiando os dados no destino

cd /teste

find . -print | cpio -pdl /teste_new

 

-Renomeando a atual filesystem para old

umount /teste

/usr/sbin/chlv -n'lv_teste_old' lv_teste

/usr/sbin/chfs -m'/teste_old' /teste

mount /teste_old

 

-Renomeado a nova filesystem para a original

umount /teste_new

/usr/sbin/chlv -n'lv_teste' lv_teste_new

/usr/sbin/chfs -m'/teste' /teste_new

mount /teste

 

 

 

Corrigindo problema ao tentar montar filesystem

 

-Caso ocorra o erro abaixo ao tentar montar um filesystem, verifique as atribuições do filesystem

mount: 0506-324 Cannot mount /dev/lv00 on /filesystem06:

A system call received a parameter that is not valid.

 

-Verifique a consistência do filesystem com o comando getlvcb

# getlvcb -AT fslv00

AIX LVCB

intrapolicy = m

copies = 2

interpolicy = m

lvid = 0007b53c00004c00000001122a1ec0fd.2

lvname = fslv00

label = /myfilesystem

machine id = 7B53C4C00

number lps = 4

relocatable = y

strict = y

stripe width = 0

stripe size in exponent = 0

type = jfs2

upperbound = 32

fs = vfs=jfs2:log=/dev/loglv00:options=rw:account=false

time created = Fri May 4 08:46:00 2007

time modified = Mon May 21 15:04:24 2007

 

-Verifique o superblock do filesystem

# lsfs -q /myfilesystem

Name Nodename Mount Pt VFS Size Options Auto Accounting

/dev/fslv00 -- /myfilesystem jfs2 524288 rw no no

(lv size: 524288, fs size: 524288, block size: 4096, sparse files: yes, inline log: no, inline log size: 0,

 

-ou

# lsjfs2 /myfilesystem

#MountPoint:Device:Vfs:Nodename:Type:Size:Options:AutoMount:Acct:OtherOptions:LvSize:FsSize:

BlockSize:Sparse:InlineLog:InlineLogSz:Reserved:Reserved:DMAPI:VIX:

/myfilesystem:/dev/fslv00:jfs2:::524288:rw:no:no::524288:524288:4096:yes:no:0:0:0:no:no:

 

-Faça checagem na instância deste filesystem no arquivo /etc/filesystems

# grep -p /myfilesystem /etc/filesystems

/myfilesystem:

dev = /dev/fslv00

vfs = jfs2

log = /dev/loglv00

mount = false

options = rw

account = false

 

-verifique também se o logical volume log atribuído a este filesystem corresponde ao tipo de fs que ele é: jfs ou jfs2

lslv loglv00

 

 

 

Cofigurando pro SO resolver nomes primeiro pelo /etc/hosts e depois pelo servidor de DNS

 

Coloque dentro do arquivo /etc/environment a variável abaixo e em seguida export esta variável

vi /etc/environment

NSORDER=local,bind

export NSORDER=local,bind

 

 

 

Verificando fileset faltante

 

Ao verificar se todos os filesets estão instalados de acordo com a versão do TL, executando o comando "instfix -i |grep AIX", pode aparecer o erro abaixo:

 

All filesets for 5.3.0.0_AIX_ML were found.
All filesets for 5300-01_AIX_ML were found.
All filesets for 5300-02_AIX_ML were found.
All filesets for 5300-03_AIX_ML were found.
All filesets for 5300-04_AIX_ML were found.
All filesets for 5300-05_AIX_ML were found.
All filesets for 5300-06_AIX_ML were found.
All filesets for 5300-07_AIX_ML were found.
All filesets for 5300-08_AIX_ML were found.
All filesets for 5300-09_AIX_ML were found.
Not all filesets for 5300-10_AIX_ML were found.

 

Execute o comando abaixo pra verificar o(s) fileset9s) faltante(s):

 

instfix -ick 5300-10_AIX_ML |grep :-:
5300-10_AIX_ML:Java5.sdk:5.0.0.225:5.0.0.125:-:AIX 5300-10 Update

 

No caso acima é necessário instalar o java5 na versão 225 para o sistema ficar no nível correto.

 

 

 

Criando espelhamento do rootvg

 

Execute o seguinte comando dentro do AIX de origem:

alt_disk_copy -BOVd hdisk3,

 

Onde :

B- Não executa o bootlist após o término da cópia

O- Efetua um reset de devices no disco de destino. Serve para o servidor de destino não levar nenhuma configuração de device.

V- Habilita o modo para acompanhamento da instalação

d- Especifica o(s) disco(s) de destino. Se o servidor de origem tiver dois discos no rootvg, então o comando deve ser: alt_disk_copy -BOVd "hdisk3 hdisk4"

 

 

 

Aumentando a quantidade de PP's por disco em um Volume Group

 

Possivelmente algum dia, você precisará incluir um disco em um volume group que seja maior que os outros discos já existentes nesse volume group. E provavelmente você se deparará com o erro abaixo:

 

0516-1162 extendvg: Warning, The Physical Partition Size of 64 requires the creation of 1920 partitions for hdiskx.  The limitation for volume group rootvg is 1016 physical partitions per physical volume.  Use chvg command with -t option to attempt to change the maximum Physical Partitions per Physical volume for this volume group.

 

Para evitar esse problema, você deverá aumentar o fator que defini a quantidade máxima de PP's por hdisks. Verifique na tabela abaixo:

 

Fator / PP por disco / Nº max discos por VG
1 / 1016 / 32
2 / 2032 / 16
3 / 3048 / 10
4 / 4064 / 8
5 / 5080 / 6
6 / 6096 / 5
7 / 7112 / 4
8 / 8128 / 4
16 / 16256 / 2

 

Repare na tabela que o fator número 2 já atende a necessidade do problema. Na saída do problema é reportado que para adicionar o disco, é necessário que tenha 1920 PP's, mas só é permitido 1016. O fator 2 altera para 2032 PP's por disco. Para alterar basta executar o comando abaixo com o volume group mesmo no ar:

 

chvg -t 2 rootvg

 

 

 

Deslocação de recursos NIM com problema

 

Há situações onde é necessário remover algum recurso do NIM, porém o mesmo não é removido, pois reporta que está sendo utilizando por algum client NIM, como segue a mensagem abaixo:

 

0042-001 nim: processing error encountered on "master":
   0042-061 m_rmspot: the "spot1" resource is currently
        allocated for client use

 

Mesmo executando um reset através no smit o problema persiste. Segue abaixo uma dica para"resetar" e "desalocar" todos os recursos de todos os clients:

 

lsnim -t standalone |awk '{print $1}' |while read a
do
nim -o reset -a force=yes $a
nim -Fo deallocate -a subclass=all $a
done

 

 

 

Criando logical volume do tipo raw device

 

klv -t raw -y nome_lv nome_vg 1600

 

Onde: 1600 é o número de PP's.

Depois pode-se utilizar essa LV do tipo raw para criar volumes do tipo disk no TSM: define volume nome_stg /dev/rnome_lv.

 

 

 

NIM Server: Cadastrando clients, criando images e spots em massa:


Antes de executar o comando verifique qual é a rede de acesso para os clients:

lsnim -c networks
net01            networks       ent
ent-Network1     networks       ent

lsnim -l ent-Network1
ent-Network1:
   class      = networks
   type       = ent
   comments   = Generated during definition of servidor
   Nstate     = ready for use
   prev_state = information is missing from this object's definition
   net_addr   = 10.0.0.0
   snm        = 255.0.0.0
   routing1   = default 10.0.0.1



Se a rede acima pertencer a rede dos clients que você quer cadastrar, altere o valor no parâmetro if1 para "ent-Network1 0" conforme script abaixo:


for i in 61 62 63 64 65 66 68
do  
nim -o define -t standalone -a platform=chrp -a netboot_kernel="64" -a if1="ent-Network1 servidor$i 0" -a cable_type1="tp" -a connect=nimsh servidor$i
done


Images:



for i in 61 62 63 64 65 66 67 68
do
nim -o define -t mksysb -a server=master -a location=/export/mksysb/mksysb_ubr0$i_2 -a mk_image=yes -a source=ubr0$i mksysb_ubr0$i_2
done


Spots:


for i in 61 62 63 64 65 66 67 68
do
nim -o define -t spot -a server=master -a location=/export/spot -a source=servidor$i servidor$i
done