wiki:linux:comandos:comando_lvm
Table of Contents
Physical Volumes (PVs)
Nível Básico
- Criar um Physical Volume (PV):
sudo pvcreate /dev/sdb
- Inicializa o dispositivo `/dev/sdb` como um Physical Volume, pronto para ser utilizado em um Volume Group (VG).
- Listar todos os Physical Volumes no sistema:
sudo pvdisplay
- Exibe informações detalhadas de todos os Physical Volumes no sistema.
- Verificar informações resumidas dos Physical Volumes:
sudo pvs
- Mostra um resumo de todos os PVs com detalhes como o nome, tamanho e o Volume Group associado.
- Exibir informações detalhadas de um PV específico:
sudo pvdisplay /dev/sdb
- Mostra informações detalhadas sobre o PV localizado em `/dev/sdb`.
- Redefinir o rótulo de um PV (remover configuração):
sudo pvremove /dev/sdb
- Remove o rótulo LVM de um Physical Volume, apagando-o da configuração.
Nível Intermediário
- Verificar o status de um PV com informações detalhadas:
sudo pvscan
- Verifica todos os discos do sistema e detecta Physical Volumes e Volume Groups, mostrando uma visão geral de seus estados.
- Adicionar múltiplos discos como Physical Volumes:
sudo pvcreate /dev/sdb /dev/sdc
- Inicializa os dispositivos `/dev/sdb` e `/dev/sdc` como PVs prontos para serem adicionados a um VG.
- Mover dados de um Physical Volume para outro:
sudo pvmove /dev/sdb /dev/sdc
- Move os dados do PV `/dev/sdb` para o PV `/dev/sdc`, útil em cenários de migração ou manutenção de discos.
- Marcar um PV como não alocável:
sudo pvchange -x n /dev/sdb
- Marca o PV `/dev/sdb` como não disponível para alocação de novos dados.
- Marcar um PV como alocável novamente:
sudo pvchange -x y /dev/sdb
- Redefine o PV `/dev/sdb` como disponível para alocação de novos dados.
Nível Avançado
- Aumentar o tamanho de um PV após expandir um disco (por exemplo, disco virtual):
sudo pvresize /dev/sdb
- Redimensiona o PV `/dev/sdb` para utilizar o novo espaço disponível após a expansão do disco.
- Verificar a integridade de um PV:
sudo pvck /dev/sdb
- Verifica o Physical Volume `/dev/sdb` em busca de erros ou problemas de metadados.
- Modificar os atributos de um Physical Volume:
sudo pvchange --metadataignore y /dev/sdb
- Define para ignorar os metadados do PV durante a sincronização, útil em cenários de recuperação.
Nível Especializado
- Distribuir dados em vários PVs (striping):
- Exemplo ao criar um Logical Volume:
sudo lvcreate -L 10G -i2 -I64 -n lv_data vg_data
<br>
Utiliza striping de dados em dois **PVs** (com a opção `-i2`) no **Volume Group** `vg_data`, criando um **Logical Volume** de 10 GB.
- Forçar a criação de um PV em um disco com partição existente:
sudo pvcreate --force /dev/sdb
- Inicializa o PV mesmo em discos que possuem uma tabela de partição existente (atenção: pode sobrescrever dados).
- Recuperar informações de um PV corrompido:
sudo pvcreate --restorefile /caminho/pv_backup /dev/sdb
- Restaura um Physical Volume corrompido a partir de um arquivo de backup de metadados, útil em cenários de falha de disco.
- Recuperar PV em um disco reformatado:
sudo pvcreate --uuid {UUID} --restorefile /caminho/backup /dev/sdb- Restaura o UUID e metadados de um PV após a formatação acidental do disco.
Volume Groups (VGs)
Nível Básico
- Criar um Volume Group (VG):
sudo vgcreate vg_data /dev/sdb
- Cria um Volume Group chamado `vg_data` usando o Physical Volume `/dev/sdb`.
- Adicionar um PV a um Volume Group existente:
sudo vgextend vg_data /dev/sdc
- Adiciona o Physical Volume `/dev/sdc` ao Volume Group `vg_data`, expandindo sua capacidade.
- Listar todos os Volume Groups no sistema:
sudo vgdisplay
- Exibe informações detalhadas sobre todos os Volume Groups no sistema, incluindo tamanho, PVs associados e espaço livre.
- Listar informações resumidas dos Volume Groups:
sudo vgs
- Mostra um resumo dos VGs, incluindo nome, tamanho total e o número de PVs associados.
- Remover um Volume Group:
sudo vgremove vg_data
- Remove o Volume Group `vg_data` (somente se nenhum Logical Volume estiver em uso).
Nível Intermediário
- Reduzir um Volume Group removendo um PV:
sudo vgreduce vg_data /dev/sdc
- Remove o Physical Volume `/dev/sdc` do Volume Group `vg_data`, desde que ele não contenha Logical Volumes ativos.
- Verificar o status de todos os VGs com informações detalhadas:
sudo vgscan
- Verifica o sistema e detecta todos os Volume Groups existentes, exibindo o status e informações detalhadas.
- Exibir informações detalhadas de um VG específico:
sudo vgdisplay vg_data
- Mostra detalhes como tamanho, número de PVs, e espaço livre do Volume Group `vg_data`.
- Verificar o espaço livre disponível em um VG:
sudo vgs --units G
- Exibe o espaço livre e o tamanho total dos Volume Groups em gigabytes.
- Configurar um VG para ser ativado automaticamente no boot:
sudo vgchange -a y vg_data
- Configura o VG `vg_data` para ser ativado automaticamente durante a inicialização do sistema.
Nível Avançado
- Renomear um Volume Group:
sudo vgrename vg_data vg_novo
- Renomeia o Volume Group `vg_data` para `vg_novo`.
- Redimensionar um Volume Group após expansão de PVs:
sudo vgextend vg_data /dev/sdd
<br>
sudo vgresize vg_data
- Adiciona um novo PV (`/dev/sdd`) ao VG `vg_data` e redimensiona o VG para utilizar o espaço adicional.
- Marcar um VG como somente leitura:
sudo vgchange -p vg_data
- Configura o Volume Group `vg_data` para somente leitura, impedindo gravações.
- Ativar/desativar todos os Volume Groups:
- Ativar:
sudo vgchange -a y
<br>
- Desativar:
sudo vgchange -a n
<br>
- Ativa ou desativa todos os VGs no sistema.
- Criar um snapshot do VG (para backup ou teste):
sudo lvcreate --size 1G --snapshot --name snapshot_data /dev/vg_data/lv_data
- Cria um snapshot de 1GB do Logical Volume `lv_data` do VG `vg_data`, permitindo operações de backup sem interromper o volume principal.
Nível Especializado
- Forçar a remoção de um VG com PVs inativos:
sudo vgremove -f vg_data
- Força a remoção do Volume Group `vg_data`, mesmo que os Physical Volumes associados estejam inativos ou com falhas.
- Criar um VG distribuído (striping) em múltiplos PVs:
sudo vgcreate vg_data /dev/sdb /dev/sdc /dev/sdd
<br>
sudo lvcreate -L 50G -i3 -n lv_data vg_data
- Cria o VG `vg_data` usando os PVs `/dev/sdb`, `/dev/sdc`, e `/dev/sdd`, e depois cria um Logical Volume de 50GB com striping (dividido em 3 discos).
- Mover um VG inteiro para outro dispositivo:
sudo vgsplit vg_data vg_novo /dev/sdb
- Divide o VG `vg_data` movendo o PV `/dev/sdb` para um novo VG chamado `vg_novo`, permitindo uma migração controlada de discos.
- Recuperar um Volume Group após perda de PV:
sudo vgcfgrestore -f /caminho/backup/vg_data /dev/vg_data
- Restaura as configurações do VG `vg_data` a partir de um arquivo de backup de metadados, útil após falhas de disco.
- Exibir os metadados de um Volume Group:
sudo vgcfgbackup -f /caminho/backup/vg_data
- Realiza o backup dos metadados do VG `vg_data`, permitindo futuras restaurações.
Logical Volumes (LVs)
Nível Básico
- Criar um Logical Volume:
sudo lvcreate -L 10G -n lv_data vg_data
- Cria um Logical Volume de 10GB chamado `lv_data` dentro do Volume Group `vg_data`.
- Listar todos os Logical Volumes no sistema:
sudo lvdisplay
- Exibe informações detalhadas de todos os Logical Volumes no sistema.
- Exibir informações resumidas de Logical Volumes:
sudo lvs
- Mostra um resumo de todos os LVs, incluindo tamanho, nome e Volume Group associado.
- Formatar um Logical Volume com um sistema de arquivos:
sudo mkfs.ext4 /dev/vg_data/lv_data
- Formata o Logical Volume `lv_data` com o sistema de arquivos ext4.
- Montar um Logical Volume:
sudo mount /dev/vg_data/lv_data /mnt/data
- Monta o Logical Volume `lv_data` no diretório `/mnt/data`.
- Desmontar um Logical Volume:
sudo umount /mnt/data
- Desmonta o Logical Volume montado no diretório `/mnt/data`.
- Remover um Logical Volume:
sudo lvremove /dev/vg_data/lv_data
- Remove o Logical Volume `lv_data` do Volume Group `vg_data`.
Nível Intermediário
- Expandir um Logical Volume existente:
sudo lvextend -L +5G /dev/vg_data/lv_data
- Expande o Logical Volume `lv_data` em 5GB adicionais, utilizando o espaço livre disponível no VG.
- Reduzir o tamanho de um Logical Volume:
- Desmontar o volume primeiro:
sudo umount /dev/vg_data/lv_data
<br>
- Verificar o sistema de arquivos:
sudo e2fsck -f /dev/vg_data/lv_data
<br>
- Reduzir o tamanho:
sudo resize2fs /dev/vg_data/lv_data 8G
<br>
- Reduzir o Logical Volume:
sudo lvreduce -L 8G /dev/vg_data/lv_data
- Esse processo reduz o Logical Volume `lv_data` para 8GB, após redimensionar o sistema de arquivos.
- Mover um Logical Volume para outro Physical Volume:
sudo pvmove /dev/sdb /dev/sdc
- Move os dados do Logical Volume localizado em `/dev/sdb` para o Physical Volume `/dev/sdc`.
- Exibir o espaço livre dentro de um Logical Volume:
sudo lvs --units G
- Exibe o tamanho e o espaço livre em gigabytes para cada Logical Volume no sistema.
- Configurar um Logical Volume como “somente leitura”:
sudo lvchange -pr /dev/vg_data/lv_data
- Altera o LV `lv_data` para ser montado como somente leitura, evitando gravações.
- Remover um Logical Volume com snapshot:
sudo lvremove /dev/vg_data/lv_snapshot
- Remove um snapshot existente, liberando espaço no VG.
Nível Avançado
- Aumentar um Logical Volume online sem desmontar:
sudo lvextend -L +10G /dev/vg_data/lv_data
<br>
sudo resize2fs /dev/vg_data/lv_data
- Aumenta o Logical Volume `lv_data` em 10GB e redimensiona o sistema de arquivos ext4, sem desmontar o volume.
- Criar um Logical Volume com striping (distribuição de dados em vários discos):
sudo lvcreate -L 50G -i 2 -I 64 -n lv_striped vg_data
- Cria um Logical Volume de 50GB com striping (dividido entre 2 discos), com blocos de 64KB.
- Criar um Logical Volume Thin Provisioning:
- Criar uma thin pool:
sudo lvcreate --thinpool thin_pool -L 100G vg_data
<br>
- Criar um volume thin:
sudo lvcreate --thin -V 50G --name lv_thin vg_data/thin_pool
- Cria um Logical Volume Thin Provisioning, que permite alocar espaço sob demanda, evitando desperdício.
- Criar um snapshot de um Logical Volume (para backup ou teste):
sudo lvcreate --size 2G --snapshot --name lv_snapshot /dev/vg_data/lv_data
- Cria um snapshot de 2GB do Logical Volume `lv_data`, permitindo realizar backups ou testes sem afetar o volume principal.
- Redimensionar um Logical Volume Thin:
sudo lvresize --size +10G /dev/vg_data/lv_thin
- Aumenta o tamanho do LV Thin em 10GB, sem precisar alocar todo o espaço imediatamente.
Nível Especializado
- Converter um Logical Volume em Thin Provisioning:
sudo lvconvert --thinpool vg_data/lv_data
- Converte um Logical Volume existente para Thin Provisioning, permitindo a alocação dinâmica de espaço.
- Ativar e desativar Logical Volumes:
- Ativar:
sudo lvchange -ay /dev/vg_data/lv_data
<br>
- Desativar:
sudo lvchange -an /dev/vg_data/lv_data
- Ativa ou desativa o Logical Volume `lv_data`, permitindo ou impedindo seu uso.
- Migrar dados de um Logical Volume para outro VG:
sudo vgsplit vg_data vg_novo /dev/vg_data/lv_data
- Divide o VG movendo o Logical Volume `lv_data` para um novo VG chamado `vg_novo`.
- Forçar a remoção de um Logical Volume com erro:
sudo lvremove -f /dev/vg_data/lv_corrompido
- Força a remoção do Logical Volume `lv_corrompido`, mesmo se houver erros associados ao volume.
- Recuperar um Logical Volume a partir de um snapshot:
sudo lvconvert --merge /dev/vg_data/lv_snapshot
- Restaura o Logical Volume `lv_data` para o estado do snapshot `lv_snapshot`, recuperando dados após falha ou alteração.
wiki/linux/comandos/comando_lvm.txt · Last modified: by Wiki Administrator
