Filesystem LVM

O intuito deste artigo é mostrar algumas funcionalidades do LVM. Sei que na Internet, e aqui mesmo no site, temos ótimos artigos. A minha intenção é agregar mais informações sobre seu uso.

[ Hits: 13.072 ]

Por: Faustino em 04/05/2016


Substituindo um disco defeituoso com o PVMOVE



Todos os discos devem ter o mesmo tamanho que o volume original e o disco deve ter sido preparado com fdisk. Após o disco preparado iremos colocar ele dentro do mesmo VG que o disco defeituoso.

Inicialmente vamos listar todos os vgs existentes.

# vgs
  VG        #PV #LV #SN Attr   VSize    VFree
  VolGroup    1   2   0 wz--n-   29.51g      0
  backup_VG   1   1   0 wz--n-   15.99g 504.00m
  nv_vg       1   1   0 wz--n- 1016.00m 116.00m
  user_vg     2   1   0 wz--n-    1.98g   1.50g

Depois que listamos todos os VGS e sabemos o exatamente o nome do VG será necessário listar todos os discos existentes no VG para isso usamos o comando.

# vgdisplay -v backup_VG
    Using volume group(s) on command line
    Finding volume group "backup_VG"
  --- Volume group ---
  VG Name               backup_VG
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               15.99 GiB
  PE Size               4.00 MiB
  Total PE              4094
  Alloc PE / Size       3968 / 15.50 GiB
  Free  PE / Size       126 / 504.00 MiB
  VG UUID               3iqeMN-P8HK-3uXA-8ihu-fqWs-04Om-JvaqP8

  --- Logical volume ---
  LV Path                /dev/backup_VG/backup_LV
  LV Name                backup_LV
  VG Name                backup_VG
  LV UUID                hSRf7H-ivRV-bukV-lgD7-c4rC-FRAg-mBsMX8
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-04-22 03:32:58 -0300
  LV Status              available
  # open                 1
  LV Size                15.50 GiB
  Current LE             3968
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

  --- Physical volumes ---
  PV Name               /dev/sdj1
  PV UUID               9F83S6-i0mI-A4LY-1g5Z-WPJs-adXn-weKscP
  PV Status             allocatable
  Total PE / Free PE    4094 / 126

Na saída vamos procurar o item "Physical volumes e PV name", aqui temos o disco que será substituído.

Sabendo qual disco vamos substituir vamos começar o preparo do novo disco, vamos preparar o disco para o LVM.

# pvcreate /dev/sdi1
  Physical volume "/dev/sdi1" successfully created

E agora vamos adicionar o disco no mesmo VG que o disco defeituoso está.

# vgextend backup_VG /dev/sdi1
  Volume group "backup_VG" successfully extended

Vamos usar novamente o comando "vgdisplay -v nome do VG":

# vgdisplay -v backup_VG
    Using volume group(s) on command line
    Finding volume group "backup_VG"
  --- Volume group ---
  VG Name               backup_VG
  System ID
  
  Alloc PE / Size       3968 / 15.50 GiB
  Free  PE / Size       4220 / 16.48 GiB
  VG UUID               3iqeMN-P8HK-3uXA-8ihu-fqWs-04Om-JvaqP8

  --- Logical volume ---
  LV Path                /dev/backup_VG/backup_LV
  LV Name                backup_LV
  VG Name                backup_VG
    # open                 1
  LV Size                15.50 GiB
  Block device           253:2

  --- Physical volumes ---
  PV Name               /dev/sdj1
  PV UUID               9F83S6-i0mI-A4LY-1g5Z-WPJs-adXn-weKscP
  PV Status             allocatable
  Total PE / Free PE    4094 / 126

  PV Name               /dev/sdi1
  PV UUID               5z9suk-k78C-sfB4-07eb-pN4i-y8UJ-qARrRt
  PV Status             allocatable
  Total PE / Free PE    4094 / 4094

Como pode ser visto acima o novo disco foi entregue ao LVM com sucesso, agora vamos usar o PVMOVE:

pvmove origem destino

