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