Compartilhar via


Configurar o LVM em uma VM do Linux no Azure

Este documento discutirá como configurar o LVM (Logical Volume Manager) em sua máquina virtual do Azure. O LVM pode ser usado no disco do sistema operacional ou discos de dados em VMs do Azure, no entanto, por padrão, a maioria das imagens de nuvem não terá o LVM configurado no disco do sistema operacional. As etapas a seguir se concentrarão na configuração do LVM para seus discos de dados.

Volumes lógicos lineares versus segmentados

O LVM pode ser usado para combinar vários discos físicos em um único volume de armazenamento. Por padrão, o LVM geralmente criará volumes lógicos lineares, o que significa que o armazenamento físico é concatenado em conjunto. Nesse caso, as operações de leitura/gravação normalmente só serão enviadas para um único disco. Por outro lado, também podemos criar volumes lógicos distribuídos em que leituras e gravações são distribuídas para vários discos contidos no grupo de volumes (semelhante ao RAID0). Por motivos de desempenho, é provável que você queira segmentar seus volumes lógicos para que leituras e gravações utilizem todos os discos de dados anexados.

Este documento descreverá como combinar vários discos de dados em um único grupo de volumes e, em seguida, criar um volume lógico distribuído. As etapas a seguir são generalizadas para trabalhar com a maioria das distribuições. Na maioria dos casos, os utilitários e os fluxos de trabalho para gerenciar o LVM no Azure não são fundamentalmente diferentes de outros ambientes. Como de costume, consulte também o fornecedor do Linux para obter documentação e práticas recomendadas para usar o LVM com sua distribuição específica.

Anexando discos de dados

Geralmente, é necessário começar com dois ou mais discos de dados vazios ao usar o LVM. Com base nas suas necessidades de E/S, você pode optar por anexar discos armazenados em nosso Armazenamento Standard, com até 500 E/S/s por disco ou nosso armazenamento Premium com até 5.000 E/S/ps por disco. Este artigo não entrará em detalhes sobre como provisionar e anexar discos de dados a uma máquina virtual do Linux. Consulte o artigo do Microsoft Azure anexar um disco para obter instruções detalhadas sobre como anexar um disco de dados vazio a uma máquina virtual Linux no Azure.

Instalar os utilitários LVM

  • Ubuntu

    sudo apt-get update
    sudo apt-get install lvm2
    
  • RHEL, CentOS &Oracle Linux

    sudo yum install lvm2
    
  • SLES 12 e openSUSE

    sudo zypper install lvm2
    
  • SLES 11

    sudo zypper install lvm2
    

    No SLES11, você também deve editar /etc/sysconfig/lvm e definir LVM_ACTIVATED_ON_DISCOVERED para "habilitar":

    LVM_ACTIVATED_ON_DISCOVERED="enable" 
    

Configurar LVM

Neste guia, presumiremos que você anexou três discos de dados, que chamaremos de /dev/sdc, /dev/sdd e /dev/sde. Esses caminhos podem não corresponder aos nomes de caminho de disco em sua VM. Você pode executar 'sudo fdisk -l' ou comando semelhante para listar seus discos disponíveis.

  1. Prepare os volumes físicos:

    sudo pvcreate /dev/sd[cde]
    Physical volume "/dev/sdc" successfully created
    Physical volume "/dev/sdd" successfully created
    Physical volume "/dev/sde" successfully created
    
  2. Crie um grupo de volumes. Neste exemplo, estamos chamando o grupo de volumes data-vg01:

    sudo vgcreate data-vg01 /dev/sd[cde]
    Volume group "data-vg01" successfully created
    
  3. Crie os volumes lógicos. O comando abaixo criaremos um único volume lógico chamado data-lv01 para abranger todo o grupo de volumes, mas observe que também é viável criar vários volumes lógicos no grupo de volumes.

    sudo lvcreate --extents 100%FREE --stripes 3 --name data-lv01 data-vg01
    Logical volume "data-lv01" created.
    
  4. Formatar o volume lógico

    sudo mkfs -t ext4 /dev/data-vg01/data-lv01
    

    Observação

    Com o SLES11, use -t ext3 em vez de ext4. O SLES11 só dá suporte ao acesso de leitura a sistemas de arquivos ext4.

Adicionar o novo sistema de arquivos a /etc/fstab

Importante

A edição inadequada do arquivo /etc/fstab pode resultar em um sistema não inicializável. Se não tiver certeza, consulte a documentação de distribuição para obter informações sobre como editá-lo corretamente. Também é recomendável que um backup do arquivo /etc/fstab seja criado antes da edição.

  1. Crie o ponto de montagem desejado para o novo sistema de arquivos, por exemplo:

    sudo mkdir /data
    
  2. Localizar o caminho do volume lógico

    lvdisplay
    --- Logical volume ---
    LV Path                /dev/data-vg01/data-lv01
    ....
    
  3. Abra /etc/fstab em um editor de texto e adicione uma entrada para o novo sistema de arquivos, por exemplo:

    /dev/data-vg01/data-lv01  /data  ext4  defaults  0  2
    

    Em seguida, salve e feche /etc/fstab.

  4. Teste se a entrada de /etc/fstab está correta:

    sudo mount -a
    

    Se esse comando resultar em uma mensagem de erro, verifique a sintaxe no arquivo /etc/fstab.

    Em seguida, execute o comando mount para garantir que o sistema de arquivos esteja montado:

    mount
    ......
    /dev/mapper/data--vg01-data--lv01 on /data type ext4 (rw)
    
  5. (Opcional) Parâmetros de inicialização de failsafe no /etc/fstab

    Muitas distribuições incluem os parâmetros de montagem nobootwait ou nofail que podem ser adicionados ao arquivo /etc/fstab. Esses parâmetros permitem falhas ao montar um sistema de arquivos específico e permitem que o sistema Linux continue a inicializar mesmo que não seja possível montar corretamente o sistema de arquivos RAID. Consulte a documentação da distribuição para obter mais informações sobre esses parâmetros.

    Exemplo (Ubuntu):

    /dev/data-vg01/data-lv01  /data  ext4  defaults,nobootwait  0  2
    

Suporte a TRIM/UNMAP

Alguns kernels Linux permitem operações TRIM/UNMAP para descartar os blocos não utilizados no disco. Essas operações são úteis principalmente no armazenamento padrão para informar ao Azure que as páginas excluídas não são mais válidas e podem ser descartadas. Descartar páginas pode economizar dinheiro se você criar arquivos grandes e depois excluí-los.

Há duas maneiras de habilitar o suporte a TRIM em sua VM do Linux. Como de costume, consulte sua distribuição para obter a abordagem recomendada:

  • Use a opção de montagem discard em /etc/fstab, por exemplo:

    /dev/data-vg01/data-lv01  /data  ext4  defaults,discard  0  2
    
  • Em alguns casos, a opção discard pode ter implicações de desempenho. Como alternativa, você pode executar o comando fstrim manualmente na linha de comando ou adicioná-lo a crontab para ser executado normalmente:

    Ubuntu

    # sudo apt-get install util-linux
    # sudo fstrim /datadrive
    

    RHEL, CentOS &Oracle Linux

    # sudo yum install util-linux
    # sudo fstrim /datadrive