Posts Tagged ‘Raid’
Excelente Articulo de como montar un RAID 1 en un servidor Debian ya instalado y en funcionamiento, puesto que por norma se configura un RAID solo cuando no existe sistema instalado.
Lo que vamos a ver en este artículo es cómo montar un raid 1 completo de todo el sistema Debian, con éste ya instalado y funcionando. De esta forma contesto a varias personas que me han pedido este artículo tanto en los comentarios del primero como por email. Para no hacer muy pesado el artículo obviaré algunas partes que están detalladas en el artículo anterior del raid 1, por lo que si algún paso no lo comprendes, por favor lee el artículo anterior para aclarar las dudas.
Debo aclarar que este tutorial está pensado para Debian y similares por lo que en otras distribuciones no funcionará correctamente al no existir el comando update-initramfs.
Partimos de un sistema ya instalado con tres particiones distintas: /dev/sda1 para /boot, /dev/sda5 para el swap y /dev/sda6 para /.
Filesystem Size Used Avail Use% Mounted on /dev/sda6 7.4G 509M 6.5G 8% / tmpfs 63M 0 63M 0% /lib/init/rw udev 10M 84K 10M 1% /dev tmpfs 63M 0 63M 0% /dev/shm /dev/sda1 177M 11M 157M 7% /boot
shian:~# sfdisk -d /dev/sda | sfdisk /dev/sdb Checking that no-one is using this disk right now ... OK Disk /dev/sdb: 1044 cylinders, 255 heads, 63 sectors/track sfdisk: ERROR: sector 0 does not have an msdos signature /dev/sdb: unrecognized partition table type Old situation: No partitions found New situation: Units = sectors of 512 bytes, counting from 0 Device Boot Start End #sectors Id System /dev/sdb1 63 385559 385497 83 Linux /dev/sdb2 385560 16771859 16386300 5 Extended /dev/sdb3 0 - 0 0 Empty /dev/sdb4 0 - 0 0 Empty /dev/sdb5 385623 1172744 787122 82 Linux swap / Solaris /dev/sdb6 1172808 16771859 15599052 83 Linux
... Command (m for help): p Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 24 192748+ fd Linux raid autodetect /dev/sdb2 25 1044 8193150 5 Extended /dev/sdb5 25 73 393561 fd Linux raid autodetect /dev/sdb6 74 1044 7799526 fd Linux raid autodetect
shian:~# mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1 mdadm: array /dev/md0 started. shian:~# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb5 mdadm: array /dev/md1 started. shian:~# mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb6 mdadm: array /dev/md2 started.
shian:~# mkfs.ext2 /dev/md0 shian:~# mkswap /dev/md1 shian:~# mkfs.ext3 /dev/md2
shian:~# cd /etc/mdadm shian:/etc/mdadm# cp mdadm.conf mdadm.conf.`date +%y%m%d` shian:/etc/mdadm# echo "DEVICE partitions" > mdadm.conf shian:/etc/mdadm# mdadm --detail --scan >> mdadm.conf
shian:~# mkdir /mnt/md0 shian:~# mkdir /mnt/md2 shian:~# mount /dev/md0 /mnt/md0 shian:~# mount /dev/md2 /mnt/md2
# /etc/fstab: static file system information. # #proc /proc proc defaults 0 0 /dev/md2 / ext3 defaults,errors=remount-ro 0 1 /dev/md0 /boot ext2 defaults 0 2 /dev/md1 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
# Línea original #title Debian GNU/Linux, kernel 2.6.18-4-686 #root (hd0,0) #kernel /vmlinuz-2.6.18-4-686 root=/dev/sda6 ro #initrd /initrd.img-2.6.18-4-686 #savedefault # Nuevas líneas title Debian GNU/Linux, kernel 2.6.18-4-686 (HD1) root (hd1,0) kernel /vmlinuz-2.6.18-4-686 root=/dev/md2 ro initrd /initrd.img-2.6.18-4-686 savedefault title Debian GNU/Linux, kernel 2.6.18-4-686 (HD0) root (hd0,0) kernel /vmlinuz-2.6.18-4-686 root=/dev/md2 ro initrd /initrd.img-2.6.18-4-686 savedefault
shian:~# update-initramfs -u update-initramfs: Generating /boot/initrd.img-2.6.18-4-686
shian:~# cp -ax / /mnt/md2 shian:~# cd /boot/ shian:/boot# cp -ax . /mnt/md0
shian:~# grub grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. succeeded Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/menu.lst"... succeeded Done. grub> root (hd1,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd1) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd1)"... 15 sectors are embedded. succeeded Running "install /grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/grub/stage2 /grub/menu.lst"... succeeded Done.
shian:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/md2 7.4G 509M 6.5G 8% / tmpfs 63M 0 63M 0% /lib/init/rw udev 10M 100K 10M 1% /dev tmpfs 63M 0 63M 0% /dev/shm /dev/md0 183M 13M 161M 8% /boot shian:~# mount /dev/md2 on / type ext3 (rw,errors=remount-ro) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) udev on /dev type tmpfs (rw,mode=0755) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620) /dev/md0 on /boot type ext2 (rw)
shian:~# fdisk /dev/sda ... Command (m for help): p Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 1 24 192748+ fd Linux raid autodetect /dev/sda2 25 1044 8193150 5 Extended /dev/sda5 25 73 393561 fd Linux raid autodetect /dev/sda6 74 1044 7799526 fd Linux raid autodetect ... shian:~# mdadm --add /dev/md0 /dev/sda1 mdadm: added /dev/sda1 shian:~# mdadm --add /dev/md1 /dev/sda5 mdadm: added /dev/sda5 shian:~# mdadm --add /dev/md2 /dev/sda6 mdadm: added /dev/sda6
shian:~# cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md2 : active raid1 sda6[2] sdb6[1] 7799424 blocks [2/1] [_U] [=====>...............] recovery = 25.2% (1967936/7799424) finish=1.1min speed=81997K/sec md1 : active raid1 sda5[0] sdb5[1] 393472 blocks [2/2] [UU] md0 : active raid1 sda1[0] sdb1[1] 192640 blocks [2/2] [UU] unused devices:
Un vez terminada la reconstrucción tendremos listo el sistema. Ahora, si queremos probar que todo funciona correctamente podemos reinicar de nuevo la máquina y comprobar que es capaz de arrancar desde cualquiera de los dos discos.
Con este tipo de configuración estamos seguros de que aunque falle un disco nuestro servidor estará disponible y no tendremos que reinstalar ni reconfigurar nada. Sólo será necesario cambiar el disco defectuoso, reconstruir el raid y reconfigurar el grub.
DERECHOS Y FUENTE: Blog de Iván López