# pvmove /dev/sdj1 /dev/sdi1
  /dev/sdj1: Moved: 0.1%
  /dev/sdj1: Moved: 15.0%
  /dev/sdj1: Moved: 33.9%
  /dev/sdj1: Moved: 48.7%
  /dev/sdj1: Moved: 62.0%
  /dev/sdj1: Moved: 73.7%
  /dev/sdj1: Moved: 84.4%
  /dev/sdj1: Moved: 96.4%
  /dev/sdj1: Moved: 100.0%

É possível acompanhar o processo usando o comando "lvs -a -o+devices". Para isso, abra uma nova sessão e execute esse comando:

# lvs -a -o+devices
  LV        VG        Attr       LSize   Pool Origin Data%  Move   Log Cpy%Sync Convert Devices
  lv_root   VolGroup  -wi-ao----  27.54g       /dev/sda2(0)
  lv_swap   VolGroup  -wi-ao----   1.97g       /dev/sda2(7050)
  backup_lv backup_vg -wI-ao----  15.50g       pvmove0(0)
  [pvmove0] backup_vg p-C-aom---  15.50g       /dev/sdj1     19.05   /dev/sdj1(0),/dev/sdi1(0)
  nv_lv     nv_vg     -wi-a----- 900.00m       /dev/sde1(0)
  user01LV  user_vg   -wi-ao---- 500.00m       /dev/sdf1(0)

Após a conclusão do pvmove é hora de remover o(s) disco(s):

# vgreduce backup_vg /dev/sdj1
  Removed "/dev/sdj1" from volume group "backup_vg"

# vgdisplay -v backup_vg
    Using volume group(s) on command line
    Finding volume group "backup_vg"
  --- Volume group ---
  VG Name               backup_vg
  System ID
  Format                lvm2
  VG Status             resizable
  MAX LV                0
  VG Size               15.99 GiB
  Alloc PE / Size       3968 / 15.50 GiB
  Free  PE / Size       126 / 504.00 MiB
  VG UUID               LQFZnI-NpPq-OzX0-ZX2R-dGh6-QHau-Mc9joG

  --- Logical volume ---
  LV Path                /dev/backup_vg/backup_lv
  LV Name                backup_lv
  VG Name                backup_vg
  LV Size                15.50 GiB
  Current LE             3968
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

  --- Physical volumes ---
  PV Name               /dev/sdi1
  PV UUID               UiYaDq-7kXf-8eqX-3KIB-jbl6-eQ5R-cHgkwZ
  PV Status             allocatable
  Total PE / Free PE    4094 / 126

E por último removeremos de toda a estrutura LVM usando o comando abaixo:

# pvcreate /dev/sdj1 Physical volume "/dev/sdj1" successfully created Como pode ser visto acima o disco foi removido do servidor.

Página anterior     Próxima página

Páginas do artigo
   1. Conceito
   2. Criando filesystem
   3. Substituindo um disco defeituoso com o PVMOVE
   4. Entendendo o que é o Stripe
Outros artigos deste autor

Configurações Básicas no CentOS 7

Stripe no LVM

Leitura recomendada

Restaurar arquivo ou diretório apagado em file system ext3

Criando um servidor CVS

Instalando Linux em segundo HD IDE, Sata, USB ou Pendrive

Ubuntu com Criptografia Total + Snapper

NTFS-3g: Leitura e gravação em NTFS com segurança? Ainda não!

  
Comentários
[1] Comentário enviado por removido em 25/05/2016 - 10:01h

Bom dia
Pergunta o pvmove destroi os dados do disco ? ou ele migra os dados tambem ou possui perda de dados .

Voce poderia usar tambem o lvconvert , de resto parabens !)

[2] Comentário enviado por Faustoncc1701 em 26/05/2016 - 05:20h

Clandestine eu já usei este comando em ambiente de produção e ele faz a cópia de todos os dados do disco que vc apontar.
Eu nunca tentei fazer o rollback do pvmove mas acredito que os dados ainda estão íntegros se o disco estiver íntegro.

Eu nunca usei o lvconvert irei verificar o seu funcionamento
Fausto
Diga-me Eu não posso e eu vou te mostrar que eu posso ...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts