Configurar o LVM numa VM do Linux no Azure
Este documento irá discutir como configurar o Gestor de Volumes Lógicos (LVM) na sua máquina virtual do Azure. O LVM pode ser utilizado no disco do SO ou nos discos de dados nas VMs do Azure. No entanto, por predefinição, a maioria das imagens da cloud não terá o LVM configurado no disco do SO. Os passos abaixo irão focar-se na configuração do LVM para os discos de dados.
Volumes lógicos lineares vs. listrados
O LVM pode ser utilizado para combinar vários discos físicos num único volume de armazenamento. Por predefinição, o LVM irá normalmente criar volumes lógicos lineares, o que significa que o armazenamento físico é concatenado em conjunto. Neste caso, normalmente, as operações de leitura/escrita só serão enviadas para um único disco. Por outro lado, também podemos criar volumes lógicos listrados onde as leituras e as escritas são distribuídas por vários discos contidos no grupo de volumes (semelhante ao RAID0). Por motivos de desempenho, é provável que queira riscar os volumes lógicos para que as leituras e escritas utilizem todos os discos de dados anexados.
Este documento irá descrever como combinar vários discos de dados num único grupo de volumes e, em seguida, criar um volume lógico listrado. Os passos abaixo são generalizados para trabalhar com a maioria das distribuições. Na maioria dos casos, os utilitários e fluxos de trabalho para gerir LVM no Azure não são fundamentalmente diferentes dos outros ambientes. Como habitualmente, consulte também o fornecedor do Linux para obter documentação e melhores práticas para utilizar o LVM com a sua distribuição específica.
Anexar discos de dados
Normalmente, um deles irá querer começar com dois ou mais discos de dados vazios ao utilizar o LVM. Com base nas suas necessidades de E/S, pode optar por anexar discos armazenados no nosso Armazenamento Standard, com até 500 E/S por disco ou o nosso armazenamento Premium com até 5000 E/S por disco. Este artigo não irá entrar em detalhes sobre como aprovisionar e anexar discos de dados a uma máquina virtual do Linux. Veja 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 do 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, também tem de editar
/etc/sysconfig/lvm
e definirLVM_ACTIVATED_ON_DISCOVERED
como "ativar":LVM_ACTIVATED_ON_DISCOVERED="enable"
Configurar LVM
Neste guia, vamos presumir que anexou três discos de dados, que iremos referir como /dev/sdc
, /dev/sdd
e /dev/sde
. Estes caminhos podem não corresponder aos nomes dos caminhos do disco na VM. Pode executar o comando "sudo fdisk -l
" ou semelhante para listar os discos disponíveis.
Preparar 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
Criar um grupo de volumes. Neste exemplo, estamos a chamar o grupo
data-vg01
de volumes :sudo vgcreate data-vg01 /dev/sd[cde] Volume group "data-vg01" successfully created
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 tenha em atenção 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.
Formatar o volume lógico
sudo mkfs -t ext4 /dev/data-vg01/data-lv01
Nota
Com o SLES11, utilize
-t ext3
em vez de ext4. O SLES11 só suporta o acesso só de leitura a sistemas de ficheiros ext4.
Adicionar o novo sistema de ficheiros a /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. Recomenda-se também que seja criada uma cópia de segurança do /etc/fstab
ficheiro antes de editar.
Crie o ponto de montagem pretendido para o seu novo sistema de ficheiros, por exemplo:
sudo mkdir /data
Localizar o caminho do volume lógico
lvdisplay --- Logical volume --- LV Path /dev/data-vg01/data-lv01 ....
Abra
/etc/fstab
num editor de texto e adicione uma entrada para o novo sistema de ficheiros, por exemplo:/dev/data-vg01/data-lv01 /data ext4 defaults 0 2
Em seguida, guarde e feche
/etc/fstab
.Teste se a
/etc/fstab
entrada está correta:sudo mount -a
Se este comando resultar numa mensagem de erro, verifique a sintaxe no
/etc/fstab
ficheiro.Em seguida, execute o
mount
comando para garantir que o sistema de ficheiros está montado:mount ...... /dev/mapper/data--vg01-data--lv01 on /data type ext4 (rw)
(Opcional) Parâmetros de arranque de segurança pós-falha no
/etc/fstab
Muitas distribuições incluem os
nobootwait
parâmetros ounofail
de montagem que podem ser adicionados ao/etc/fstab
ficheiro. Estes parâmetros permitem falhas ao montar um sistema de ficheiros específico e permitem que o sistema Linux continue a arrancar mesmo que não seja possível montar corretamente o sistema de ficheiros RAID. Veja a documentação da sua distribuição para obter mais informações sobre estes parâmetros.Exemplo (Ubuntu):
/dev/data-vg01/data-lv01 /data ext4 defaults,nobootwait 0 2
Suporte TRIM/UNMAP
Alguns kernels do Linux suportam operações TRIM/UNMAP para eliminar blocos não utilizados no disco. Estas operações são essencialmente úteis no armazenamento padrão para informar o Azure de que as páginas eliminadas já não são válidas e podem ser eliminadas. Eliminar páginas pode poupar custos se criar ficheiros grandes e, em seguida, eliminá-los.
Existem duas formas de ativar o suporte do TRIM na VM do Linux. Como habitualmente, consulte a sua distribuição para obter a abordagem recomendada:
Utilize a opção
discard
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 de desempenho. Em alternativa, pode executar o comando manualmente afstrim
partir da linha de comandos ou adicioná-lo ao 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