Fast clone e full copy de VMs no XenServer 6.5
Hoje explicarei sobre Fast Clone e Full Copy de VMs e templates. Meu papo será focado no entendimento destes dois pontos.
Se você nunca copiou uma VM ou template, a qualquer hora irá precisar fazer isto. VMs e templates são copiados a fim de vários motivos: Para realizar testes a partir de uma VM que está em produção, provisionar (subir) novas VMs rapidamente, criar templates a partir delas, etc.
Mas, quando você vai copiar uma VM pelo XenCenter, sempre abre uma tela que te pergunta dois modos de cópia para você escolher: O fast clone ou o full copy.
Bem, quando você olha o nome fast clone dá uma ideia de mais agilidade (rapidez). Creio que muitos administradores escolhem essa opção por isso, sem saber que podem pagar caro no futuro…
Explicando mais detalhadamente:
Quando uma VM ou template é copiado pelo modo fast clone, o novo VDI da VM/template acessa os blocos antigos do VDI de origem. Por exemplo, se eu tenho uma VM com o GNU/Linux Ubuntu recém instalado e copiar esta VM como fast clone, a nova VM criada vai usar os blocos antigos (neste caso a partição do sistema completo) do disco da VM original, todo arquivo criado ou alterado a partir desse momento será gravado no novo disco. Em outras palavras, toda região do VDI da nova VM referente ao que foi gravado na VM original é um ponteiro para o disco desta VM (não há duplicação de conteúdo, em nível de bloco).
Quando uma VM ou template é copiado como full copy, o novo VDI da VM/template é totalmente independente do VDI original (que foi copiado). Todo o conteúdo é copiado (literalmente) para o novo disco. Dá pra imaginar que essa cópia é um pouco mais demorada, por esse fato.
Mas o preço a se pagar pela rapidez do fast clone, é a questão do encadeamento (acorrentamento) dos VDIs. Por padrão, o limite máximo desta cadeia (chain) é de 30 VDIs. Na prática, se você chegar em mais da metade desse limite, o acesso aos dados será bastante degradado. Essa cadeia vai aumentado a partir do momento que você vai provisionando cada vez mais VMs e copiando templates como fast clone.
Por contrapartida, isso não ocorre com o método full copy, pois não existirá ponteiros entre VDIs novos e antigos nem encadeamento entre eles (chain=0).
Vou explicar com imagens:
O que acontece no fast clone:
O que acontece no modo full copy:
Para você analisar essas árvores que são criadas e que crescem a partir do provisionamento de cada vez mais cópias fast, entre no host xen em questão e digite o comando:
# vhd-util scan -f -m “VHD-*” -l VG_XenStorage- -p
O resultado deste comando será algo do tipo:
Perceba que a seta indica que o VHD (VDI) mostrado na linha tem um parent (nó de origem).
Quando o parâmetro “parent” está como “none” quer dizer que o VHD não tem um pai relacionado, ou seja, ele não foi criado com fast clone.
Assim como os snapshots, quando um VDI na cadeia é excluído, um evento de aglutinação (chamado coalescing) entre VDIs é feito (em qualquer tempo – assíncrono). Após isso, algum espaço em disco no SR deverá ser liberado.
Mas, se você não quer excluir VMs encadeadas, existem três formas de resolver o problema do “encadeamento infeliz”:
– Migrar a VM encadeada para outro SR no pool. Após isso o parâmetro parent será resetado (=none).
– Setar a prioridade de IO de disco (QoS) da VM encadeada como nível alto (use isto como um paleativo). Mais detalhes aqui.
– Copiar a VM encadeada novamente (Xencenter ou “vm-copy” na linha de comando), mas, desta vez como full copy (o parent também irá resetar).
Bem, creio que você agora deve entender mais sobre esses dois tipos de cópias e seus prós e contras.
Para saber como realizar os procedimenos de cópia, clique neste link (http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms/xs-xc-vms-copy.html)
Referências:
http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/reference.html#disk_qos
http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-vms/xs-xc-vms-copy.html
Este trabalho de Marllus, está licenciado com uma Licença Creative Commons – Atribuição-CompartilhaIgual 4.0 Internacional.