quarta-feira, 10 de maio de 2017

Adicionando storage/disco LVM-Thin no Proxmox



Olá, mais um artigo de Proxmox mostrando minhas experiências com a ferramenta já que estou no processo de aprendizado e creio que pode ser útil para outros que estão começando.
Hoje vou tratar de como adicionar um novo volume LVM no formato Thin usando um disco de 1TB para que ele seja adicionado como storage.
O LVM-Thin um formato de volume lógico que permite Snapshot e Clone ao contrário do LVM. O LVM normalmente aloca blocos quando você cria um volume. Volume LVM-thin em vez disso, aloca blocos quando eles são escritos.
Para maiores informações consulte a documentação: https://pve.proxmox.com/wiki/Storage:_LVM_Thin
O PVE está instalado no disco “/dev/sda” e quero adicionar um segundo disco que no nosso caso é o “/dev/sdb”
Na imagem abaixo nós vemos o status do disco, ele está sem partição.
fdisk -l /dev/sdb



Também podemos ver os grupos/volumes LVM antes de adicionarmos o segundo disco com os comandos:
vgs
lvs




Primeiro vamos criar a partição no formato Linux LVM:
cfdisk /dev/sdb
O cfdisk é bem simples de usar, mas os passos são excluir a partição se houver, criar e informar o “type” como “Linux LVM” e salvar.




Podemos ver agora a partição criada no tipo especificado.





Próximo passo é a criação do volume físico na partição “/dev/sdb1”, depois o grupo que chamei de “pve2”, e do volume lógico com nome de “data2”. Pode observar que os grupos/volumes criados na instalação são pve e data por isso segui a mesma lógica de nomes para o segundo grupo/volume.
Mais informações sobre LVM: http://www.hardware.com.br/artigos/lvm/
Os comandos são nessa ordem:
pvcreate /dev/sdb1
vgcreate pve2 /dev/sdb1
lvcreate -T -l 100%FREE -n data2 pve2
Na criação do volume lógico vale observar que o parâmetro “-T” é para o formato Thin, “-l 100%FREE” para usar todo espaço disponível na partição e “-n data2 pve2” para dar o nome ao volume e vincular ao grupo “pve2”

Vamos verificar se o processo ocorreu conforme deveria:
lvdisplay pve2/data2





Pronto, novo grupo/volume criados, agora vamos para a interface gráfica adicionar o storage.
Menu “Datacenter”, opção “Storage”, botão “Add”, e o tipo “LVM-Thin”.
Tendo a mesma lógica dos nomes, na opção “ID” informo “local-lvm2”,  em “Volume  group” o grupo “pve2” e em “Thin Pool” o volume “data2”. Em “Content” por padrão as opções “Disk Image, Container” já estão selecionadas, pois esse formato não permite backups ou imagens ISO.




Agora temos um novo Storage para utilizar. Lembrando que o LVM-Thin só permite formato de disco RAW. 






Observações:
Um fato interessante de usar LVM para armazenar o disco virtual é sobre desempenho, pois ele é criado em um volume logico e com isso uma camada a menos.
Como o formato LVM-Thin faz alocação dinâmica devemos ter cuidado com o tamanho de disco virtual da VMs, pois podemos criar discos maiores que o total do volume.  No exemplo desse artigo temos um volume de 931GB, então a soma dos discos virtuais não pode ser maior que o espaço do storage em questão.  
Volumes LVM-Thin não podem ser compartilhadas entre vários nós, portanto, você só pode usá-las como armazenamento local.
Outra questão é sobre o fato de não ser criado um “arquivo” do tipo RAW, mas é um volume logico. Então para transferir o “disco” para outro host o mais simples é fazer um backup/restore usando uma mídia externa ou transferindo o backup para o outro host usando o “scp”. Se caso houver necessidade é possível montar o volume LVM em outro host e fazer a transferência.
Bom proveito, e no próximo artigo vou tratar de adicionar um disco no formato “Directory” para armazenar backups.
Referencias:


Autor: Tomas Waldow  https://www.2w.eti.br/criando-e-adicionando-storage-lvm-thin-no-proxmox/