Sabe o que é LVM – Logic Volume Manager?

8 Comentários

Por Luís Ribeiro do IPGuarda para o Pplware

Logic Volume Manager é uma ferramenta disponível no kernel do Linux para gestão de volumes lógicos. Ao originar uma camada de abstracção sobre o armazenamento físico, faz com que a criação e gestão de volumes lógicos seja mais flexível e dinâmica.

Existem três componentes fundamentais na estrutura LVM: Physcal Volumes (PVs), Volume Groups (VGs) e Logical Volumes (LVs).

Dard Disk

Como se observa, os PVs (physical volumes) são a base e representam os discos físicos. Os PVs são combinados em VGs (volume groups) de modo a formar uma pool de storage. Por sua vez, sobre os VGs, criam-se os LVs (logic volumes) e a estes podem ser atribuídos sistemas de ficheiros (ext3, ext4…) e associados mount points.

10268178_640193726073479_1680946466_n

Algumas vantagens:
  • Redimensionamento sem necessidade de refazer as partições.
  • Nomes dos dispositivos personalizados pelo utilizador.
  • Disk Striping, para aumento das velocidades de leitura e escrita (maior performance I/O).
  • Mirroring volumes, para redundância dos dados.
  • Volume Snapshots, para backups consistentes ou para testar alterações sem afectar os dados reais.

Possui também a vantagem de guardar as configurações em forma de metadata no header dos discos, para que caso se reinstale o sistema operativo ou se migrem os discos para outra máquina, os logic volumes serem reconhecidos sem que seja necessária qualquer configuração adicional.

Existem três tipos de LVM logical volumes: linear volume, striped volume e mirrored volume. Será também descrito Snapshot volumes, embora não seja considerado como um tipo de LVM logical volume.

Linear volumes

múltiplos physical volumes concatenados num único logical volume. O espaço disponível nos physical volumes (PVs) subjacentes é utilizado, tendo como base next-free (o próximo disco livre é que será usado). Um exemplo é se existirem dois discos, os dados serão escritos no primeiro, e só depois de este ficar totalmente ocupado, é que a escrita continua no segundo. Neste tipo podem-se utilizar discos de diferentes capacidades.

lvm_1

Striped volumes

Num stripped logical volume, os dados são escritos repartidamente ao longo dos discos físicos, podendo haver uma melhoria na eficiência I/O, visto que não só a escrita, mas também a leitura poder ser feita em paralelo. Assemelha-se ao RAID 0, e devem ser utilizados discos de igual capacidade.

lvm_2

Mirrored volumes

Neste modo quando os dados são escritos num dispositivo, eles são também escritos no disco mirror, fazendo com que neste (mirror) exista uma cópia integral do dispositivo que foi escrito primeiramente. Ao ser análogo ao RAID 1, traz assim redundância dos dados.

lvm_3

Snapshot Volumes habilidade de criar imagens virtuais de um dispositivo num determinado instante, sem causar interrupção do serviço. Um snapshot cria uma cópia dos dados que foram alterados, para que caso haja problemas, seja possível retroceder a um estado consistente destes mesmos dados.

Em suma, LVM fornece uma perspectiva mais próxima do utilizador do storage num sistema, ao invés da vista tradicional de discos e partições. Fornece assim uma maior flexibilidade na alocação de storage às aplicações e aos utilizadores.

Comentários

8

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de André Viana
    André Viana

    É possivel instalar o Windows e Linux em dual boot num “disco LVM”?

    1. Avatar de Luís Ribeiro
      Luís Ribeiro

      Boas
      Penso que não seja possível porque o Windows não reconhece o mapeamento do LVM, nem os volumes lógicos que são criados.

  2. Avatar de Noémio Dória
    Noémio Dória

    Muito bom

  3. Avatar de Ricardo das Couves
    Ricardo das Couves

    Recomendo.

    No fim de usar LVM jamais se volta a pensar em usar o esquema tradicional de partições. A partir dai começa-se a pensar em snapshots, em colocar um RAID ao barulho, etc.

    Mais recentemente tenho usado snapshots em 2 cenários: a) testes de VM em snapshots, b) snapshot ao root filesytem antes de fazer updates para poder fazer rollback se necessário.

  4. Avatar de Carlos Santos

    @Pedro Pinto,
    se conseguissem podiam fazer uma sequencia de tutoriais sobre LVM, ex.:
    * Instalação de ubuntu 14.04 em LVM
    * Redimensionamento das partições depois de instalado
    * Adição de um HDD em LVM
    * Retirar HDD que se encontra em LVM

    Daria muito jeito a muitas pessoas, eu inclusive 😀

    1. Avatar de Ricardo das Couves
      Ricardo das Couves

      O homem ensinou-te a pescar… agora usa a cana de pesca 😉

      As man pages de pvcreate, lvcreate, lvreduce, etc contêm exemplos.

      1. Avatar de Carlos Santos

        @Ricardo das Couves, ensinou-me a pescar, até aí tudo bem.
        E a qualidade de vezes que andam a ensinar a escavar na areia com uma pá com “como instalar o ubuntu XX.XX”…

  5. Avatar de M.Manuelito
    M.Manuelito

    No meu serviço temos uma storage HP P2000, com carradas de discos que também funciona mais ou menos assim. No início é um bocado complicado de entender o funcionamento, mas a verdade é que é muito útil e funcional!