Category Archives: comandos

IBM VIO server: Como identificar qual o vhost de uma lpar no VIO

Dada uma lpar já configurada no VIO server, como você identifica qual é o vhost dessa lpar?

Num cenário com 2 VIO servers, foovio1 e foovio2, e utilizando a HMC, veja como fazer para identificar qual o vhost da sua lpar, foolpar:

1 – Na HMC:

> lssyscfg -r lpar -m [system] -F name,lpar_id,default_profile,curr_profile |grep foolpar
foolpar,7,foolpar,foolpar
> lssyscfg -r prof -m [system] --filter "lpar_ids=X"
name=foolpar,lpar_name=foolpar,lpar_id=7,lpar_env=aixlinux,all_resources=0,min_mem=8192,desired_mem=24576,
max_mem=32768,min_num_huge_pages=0,desired_num_huge_pages=0,max_num_huge_pages=0,proc_mode=shared,min_proc_units=1.75,
desired_proc_units=3.5,max_proc_units=7.0,min_procs=2,desired_procs=4,max_procs=8,sharing_mode=uncap,uncap_weight=128,
io_slots=none,lpar_io_pool_ids=none,max_virtual_slots=400,
"virtual_serial_adapters=0/server/1/any//any/1,1/server/1/any//any/1",

"virtual_scsi_adapters=107/client/97/foovio1/107/0,207/client/98/foovio2/207/0",

"virtual_eth_adapters=20/0/20//0/0,21/0/21//0/0,11/0/11//0/0,30/0/30//0/0",hca_adapters=none,boot_mode=norm,conn_monitoring=1,
auto_start=0,power_ctrl_lpar_ids=none,work_group_id=none,redundant_err_path_reporting=1
  • [system] É o nome do frame, da máquina física.
  • X é o id da lpar (identificado no primeiro comando acima, na HMC)

No “virtual_scsi_adapters” você consegue ver qual o virtual adpater de cada VIO server. No caso:

foovio1: 107
foovio2: 207

2 – Nos VIO servers:

foovio1

>  /usr/ios/cli/ioscli lsmap -all |egrep -e "0x0000000Y|C107"
vhost8          U9115.570.06BCXD0-V97-C107                   0x0000000Y
  • Y é o id da lpar (identificado no primeiro comando acima, na HMC)

foovio2

>  /usr/ios/cli/ioscli lsmap -all |egrep -e "0x0000000Y|C207"
vhost6          U9115.570.06BCXD0-V94-C207                   0x0000000Y
  • Y é o id da lpar (identificado no primeiro comando acima, na HMC)
  • OBS: Você usa o  /usr/ios/cli/ioscli se estiver como root. Se estiver como padmin, não use essa parte do comando.

O vhost da lpar no vio está identificado nos dois vio servers.

Aix, Solaris e Linux: Como identificar o MAC address da placa de rede

Para verificar o MAC address da placa de rede no AIX, Solaris e Linux:

Aix:

Comando lscfg, veja o “Network address”:

# lscfg -vl ent1
  DEVICE            LOCATION          DESCRIPTION

  ent1              60-58             Gigabit Ethernet-SX PCI Adapter
                                      (14100401)

        Network Address.............0004AC7CE7BC
        Displayable Message.........Gigabit Ethernet-SX PCI Adapter
                                    (14100401)
        EC Level....................E77671
        Part Number.................41L6596
        FRU Number..................07L8276
        Device Specific.(YL)........U0.2-P1-I1/E1

Solaris:

Comando ifconfig, veja o “ether”:

# ifconfig -a
le0: flags=863 mtu 1500
        inet 131.225.80.209 netmask fffff800 broadcast 131.225.87.255
        ether 8:0:20:10:d2:ae

Linux:

Comando ifconfig, veja o “HWaddr”:

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:60:08:C4:99:AA
          inet addr:131.225.84.67  Bcast:131.225.87.255  Mask:255.255.248.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:15647904 errors:0 dropped:0 overruns:0
          TX packets:69559 errors:0 dropped:0 overruns:0
          Interrupt:10 Base address:0x300

Referência:

  1. How to find your mac address
  2. AIX – lscfg command reference
  3. Solaris – ifconfig command man page
  4. Linux – ifconfig man page

Aix – Como ver o histórico de instalação de um pacote (fileset)

No sistema operacional AIX, para ver o histórico de instalação de um pacote (fileset) utiliza-se o comando lslpp com a opção -h:

No exemplo abaixo, o histórico de instalação de um dos pacotes do DB2:

# lslpp -h db2_08_01.cj
  Fileset         Level     Action       Status       Date         Time
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  db2_08_01.cj
                 8.1.1.80   COMMIT       COMPLETE     06/15/08     10:46:23
                8.1.1.128   COMMIT       COMPLETE     06/24/09     15:48:40
                8.1.1.152   COMMIT       COMPLETE     10/21/09     12:30:59
                8.1.1.160   APPLY        COMPLETE     01/17/10     16:40:11

Referência:

  1. Man page do comando lslpp (Para AIX V 5.3): http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds3/lslpp.htm

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: