Clonando partições LVM

2

Eu preciso clonar uma instalação do CentOS de um disco de 1 TB particionado com o LVM, para várias máquinas idênticas. O disco está praticamente vazio, pois somente o sistema operacional e alguns softwares estão instalados e configurados.

Sem o LVM, eu copiaria toda a tabela de partições, e então eu clonaria as partições uma a uma usando partclone:

sfdisk -d /dev/sda | sed -e 's/sda/sdb/' | sfdisk /dev/sdb
partclone.ext4 -c -s /dev/sda# -o - | partclone.ext4 -r -s - -o /dev/sdb#

No entanto, acho que não funcionará com o LVM.

Claro que eu poderia usar apenas dd para clonar todo o disco:

dd if=/dev/sda of=/dev/sdb

mas demora muito em comparação com o partclone.

Existe uma maneira de clonar as partições do LVM mais rapidamente? Eu acho que uma solução possível é clonar as partições LVM para partições regulares em outro disco usando o dd e, em seguida, clonar o novo disco para as outras máquinas usando partclone. Mas não sei se algo assim funcionará:

dd if=/dev/mapper/vg_node07-lv_root of=/dev/sdb1

Pode funcionar? Você pode me dizer outras soluções?

    
por Manuel 02.07.2015 / 00:29

3 respostas

3

Sim, você pode usar dd da maneira descrita.

O que eu faria é criar a imagem de origem usando as menores partições possíveis, cloná-las e ampliar o volume lógico e o sistema de arquivos no destino. Seu procedimento de clonagem se torna algo como:

# <attach target for cloning, say, /dev/sdc>
# CURRENT_LE=2000  (get exact "Current LE" value from lvdisplay)
# NEW_SIZE="20G"
# parted -a optimal /dev/sdc mklabel gpt mkpart p1 ext4 0% 100%
# pvcreate /dev/sdc1
# vgcreate nodexx /dev/sdc1
# lvcreate -n lv_root -l $CURRENT_LE nodexx
# dd if=/dev/node07/lv_root of=/dev/nodexx/lv_root bs=4M
# lvresize /dev/vg_nodexx/lv_root -L $NEW_SIZE
# fsck.ext4 -f -y /dev/vg_nodexx/lv_root
# resize2fs /dev/vg_nodexx/lv_root

Você vai querer reservar o LVM e as ferramentas do sistema de arquivos, mas esse é um ótimo candidato para scripts de shell.

    
por 02.07.2015 / 01:48
0

Você pode fazer quase a mesma coisa que o software VMware p2v faz. O que ele faz é criar os novos sistemas de arquivos no novo sistema exatamente como você quer que eles estejam, então faça um tar dos sistemas de arquivos através do outro servidor. Dessa forma, você obtém tudo exatamente igual e copia apenas arquivos e espaços que estão sendo usados atualmente. Então você tem que fazer o grub para ter certeza que é inicializável.

    
por 02.02.2016 / 15:36
-2

O LVM faz muitas coisas muito mais complicadas do que apenas um disco simples com uma partição simples ... e por causa disso ... a clonagem é um processo muito mais complicado.

Na verdade, seria melhor (re) criar o volume lvm manualmente (ou com script) e depois simplesmente usar o processo sfdisk / partclone para clonar os dados reais para o novo LVM.

Isso também lhe daria a vantagem de poder clonar um sistema RAID-1 para uma configuração RAID-5 em mais discos ... já que as partições não seriam afetadas.

    
por 02.07.2015 / 01:23