Como fazer um clone de um HD usando RHEL 5.4?

Como fazer um clone de um HD usando RHEL 5.4?

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

  1. Use fdisk (ou parted ou cfdisk ou qualquer outro) para duplicar o particionamento. ferramentas lv, se necessário. Crie sistemas de arquivos, use rsyncou (cd /origmount ; tar cf) | (cd /newmount; tar xf -)copie cpos 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)
  2. 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/sda1e /dev/sda2em uma configuração LVM regular. sda1será 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 ?Gpelo 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, /boote/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 /boote 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/sdbagora será /dev/sdae 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.

informação relacionada