
Estamos usando o RHEL 5.4 e precisamos clonar alguns discos rígidos. Qual seria uma maneira boa (ou "correta") de fazer isso? Eu gostaria de evitar usar dd se puder, pois é um pouco lento. (Se essa for a única escolha, então que assim seja.)
Algumas advertências:
1) Não é possível usar outras distros - incluindo live CDs - pois temos um processo de aprovação muito rígido e a única distro que podemos usar é a RHEL.
2) Se possível, precisamos usar software que faça parte dos pacotes RHEL. Recomendações de outros softwares ainda são apreciadas, mas se pudéssemos usar algo que já faz parte do RHEL, isso nos pouparia muita papelada.
Sei que parece que estou tentando tornar o trabalho mais difícil do que deveria, mas essa é a natureza das regulamentações corporativas.
Obrigado por qualquer ajuda!
Responder1
Quão exato é o clone que você precisa? Se houver LVM, por exemplo, os IDs precisam ser iguais? ext2 (e 3, e provavelmente a maioria dos sistemas de arquivos Linux) possui um Identificador Único Universal (UUID) em cada sistema de arquivos; eles precisam corresponder entre o original e o clone?
Em outras palavras, para que você precisa do clone?
Não há nada mais rápido que dd para criar um clone exato e verdadeiro de uma unidade.
Algumas alternativas de dd
- Use fdisk (ou parted ou cfdisk ou qualquer outro) para duplicar o particionamento. ferramentas lv, se necessário. Crie sistemas de arquivos, use
rsync
ou(cd /origmount ; tar cf) | (cd /newmount; tar xf -)
copiecp
os dados - Isso organizará os arquivos em um arranjo de blocos completamente diferente, mas parecerá idêntico. Ou não monte os sistemas de arquivos originais e use algo comodump -level0 -f - /dev/sda1 | (cd /mnt/sdb1; restore -f - -rf)
- Use cuidadosamente ferramentas RAID de software (md) para criar um RAID1 degradado a partir das partições originais, adicione as novas partições, aguarde a conclusão da sincronização e, em seguida, interrompa o RAID. Provavelmente será mais lento que dd, mas a maior parte do trabalho pode ser feita enquanto a máquina está funcionando, portanto pode ser "mais rápido" para certas definições dessa palavra.
Responder2
Estas são as etapas que registrei para migrar de um disco gerenciado LVM grande com instalação do CentOS 5.5 para um disco menor (obviamente o espaço usado no disco grande era menor que o tamanho do disco menor). Tenho certeza de que existem maneiras melhores de fazer isso, mas esse método foi bem-sucedido. Algumas etapas podem ser específicas para nossa situação, ajuste conforme necessário.
Requisitos:
- Instalar CD
- Novo disco
Passos:
Conecte o novo disco
Inicialize com o CD, no prompt digite "linux Rescue" para entrar no modo de recuperação. Ele irá perguntar se você deseja continuar ou pular a montagem, você deve continuar (ele será montado em
/mnt/sysimage
). Não formate o novo disco se for solicitado.Verifique a geometria anterior com
fdisk -l
. Você provavelmente terá/dev/sda1
e/dev/sda2
em uma configuração LVM regular.sda1
será sua partição /boot que existe fora do LVM. Seu tamanho deve ser de 1 a 13, com o restante do disco dedicado ao LVM.
.
# fdisk -l
...
/dev/sda1 * 1 13 ... 83 Linux
/dev/sda2 14 ... 8e Linux LVM
# fdisk /dev/sdb
>Command...:
n
>Command action
>e extended
>p primary partition (1-4)
p
>Partition number (1-4):
1
>First cylinder ...:
<default>
>Last cylinder ...:
13 (value from /dev/sda1, the original /boot)
>Command...:
n
>Command action
>e extended
>p primary partition (1-4)
p
>Partition number (1-4):
2
>First cylinder ...:
<default>
>Last cylinder ...:
<default (end of disk)>
>Command...:
t
>Partition...:
1
>Hex code...:
83
>Command...:
t
>Partition...:
2
>Hex code...:
8e
>Command...:
a
>Partition...:
1
>Command...:
w
- Crie um sistema de arquivos para /boot em /dev/sdb1
.
# mkfs.ext3 /dev/sdb1
- Configure novos volumes físicos, grupos de volumes e volumes lógicos e seus sistemas de arquivos em /dev/sdb2. Substitua
?G
pelo tamanho desejado. LogVol00 deve ser o tamanho da partição LVM menos o tamanho do volume de swap necessário, LogVol01 deve ser o tamanho do swap.
.
# pvcreate /dev/sdb2
# vgcreate VolGroup01 /dev/sdb2
# lvcreate --name LogVol00 --size ?G VolGroup01
# lvcreate --name LogVol01 --size ?G VolGroup01
# mkfs.ext3 /dev/VolGroup01/LogVol00
# mkswap /dev/VolGroup01/LogVol01
- Monte o novo disco e copie o conteúdo do disco antigo para ele com a extensão
cp -ax
. Evite copiar/dev
,/proc
,/sys
,/boot
e/lost+found
/mnt
.
# mkdir /mnt/newdisk
# mount /dev/VolGroup01/LogVol00 /mnt/newdisk
# cd /mnt/sysimage
# for i in $(ls -1 | grep -v '\(dev\|proc\|sys\|mnt\|boot\|lost\)'); do echo $i; cp -ax /mnt/sysimage/$i /mnt/newdisk; done
# cd /mnt/newdisk
# mkdir {dev,proc,sys,mnt,boot}
- Monte o novo
/boot
e copie o conteúdo do disco antigo para ele e desmonte-o
.
# mkdir /mnt/{boot,newboot}
# mount /dev/sda1 /mnt/boot
# mount /dev/sdb1 /mnt/newboot
# cp -ax /mnt/boot/* /mnt/newboot
# umount /mnt/newboot
- Instale o grub no novo disco
.
# mount -o bind /dev /mnt/newdisk/dev
# mount /dev/sdb1 /mnt/newdisk/boot
# chroot /mnt/newdisk
# grub
> root (hd1,0)
> setup (hd1)
> quit
- Corrija seu
/boot/grub/grub.conf
.
# vi /boot/grub/grub.conf
:%s/VolGroup00/VolGroup01/g
:wq
- Refaça seus initrds
.
# cd /boot
# for i in $(ls -1 initrd* | grep -v bak); do mv $i{,-bak}; ver=$(echo $i | sed 's/initrd-//;s/\.img//;'); mkinitrd /boot/$i $ver; done
- Sair do chroot
.
# exit
#
- Corrija seu
/etc/fstab
.
# vi /mnt/newdisk/etc/fstab
:%s/VolGroup00/VolGroup01/g
:wq
Neste ponto, desligue e remova o disco antigo. Inicialize novamente no modo de recuperação.
/dev/sdb
agora será/dev/sda
e montará em/mnt/sysimage
Rótulo
/boot
.
# e2label /dev/sda1 /boot
- Remova o CD e você poderá inicializar no disco redimensionado neste momento.
Responder3
Bem, se você está evitando usar 'dd' e qualquer outra ferramenta não fornecida pelo RHEL, então você está preso à duplicação de sistemas de arquivos e à cópia do conteúdo (usando a ferramenta de sua escolha, cpio, tar, rsync, etc) e colocando o GRUB nas novas unidades. Isso seria melhor feito com unidades desativadas (inicializadas no modo de recuperação RHEL, talvez).
Responder4
Para cópias de imagens de seus discos, você pode tentar Ghost, Fog, Clonezilla, etc. (até mesmo VMware Converter, etc.).
Para uma cópia do sistema de arquivos, recomendo o rsync e similares.