Cambiar particiones en Software Raid 1 md raid

Semi traducción del articulo:

http://www.css-networks.com/2010/12/how-to-remove-linux-software-raid1-md-raid-on-the-fly-so-that-vmware-converter-works/ ( How to remove Linux software RAID1 (md raid) on-the-fly so that VMWare Converter works )

Alguna vez utilizando el Vmware Convert, intente clonar una maquina con software Raid 1, y el convert siempre sacaba error, por lo cual fue necesario cambiar las particiones de /dev/md1 a /dev/sda1 o /dev/hda1 como generalmente se ven las particiones cuando no tienen RAID, para ello se realizo el siguiente procedimiento:


NOTA: En vista que se supone que estamos trabajando con un RAID 1 donde los discos se encuentran totalmente duplicados, se recomienda antes de iniciar el procedimiento iniciar la maquina con cada uno de los discos de forma independiente y cada uno de ellos debería funcionar, una vez realizada esta prueba, deje únicamente uno de los discos en la maquina, con esto podrá tener la certeza que si algo sale mal podrá poner el disco sobre el cual no se hicieron modificaciones.............. Buena Suerte!!!

Lo primero fue realizar una copia de la configuración de los archivos involucrados

[root@e-quarks ~]# cd /etc/
[root@e-quarks etc]# mv mdadm.conf mdadm.conf.default
[root@e-quarks etc]# cp grub.conf grub.conf.default
[root@e-quarks etc]# cp fstab fstab.default
[root@e-quarks etc]# fdisk -l


Disk /dev/hda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 fd Linux raid autodetect
/dev/hda2 14 271 2072385 fd Linux raid autodetect
/dev/hda3 272 19457 154111545 fd Linux raid autodetect

Disk /dev/hdc: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdc1 * 1 13 104391 fd Linux raid autodetect
/dev/hdc2 14 271 2072385 fd Linux raid autodetect
/dev/hdc3 272 19457 154111545 fd Linux raid autodetect

Disk /dev/md2: 157.8 GB, 157810098176 bytes
2 heads, 4 sectors/track, 38527856 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/md1: 2122 MB, 2122055680 bytes
2 heads, 4 sectors/track, 518080 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md0: 106 MB, 106823680 bytes
2 heads, 4 sectors/track, 26080 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md0 doesn't contain a valid partition table
Una vez viendo los discos y sus respectivos RAID, se procede a realizar el cambio en el tipo de partición

[root@e-quarks etc]# fdisk /dev/hda


The number of cylinders for this disk is set to 19457.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 fd Linux raid autodetect
/dev/hda2 14 271 2072385 fd Linux raid autodetect
/dev/hda3 272 19457 154111545 fd Linux raid autodetect

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 83
Changed system type of partition 1 to 83 (Linux)

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap / Solaris)

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 83
Changed system type of partition 3 to 83 (Linux)


Command (m for help): p

Disk /dev/hda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 271 2072385 82 Linux swap / Solaris
/dev/hda3 272 19457 154111545 83 Linux

Command (m for help): wq
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
Luego de realizar el cambio en el tipo de particiones sobre los discos, se procede a cambiar el archivo /etc/fstab para que este vea los cambios

[root@e-quarks etc]# vi /etc/fstab

/dev/hda3 / ext3 defaults 1 1
/dev/hda1 /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/hda2 swap swap defaults 0 0

Luego en el archivo del gestor de arranque también se deben modificar las particiones para que no las vea como md0 si no como sda o hda


[root@e-quarks etc]# vi grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/md2
# initrd /initrd-version.img
#boot=/dev/md0
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.8.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.8.1.el5 ro root=/dev/hda3 rhgb quiet
initrd /initrd-2.6.18-194.8.1.el5.img
title CentOS (2.6.18-164.15.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.15.1.el5 ro root=/dev/hda3 rhgb quiet
initrd /initrd-2.6.18-164.15.1.el5.img
title CentOS (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/hda3 rhgb quiet
initrd /initrd-2.6.18-164.el5.img


Por ultimo es necesario re generar el archivo initrd, para ello se debe eliminar o mover el archivo actual, con la versión de kernel actual

[root@e-quarks etc]# cd /boot
[root@e-quarks boot]# mv initrd-`uname -r`.img initrd-`uname -r`.img.backup

[root@e-quarks boot]# mkinitrd /boot/initrd-`uname -r`.img `uname -r`

[root@e-quarks boot]# ls -ltr # para garantizar que el ultimo initrd sea el de la fecha actual


Reiniciar la maquina y probar

No hay comentarios:

Publicar un comentario en la entrada