Sabe o que é LVM – Logic Volume Manager?
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).
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.
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.
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.
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.
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.
Este artigo tem mais de um ano
É possivel instalar o Windows e Linux em dual boot num “disco LVM”?
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.
Muito bom
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.
@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 😀
O homem ensinou-te a pescar… agora usa a cana de pesca 😉
As man pages de pvcreate, lvcreate, lvreduce, etc contêm exemplos.
@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”…
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!