Category Archives: lvm (logical volume manager)

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:

 

Aix – Como renomear um filesystem

Receita básica sobre como renomear um filesystem no Aix:

1 – Desmonte o filesystem
2 – Renomeie-o
3 – Monte o filesystem com novo nome

Para renomear utilize o comando chfs:

chfs -m [new filesystem name] [old filesystem name]

Referência:

Man page do comando chfs: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds1/chfs.htm

AIX – Backup de um VG usando savevg

Caso deseje-se fazer o backup de um VG inteiro, pode-se utilizar o comando savevg no AIX.

Será criada uma imagem do VG, que pode ser restaurada caso necessário.

Antes de fazer o backup via savevg, defina os limites para unlimited, de modo a garantir que o backup seja criado mesmo que o tamanho exceda 2 GB:

ulimit -f unlimited 
ulimit -d unlimited 

-f: limite de tamanho de arquivo
-d: limite de tamanho da área de dados

Execute o comando savevg. Abaixo segue um exemplo com algumas opções:

/usr/bin/savevg  -f/path/nomedoarquivo -i -m -e -X nomedovg

-f: nome do arquivo
-i: cria o arquivo de dados chamando o comando mkvgdata
-m: adiciona as informações de mapa do VG
-e: exclui arquivos definidos no /etc/exclude.nomedovg
-X: expande automaticamente o /tmp caso necessário.

Exemplo:

$ /usr/bin/savevg  -f/mnt/foo-20080811.foovg -i -m -e -X foovg
Creating information file for volume group foovg..
Creating list of files to back up.
Backing up 27958 files.................
27958 of 27958 files (100%)
0512-038 savevg: Backup Completed Successfully.
$

$ ls -l /mnt/fooserver-20080811.foovg
-rw-r-----   1 nobody   nobody   1246566400 Jun 18 14:10 /mnt/foos-20080811.foovg
$

 

Referência:

Listando o espaço livre de um VG (Volume Manager Aix e Veritas)

Para verificar espaço em disco livre num volume group, execute os seguintes comandos, para Veritas e Aix respectivamente:

Veritas:

# vxdg -g bootdg free
DISK         DEVICE       TAG          OFFSET    LENGTH  FLAGS
rootdg01     c0t0d0s2     c0t0d0       18837360 51408000  -

O valor de LENGTH está em blocos de 512-bytes e representa o espaço livre no DG(VG) bootdg.

Aix:

# lsvg rootvg
VOLUME GROUP:   rootvg                   VG IDENTIFIER:  00011824bd4eef54
VG STATE:       active                   PP SIZE:        16 megabyte(s)
VG PERMISSION:  read/write               TOTAL PPs:      1084 (17344 megabytes)
MAX LVs:        256                      FREE PPs:       376 (6016 megabytes)
LVs:            20                       USED PPs:       708 (11328 megabytes)
OPEN LVs:       17                       QUORUM:         2
TOTAL PVs:      2                        VG DESCRIPTORS: 3
STALE PVs:      0                        STALE PPs:      0
ACTIVE PVs:     2                        AUTO ON:        yes
MAX PPs per PV: 1016                     MAX PVs:        32

No comando acima em FREE PPs está listado o espaço livre no VG em número de PPs e megabytes.

Referência:

AIX – Espelhamento do rootvg

O AIX permite que se faça o espelhamento de um VG (volume group) pelo sistema operacional. O VG que contém o sistema operacional é chamado de rootvg. O espelhamento do rootvg é importante para garantir a disponibilidade do sistema operacional oferecendo segurança dos dados.

Situações onde pode-se quere fazer o espelhamento do rootvg são, por exemplo, novas instalações ou após a troca de um disco com problema.

Seguem abaixo os passos para fazer o espelhamento do rootvg em sistemas AIX.

1 – Verificar os discos

 # lspv
hdisk0          0000699fde553fc9                    rootvg          active
hdisk1          0000699f2f5a53d1                    None

2- Incluir o novo disco no rootvg

# extendvg rootvg hdisk1

3 – Espelhar o rootvg

# mirrorvg rootvg
0516-1124 mirrorvg: Quorum requirement turned off, reboot system for this to take effect for rootvg.
0516-1126 mirrorvg: rootvg successfully mirrored, user should perform
bosboot of system to initialize boot records.  Then, user must modify bootlist to include:  hdisk1 hdisk0.

4 – Sincronizzar as cópias

# syncvg -v rootvg

Ou:

# varyonvg rootvg

OBS: Este passo é importantíssimo para garantir a integridade dos dados. Caso não seja executado, o sistema pode ser comprometido.

5 – Escrever a área de boot nos dois discos pertencentes ao rootvg:

# bosboot -ad /dev/hdisk1
bosboot: Boot image is 19173 512 byte blocks.

# bosboot -ad /dev/hdisk0
bosboot: Boot image is 19173 512 byte blocks.

6 – Acertar a bootlist(1)

6.1- verificar a bootlist:

 # bootlist -m normal -o 
hdisk0

6.2 – Configurar a bootlist:

 # bootlist -m normal hdisk0 hdisk1

6.3 – Verificar a nova bootlist:

# bootlist -m normal -o
hdisk0
hdisk1

(1) bootlist: lista de boot do sistema operacional. Nela configuramos os devices onde o sistema buscará pelo boot durante a inicialização. Devices como CD (cd0) e fita (rmt0) são comunmente adicionados também.

Referência:

Para saber mais sobre LVM em AIX:

AIX Logical Volume Manager from A to Z: Introduction and Concepts: http://www.redbooks.ibm.com/abstracts/sg245432.html?Open