Clonación de un sistema linux de sdx a cciss

Tengo un server HP ML 310 que ejecuta CentOS Linux 5.5. Estoy comprando una tarjeta RAID (LSI 9260-8i) para configurar una unidad de disco espejado OS. En este momento, la unidad de arranque está configurada con GRUB instalado en el MBR de / dev / sda y tiene una partición de 100MB / boot para / dev / sda1, entonces el rest está configurado en LVM con un 20GB con un VG de 20GB para la raíz partición & ~ 80GB VG para el hogar. Los nuevos tamaños de disco también serán ligeramente más grandes también. ¿Cuál es la mejor manera de clonar la unidad de arranque en el nuevo dispositivo CCISS?

Creo que debería pensar más en un ciclo completo de copy de security / reinstallation / restauración. Usted podría utilizar DD, pero los diferentes tamaños de disco no ayudan allí.

También puede usar tar o cualquier otra herramienta para get un volcado completo del sistema de files, reparticionar el nuevo disco y descomprimir todo el material en los lugares correctos. Usted puede incluso hacerlo a través de una networking y livecd / usb image utilizando nc :

Máquina para recibir la copy de security ( /target es donde se montan las nuevas particiones de disco):

 $ nc -l -p <port> | tar zxvf - -C /target/ 

Máquina donde está la copy de security:

 $ cat backup.tar.gz | nc <server ip> <port> 

Lo hago a menudo de esta manera:

  1. crear las particiones en la nueva unidad, "clonar" el layout de la partición. Las particiones no tienen que ser del mismo tamaño, igual o mayor.

  2. rsync particiones completas de un disco al nuevo (rsync -avx –exclude = / proc –exclude = / sys –exclude = / dev –exclude = …, "-x" para que no pase límites del sistema de files)

  3. si cambia el layout de la partición, adapte / etc / fstab

  4. algunos sistemas operativos utilizan / dev / disk / by-id / … nombrar y esto cambiará en sus nuevos dispositivos, adapte por lo tanto / etc / fstab, /boot/grub/menu.lst, quizás / boot / grub / device .map, …

  5. si la clonación a un nuevo sistema tendría que adaptar direcciones MAC también, pero esto no es el caso aquí …

Que te diviertas.

Como está utilizando LVM, utilizar instantáneas LVM es una buena idea. No soy un fanático de la clonación de volúmenes LVM porque los elementos Universalmente Únicos que son esenciales para la function LVM adecuada ya no son Universalmente Únicos. Nunca se sabe cuánto seguirá funcionando su sistema con hardware antiguo y nuevo. Yo sugeriría aprovechar la tecnología de instantáneas de LVM para todo lo demás el volumen de arranque. Básicamente, tienes VG_existente, y deberás añadir tus PVs a un nuevo grupo VG_new, crearás nuevos LV bajo este grupo y usarás los mismos nombres exactos que LVs i VG_old. A continuación, puede crear una instantánea de cada volumen en VG_old y, básicamente, hacer un 'dd' de cada instantánea a un volumen con el mismo nombre en su nuevo grupo. De esta manera no tendrá una configuration LVM congestionada, y puede hacerlo con un sistema en vivo, sin necesidad de ningún time de inactividad real. Usted tendrá que ajustar grub más tarde, y que están todos establecidos.

¿Me estoy perdiendo de algo? No hay ningún dispositivo cciss aquí. cciss generalmente representa los dispositivos de bloque ligados a los controlleres Smart Array de Compaq / HP. El LSI debería aparecer como un dispositivo / dev / sd [x]. De cualquier manera, recomiendo el método de copy de security, installation, restauración aquí, como se mencionó en comentarios anteriores.

Algunas respuestas excelentes aquí, pero yo quería publicar mi propia para documentar lo que hice que funcionó. La mayor parte se puede encontrar en Google fácilmente, pero un paso key me mantuvo en el trabajo tarde.

Con los nuevos discos no formateados instalados (discos antiguos y nuevos en el sistema), suponga que / dev / sda es el disco antiguo y / dev / sdb es el nuevo & sda es el dispositivo de arranque. Hice esto de un DVD de CentOS que arranca a "rescate de linux":

  • Crear un layout de partición en el nuevo disco similar al antiguo (dos puntos indica un command en fdisk):
    • fdisk / dev / sdb
    • norte; pag; 1; ; 13; un; 1 (partición de arranque de 100M)
    • norte; pag; 2; ; ; t 2; 8e (partición LVM para el rest del disco)
    • w
  • lvm pvcreate / dev / sdb2
  • lvm vgextend vg1 / dev / sdb2 (sustituya vg1 por su nombre de grupo de volúmenes)
  • lvm pvmove -v / dev / sda2 / dev / sdb2 (esto toma un time)
  • lvm vgnetworkinguce vg1 / dev / sda2 (elimine el disco antiguo del grupo de volúmenes)
  • dd si = / dev / sda1 de = / dev / sda2 bs = 1024 (partición de arranque clonada)
  • apague y desenchufe su disco viejo
  • arranque al DVD usando rescate de linux una vez más
  • chroot / mnt / sysimage
  • grub-install / dev / sda (sda es ahora tu nuevo disco)
  • / sbin / mkinitrd -f / boot / initrd- uname -r .img uname -r (reemplaza uname -r por la versión más reciente del kernel, utilizando backticks con uname -r puede funcionar en el command.)
  • reiniciar (en disco, no en DVD)

La parte que me había stumped era mkinitrd, que era necesario porque el disco del sistema estaba detrás de un nuevo controller y los controlleres no estaban incorporados en la image initrd anterior. Sin ellos, comenzaría a arrancar pero no podría encontrar el LVM.