Category Archives: administração de sistemas

Como suprimir uma mensagem do log de erro no AIX

O sistema operacional AIX tem um sistema de logs de erro, chamado em inglês de error log, que acessamos através do comando errpt.

Há situações onde o sistema operacional está reportando erros que queremos suprimir desse sistema de logs como por exemplo:

  • O sistema de logs está sendo inundado por um log que reporta um problema que está planejado pra ser resolvido.
  • O log não representa um problema, pois é consequência de algum bug do AIX e você quer removê-lo do log até que a IBM corrija o bug e você aplique a correção.
  • O log até representa um problema, mas por algum motivo sua empresa decidiu conviver com ele e ele não será resolvido em curto prazo.

Enfim, há diversos cenários onde pode ser desejável suprimir  uma certa mensagem de erro. Frequentemente o sistema de logs de erro é monitorado e gera alertas, incidentes e não queremos ter alertas e incidentes que por qualquer motivo não serão tratados ou já tem sua solução programada.

Continue reading Como suprimir uma mensagem do log de erro no AIX

Unix: Como substituir letra maiúscula por minúscula em um arquivo

Para converter letras maiúsculas em letras minúsculas em um arquivo em sistemas Unix, pode-se usar o comando tr com a sintaxe a seguir:

tr '[:upper:]' '[:lower:]' < [arquivo] > [novoarquivo]

O comando tr pode ser usado para diversas outras manipulações de caracteres. Para mais informações consulte a man page do comando: man tr

O link a seguir tem mais informa̵̤es sobre o comando tr no AIX 7: AIX 7 РHelp Information РCommands Рtr

 

Opção “-xdev” do comando find

Como listar os maiores arquivos de um diretório ou filesystem excluindo outros filesystems montados abaixo deste?

É um problema localizar os maiores arquivos de um filesystem quando temos outros filesystems montados. Se estou com o filesystem /var com alto percentual de ocupação e preciso localizar quais os maiores arquivos que estão causando o problema, devo ler os arquivos deste filesystem mas ignorar os que estão sobre outros filesystems, por exemplo se eu tiver um /var/local.

Para isso, o comando find tem uma opção muito boa chamada -xdev. Ela considera apenas o filesystem especificado no path  do comando find.

Da man page:

-xdev: Always evaluates to the value True. Prevents the find command from traversing a file system different from the one specified by the Path parameter.

Exemplo:

Listar os 20 maiores arquivos dentro do filesystem /var:

find /var -xdev -type f -ls |sort -n +6 | tail -20

Observação: No Solaris pode-se usar a opção -xdev ou -mount.

Referências:

Aix – mksysb – Como restaurar parte do backup (restore parcial)

É possível restaurar apenas um arquivo, diretório ou filesystem a partir de uma imagem feita do sistema operacional através do utilitário mksysb.

Para se restaurar a partir de um backup mksysb, usamos o comando restore.

restore -xvqf [arquivo mksysb ou device] [./diretorio ou arquivo a ser restaurado]

Da man page do comando restore:

-x:  Restores individually named files specified by the File parameter.
-q:  Specifies that the first volume is ready to use and that the restore command should not prompt you to mount the volume and hit Enter. If the archive spans multiple volumes, the restore command prompts you for the subsequent volumes.
-v:  Displays additional information when restoring.
-f Device: Specifies the input device.

Para apenas listar o conteúdo do backup, usa-se a opção “-T”:

# restore -Tvqf [arquivo  de bkp mksysb]

Segue abaixo um exemplo:

#ls -l |grep -i foo
-rw-r-----   1 root     system   3201126400 Sep 12 11:17 foo-20080912.mksysb

Restaurando o arquivo /var/adm/wtmp:

#restore -xvqf foo-20080912.mksysb ./var/adm/wtmp
New volume on foo-20080912.mksysb:
Cluster size is 51200 bytes (100 blocks).
The volume number is 1.
The backup date is: Fri Sep 12 10:43:27 CED 2008
Files are backed up by name.
The user is root.
x         3240 ./var/adm/wtmp
The total size is 3240 bytes.
The number of restored files is 1.
#

