User Tools

Site Tools


wiki:linux:comandos:comando_lvm

Physical Volumes (PVs)

Nível Básico

  • Criar um Physical Volume (PV):
    1. sudo pvcreate /dev/sdb
    2. 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:
    1. sudo pvdisplay
    2. Exibe informações detalhadas de todos os Physical Volumes no sistema.
  • Verificar informações resumidas dos Physical Volumes:
    1. sudo pvs
    2. 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:
    1. sudo pvdisplay /dev/sdb
    2. Mostra informações detalhadas sobre o PV localizado em `/dev/sdb`.
  • Redefinir o rótulo de um PV (remover configuração):
    1. sudo pvremove /dev/sdb
    2. 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:
    1. sudo pvscan
    2. 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:
    1. sudo pvcreate /dev/sdb /dev/sdc
    2. 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:
    1. sudo pvmove /dev/sdb /dev/sdc
    2. 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:
    1. sudo pvchange -x n /dev/sdb
    2. Marca o PV `/dev/sdb` como não disponível para alocação de novos dados.
  • Marcar um PV como alocável novamente:
    1. sudo pvchange -x y /dev/sdb
    2. 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):
    1. sudo pvresize /dev/sdb
    2. 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:
    1. sudo pvck /dev/sdb
    2. Verifica o Physical Volume `/dev/sdb` em busca de erros ou problemas de metadados.
  • Modificar os atributos de um Physical Volume:
    1. sudo pvchange --metadataignore y /dev/sdb
    2. 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):
    1. 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:
    1. sudo pvcreate --force /dev/sdb
    2. 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:
    1. sudo pvcreate --restorefile /caminho/pv_backup /dev/sdb
    2. 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:
    1. sudo pvcreate --uuid {UUID} --restorefile /caminho/backup /dev/sdb
    2. 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):
    1. sudo vgcreate vg_data /dev/sdb
    2. Cria um Volume Group chamado `vg_data` usando o Physical Volume `/dev/sdb`.
  • Adicionar um PV a um Volume Group existente:
    1. sudo vgextend vg_data /dev/sdc
    2. Adiciona o Physical Volume `/dev/sdc` ao Volume Group `vg_data`, expandindo sua capacidade.
  • Listar todos os Volume Groups no sistema:
    1. sudo vgdisplay
    2. 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:
    1. sudo vgs
    2. Mostra um resumo dos VGs, incluindo nome, tamanho total e o número de PVs associados.
  • Remover um Volume Group:
    1. sudo vgremove vg_data
    2. 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:
    1. sudo vgreduce vg_data /dev/sdc
    2. 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:
    1. sudo vgscan
    2. 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:
    1. sudo vgdisplay vg_data
    2. 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:
    1. sudo vgs --units G
    2. Exibe o espaço livre e o tamanho total dos Volume Groups em gigabytes.
  • Configurar um VG para ser ativado automaticamente no boot:
    1. sudo vgchange -a y vg_data
    2. Configura o VG `vg_data` para ser ativado automaticamente durante a inicialização do sistema.

Nível Avançado

  • Renomear um Volume Group:
    1. sudo vgrename vg_data vg_novo
    2. Renomeia o Volume Group `vg_data` para `vg_novo`.
  • Redimensionar um Volume Group após expansão de PVs:
    1. sudo vgextend vg_data /dev/sdd

      <br>

sudo vgresize vg_data
  1. 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:
    1. sudo vgchange -p vg_data
    2. Configura o Volume Group `vg_data` para somente leitura, impedindo gravações.
  • Ativar/desativar todos os Volume Groups:
    1. Ativar:
      sudo vgchange -a y

      <br>

    2. Desativar:
      sudo vgchange -a n

      <br>

    3. Ativa ou desativa todos os VGs no sistema.
  • Criar um snapshot do VG (para backup ou teste):
    1. sudo lvcreate --size 1G --snapshot --name snapshot_data /dev/vg_data/lv_data
    2. 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:
    1. sudo vgremove -f vg_data
    2. 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:
    1. sudo vgcreate vg_data /dev/sdb /dev/sdc /dev/sdd

      <br>

sudo lvcreate -L 50G -i3 -n lv_data vg_data
  1. 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:
    1. sudo vgsplit vg_data vg_novo /dev/sdb
    2. 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:
    1. sudo vgcfgrestore -f /caminho/backup/vg_data /dev/vg_data
    2. 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:
    1. sudo vgcfgbackup -f /caminho/backup/vg_data
    2. Realiza o backup dos metadados do VG `vg_data`, permitindo futuras restaurações.

