
Estamos usando RHEL 5.4 y necesitamos clonar algunos discos duros. ¿Cuál sería una buena (o "correcta") forma de hacer esto? Me gustaría evitar usar dd si puedo, ya que es algo lento. (Sin embargo, si esa es la única opción, que así sea).
Algunas advertencias:
1) No es posible usar otras distribuciones, incluidos los CD en vivo, ya que tenemos un proceso de aprobación muy estricto y la única distribución que podemos usar es RHEL.
2) Si es posible, debemos utilizar software que forme parte de los paquetes de RHEL. Aún se agradecen las recomendaciones de otro software, pero si podemos usar algo que ya forma parte de RHEL, nos ahorraríamos mucho papeleo.
Me doy cuenta de que parece que estoy tratando de hacer el trabajo más difícil de lo que debería ser, pero así es la naturaleza de las regulaciones corporativas.
¡Gracias por cualquier ayuda!
Respuesta1
¿Qué tan exacto necesitas un clon? Si hay LVM, por ejemplo, ¿es necesario que coincidan los ID? ext2 (y 3, y probablemente la mayoría de los sistemas de archivos Linux) tiene un Identificador Universalmente Único (UUID) en cada sistema de archivos; ¿Es necesario que coincidan entre el original y el clon?
En otras palabras, ¿para qué necesitas el clon?
No hay nada más rápido que dd para hacer un clon exacto y verdadero de una unidad.
Algunas alternativas dd
- Utilice fdisk (o parted o cfdisk o lo que sea) para duplicar la partición. herramientas lv si es necesario. Cree sistemas de archivos, use
rsync
o(cd /origmount ; tar cf) | (cd /newmount; tar xf -)
ocp
para copiar los datos: esto dispondrá los archivos en una disposición de bloques completamente diferente, pero se verán idénticos. O no monte los sistemas de archivos originales y use algo comodump -level0 -f - /dev/sda1 | (cd /mnt/sdb1; restore -f - -rf)
- Utilice con cuidado las herramientas RAID de software (md) para crear un RAID1 degradado a partir de las particiones originales, agregue las nuevas particiones, espere a que finalice la sincronización y luego rompa el RAID. Probablemente será más lento que dd, pero la mayor parte del trabajo se puede realizar mientras la máquina está funcionando, por lo que puede ser "más rápido" para ciertas definiciones de esa palabra.
Respuesta2
Estos son pasos que registré para pasar de un disco administrado LVM grande con una instalación de CentOS 5.5 a un disco más pequeño (obviamente, el espacio utilizado en el disco grande era menor que el tamaño del disco más pequeño). Estoy seguro de que hay mejores formas de hacer esto, pero este método tuvo éxito. Algunos pasos pueden ser específicos de nuestra situación, modifíquelos según sea necesario.
Requisitos:
- Instalar CD
- Nuevo disco
Pasos:
Conecte el nuevo disco
Inicie con el CD, cuando se le solicite, escriba "rescate de Linux" para ingresar al modo de rescate. Le preguntará si desea continuar u omitir el montaje; debe continuar (se montará en
/mnt/sysimage
). No formatee el nuevo disco si se lo solicita.Verifique la geometría anterior con
fdisk -l
. Probablemente tendrá/dev/sda1
y/dev/sda2
en una configuración LVM normal.sda1
será su partición /boot que existe fuera de LVM. Su tamaño debe ser de 1 a 13 y el resto del disco debe estar dedicado al 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
- Crear un sistema de archivos para /boot en /dev/sdb1
.
# mkfs.ext3 /dev/sdb1
- Configure nuevos volúmenes físicos, grupos de volúmenes y volúmenes lógicos y sus sistemas de archivos en /dev/sdb2. Reemplace
?G
con el tamaño que desee. LogVol00 debe ser el tamaño de la partición LVM menos el tamaño de volumen de intercambio requerido, LogVol01 debe ser su tamaño de intercambio.
.
# 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 el nuevo disco y copie el contenido del disco antiguo con
cp -ax
. Evite copiar/dev
,/proc
,/sys
,/boot
,/lost+found
y/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 el disco nuevo
/boot
y copie el contenido del disco antiguo, luego desmóntelo
.
# mkdir /mnt/{boot,newboot}
# mount /dev/sda1 /mnt/boot
# mount /dev/sdb1 /mnt/newboot
# cp -ax /mnt/boot/* /mnt/newboot
# umount /mnt/newboot
- Instale grub en el nuevo disco
.
# mount -o bind /dev /mnt/newdisk/dev
# mount /dev/sdb1 /mnt/newdisk/boot
# chroot /mnt/newdisk
# grub
> root (hd1,0)
> setup (hd1)
> quit
- Arregla tu
/boot/grub/grub.conf
.
# vi /boot/grub/grub.conf
:%s/VolGroup00/VolGroup01/g
:wq
- Rehaz tus inicios
.
# 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
- Salir del chroot
.
# exit
#
- Arregla tu
/etc/fstab
.
# vi /mnt/newdisk/etc/fstab
:%s/VolGroup00/VolGroup01/g
:wq
En este punto, apague y retire el disco antiguo. Arranque nuevamente en modo de rescate.
/dev/sdb
ahora será/dev/sda
y montará a/mnt/sysimage
Etiqueta
/boot
.
# e2label /dev/sda1 /boot
- Retire el CD y debería poder iniciar en el disco redimensionado en este punto.
Respuesta3
Bueno, si evita usar 'dd' y cualquier otra herramienta que no sea de RHEL, entonces se verá obligado a duplicar sistemas de archivos y copiar el contenido (usando la herramienta que elija, cpio, tar, rsync, etc.) y colocando GRUB en las nuevas unidades. Esto se haría mejor con unidades inactivas (quizás arrancadas en modo de rescate RHEL).
Respuesta4
Para obtener copias de imágenes de sus discos, puede probar Ghost, Fog, Clonezilla, etc. (incluso VMware Converter, etc.).
Para una copia del sistema de archivos, recomendaría rsync y similares.