O arquivo, diretório ou filesystems deve ser especificado com o caminho relativo (./).

Referência:

  1. FixUnix.com – Unix Linux Forums, mksysb restore: http://fixunix.com/aix/84975-mksysb-restore.html
  2. IBM Information Center – Restoring a file from the second image or tape: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.install/doc/insgdrf/mysysb_restore_from_second_image.htm
  3. Comando restore: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds4/restore.htm&tocNode=toc:front/front.cmb/0/0/2/0/17/47/

Aix – LVM – Alguns comandos básicos

Escrevi aqui alguns comandos básicos com as principais opções para criar logical volumes (lv) e filesystems (fs), bem como espelhá-los e remover o espelhamento.

Todas essas ações podem também ser feitas através do smit.

1. Criando um novo logical volume:

Para criar um novo logical volume usamos o comando mklv:

mklv -y [nome lv] -t [tipo FS] -c [número de cópias] [nome do VG] [número de PPs]  hdiskX hdiskY

Ex:

# mklv -y lv_teste -t jfs2 -c 2 testevg 25 hdisk2 hdisk3

2. Extendendo um logical volume:

Para extender um logical volume usamos o comando extendlv:

/usr/sbin/extendlv [nome lv] [num de PPs] hdiskX hdiskY

Ex:

# /usr/sbin/extendlv lv_teste 10 hdisk2 hdisk3

3. Espelhando um logical volume:

Para espelhar um logical volume usamos o comando mklvcopy:

mklvcopy [nome lv] [número de cópias] 2 hdiskX hdisk1Y hdiskZ

Ex:

# mklvcopy lv_teste 2 hdisk4 hdisk5

4. Removendo uma das cópias de um logcal volume:

Para remover o espelhamento de um logical volume usamos o comando rmlvcopy:

rmlvcopy [nome lv] [número de cópias] hdiskX hdiskY

Ex:

# rmlvcopy lv_teste 1 hdisk2 hdisk3

5. Sincronizando as cópias do logical volume:

Após espelhar um logical volume, as cópias ficarão em status stale e não sync. Para sincronizar as cópias, usamos o comando syncvg:

lsvg -l [nome do vg] |grep [nome do lv]

Ex:

# lsvg -l testevg |grep lv_teste
testevg:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
lv_teste                jfs2             25   50       4     open/stale    /teste

Para sincronizar, usar o comando syncvg. Com a opção “-l” especifica-se o nome do LV e com a opção “-g”, o nome do VG.

syncvg -l [nome do lv]

Ex:

# syncvg -l lv_teste

6. Criando um filesystem

Para criar um filesystem, usamos o comando crfs:

crfs -v [tipo fs] -d [nome do lv] -m [mount-point] -A [yes/no]

Ex:

# crfs -v jfs2 -d lv_teste -m /teste -A yes
File system created successfully.
1048340 kilobytes total disk space.
New File System size is 2097152

Observação: É possível usar a opção “-g” no lugar de “-d”. Com o “-g” especifica-se o nome do VG ao invés do LV. Dessa forma o Aix define um nome padrão para o LV. Ficaria: -g [vg name]

A opção -A define se o filesystem é montado automaticamente no boot (yes) ou não (no).

 

Referência:

Documentação sobre o Logical Volume Manager do Aix pode ser encontrada:

  1. Logical Volume Manager: http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.baseadmn/doc/baseadmndita/lvm.htm&resultof=%22lvm%22%20&searchQuery=lvm&searchRank=2&pageDepth=0
  2. IBM Redbooks:

 

VIO – Como executar comandos do padmin como root

É muito útil poder executar comandos do usuário padmin estando como usuário root no VIO.

Além de prático, pois não precisa ficar ir e voltando entre os usuários, permite que se faça scripts integrando os comandos como o que foi publicado aqui anteriormente sobre “Como verificar discos livres (não mapeados) e listar seu tamanho”.

Para executar qualquer comando do usuário padmin como root coloque /usr/ios/cli/ioscli antes do comando:

/usr/ios/cli/ioscli [comando]

Referência:

  1. VIO Server Howto: http://www.unixwerk.eu/aix/ios-howto.html