Logical Volumes (LVs)

Nível Básico

  • Criar um Logical Volume:
    1. sudo lvcreate -L 10G -n lv_data vg_data
    2. Cria um Logical Volume de 10GB chamado `lv_data` dentro do Volume Group `vg_data`.
  • Listar todos os Logical Volumes no sistema:
    1. sudo lvdisplay
    2. Exibe informações detalhadas de todos os Logical Volumes no sistema.
  • Exibir informações resumidas de Logical Volumes:
    1. sudo lvs
    2. Mostra um resumo de todos os LVs, incluindo tamanho, nome e Volume Group associado.
  • Formatar um Logical Volume com um sistema de arquivos:
    1. sudo mkfs.ext4 /dev/vg_data/lv_data
    2. Formata o Logical Volume `lv_data` com o sistema de arquivos ext4.
  • Montar um Logical Volume:
    1. sudo mount /dev/vg_data/lv_data /mnt/data
    2. Monta o Logical Volume `lv_data` no diretório `/mnt/data`.
  • Desmontar um Logical Volume:
    1. sudo umount /mnt/data
    2. Desmonta o Logical Volume montado no diretório `/mnt/data`.
  • Remover um Logical Volume:
    1. sudo lvremove /dev/vg_data/lv_data
    2. Remove o Logical Volume `lv_data` do Volume Group `vg_data`.

Nível Intermediário

  • Expandir um Logical Volume existente:
    1. sudo lvextend -L +5G /dev/vg_data/lv_data
    2. 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:
    1. Desmontar o volume primeiro:
sudo umount /dev/vg_data/lv_data

<br>

  1. Verificar o sistema de arquivos:
sudo e2fsck -f /dev/vg_data/lv_data

<br>

  1. Reduzir o tamanho:
sudo resize2fs /dev/vg_data/lv_data 8G

<br>

  1. Reduzir o Logical Volume:
sudo lvreduce -L 8G /dev/vg_data/lv_data
  1. 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:
    1. sudo pvmove /dev/sdb /dev/sdc
    2. 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:
    1. sudo lvs --units G
    2. Exibe o tamanho e o espaço livre em gigabytes para cada Logical Volume no sistema.
  • Configurar um Logical Volume como “somente leitura”:
    1. sudo lvchange -pr /dev/vg_data/lv_data
    2. Altera o LV `lv_data` para ser montado como somente leitura, evitando gravações.
  • Remover um Logical Volume com snapshot:
    1. sudo lvremove /dev/vg_data/lv_snapshot
    2. Remove um snapshot existente, liberando espaço no VG.

Nível Avançado

  • Aumentar um Logical Volume online sem desmontar:
    1. sudo lvextend -L +10G /dev/vg_data/lv_data

      <br>

sudo resize2fs /dev/vg_data/lv_data
  1. 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):
    1. sudo lvcreate -L 50G -i 2 -I 64 -n lv_striped vg_data
    2. Cria um Logical Volume de 50GB com striping (dividido entre 2 discos), com blocos de 64KB.
  • Criar um Logical Volume Thin Provisioning:
    1. Criar uma thin pool:
sudo lvcreate --thinpool thin_pool -L 100G vg_data

<br>

  1. Criar um volume thin:
sudo lvcreate --thin -V 50G --name lv_thin vg_data/thin_pool
  1. 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):
    1. sudo lvcreate --size 2G --snapshot --name lv_snapshot /dev/vg_data/lv_data
    2. 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:
    1. sudo lvresize --size +10G /dev/vg_data/lv_thin
    2. 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:
    1. sudo lvconvert --thinpool vg_data/lv_data
    2. Converte um Logical Volume existente para Thin Provisioning, permitindo a alocação dinâmica de espaço.
  • Ativar e desativar Logical Volumes:
    1. Ativar:
      sudo lvchange -ay /dev/vg_data/lv_data

      <br>

    2. Desativar:
      sudo lvchange -an /dev/vg_data/lv_data
    3. Ativa ou desativa o Logical Volume `lv_data`, permitindo ou impedindo seu uso.
  • Migrar dados de um Logical Volume para outro VG:
    1. sudo vgsplit vg_data vg_novo /dev/vg_data/lv_data
    2. 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:
    1. sudo lvremove -f /dev/vg_data/lv_corrompido
    2. 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:
    1. sudo lvconvert --merge /dev/vg_data/lv_snapshot
    2. 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