Partilhar via


Configurar o LVM em uma VM 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 nos discos de dados nas 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 abaixo se concentrarão na configuração do LVM para seus discos de dados.

Volumes lógicos lineares vs. estriados

O LVM pode ser usado para combinar vários discos físicos em um único volume de armazenamento. Por padrão, o LVM geralmente cria volumes lógicos lineares, o que significa que o armazenamento físico é concatenado. Nesse caso, as operações de leitura/gravação normalmente só serão enviadas para um único disco. Em contraste, também podemos criar volumes lógicos distribuídos onde 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 distribuir seus volumes lógicos para que as leituras e gravações utilizem todos os seus 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 abaixo são generalizadas para trabalhar com a maioria das distribuições. Na maioria dos casos, os utilitários e fluxos de trabalho para gerenciar o LVM no Azure não são fundamentalmente diferentes de outros ambientes. Como de costume, consulte também seu fornecedor Linux para obter documentação e práticas recomendadas para usar LVM com sua distribuição específica.

Anexando discos de dados

Normalmente, é necessário começar com dois ou mais discos de dados vazios ao usar o LVM. Com base nas suas necessidades de E/S, pode optar por anexar discos armazenados no nosso Armazenamento Padrão, com até 500 E/S por disco ou no nosso Armazenamento Premium com até 5000 E/S por disco. Este artigo não entrará em detalhes sobre como provisionar e anexar discos de dados a uma máquina virtual 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 como "ativar":

    LVM_ACTIVATED_ON_DISCOVERED="enable" 
    

Configurar o LVM

Neste guia, assumiremos que você anexou três discos de dados, aos quais nos referiremos como /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 data-vg01de volumes:

    sudo vgcreate data-vg01 /dev/sd[cde]
    Volume group "data-vg01" successfully created
    
  3. Crie o(s) volume(s) lógico(s). O comando abaixo criará 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 SLES11 use -t ext3 em vez de ext4. O SLES11 suporta apenas acesso somente leitura a sistemas de arquivos ext4.

Adicione o novo sistema de arquivos ao /etc/fstab

Importante

A edição imprópria do ficheiro /etc/fstab poderá resultar num sistema não inicializável. Se não tiver a certeza, consulte a documentação de distribuição para obter mais informações sobre como editar corretamente este ficheiro. Também é recomendável que um backup do ficheiro /etc/fstab seja criado antes da edição.

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

    sudo mkdir /data
    
  2. Localize 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 /etc/fstab entrada está correta:

    sudo mount -a
    

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

    Em seguida, execute o mount comando 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 à prova de falhas em /etc/fstab

    Muitas distribuições incluem os parâmetros de montagem nobootwait ou nofail que podem ser adicionados ao /etc/fstab ficheiro. Esses parâmetros permitem falhas ao montar um determinado sistema de arquivos e permitem que o sistema Linux continue a inicializar, mesmo que não consiga montar corretamente o sistema de arquivos RAID. Consulte a documentação da sua 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 TRIM/UNMAP

Alguns kernels Linux suportam operações TRIM/UNMAP para descartar 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 custos se você criar arquivos grandes e, em seguida, excluí-los.

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

  • Use a discard opção de montagem no /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 no desempenho. Como alternativa, você pode executar o fstrim comando manualmente a partir da linha de comando ou adicioná-lo ao seu crontab para ser executado regularmente:

    Ubuntu

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

    RHEL, CentOS & Oracle Linux

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