- Se incorporó
- 14 Enero 2008
- Mensajes
- 1.428
En el post anterior les conté que mi servidor había quedado con un raid 0 por software, luego de hinchar a mi jefe logre convencerlo que comprara 2 discos mas para pasar a raid 10. La siguiente guía esta pensada para no tener que reinstalar todo desde el principio y esta basada en el tutorial de esta pagina https://www.burgundywall.com/post/convert-raid1-to-raid10-with-lvm
Primero paso a recordar como tenia mi servidor en el punto de partida inicial:
2 Discos SATA con 3 particiones cada 1, una para EFI, 1 para boot en RAID1 y otra para el LVM en raid 0, las cuales están en orden sda1-efi,sda2-raid1,sda3-raid0, lo mismo para el otro disco
1) - Clonar Esquema de Particiones
Revisar que los discos esten conectados
los dicos nuevos en mi caso aparecieron como /dev/sdc y /dev/sdd
instalar herramienta para copiar esquema de particionado
Copiamos el particionado de /dev/sda al nuevo /dev/sdc
Copiamos el particionado de /dev/sdb al nuevo /dev/sdd
revisamos que este todo ok
Aparecen las nuevas particiones
listamos nuestros raids actuales
2) - Agregar discos al Raid1
Dado mi esquema de particionado debo usar la segunda particion de los discos nuevos.
Agregamos las particiones al raid 1
Preparacion para un backup externo antes de extender mi raid
Extiendo mi raid 1
revisamos
3) - Crear Raid 10
Partimos creaando un raid10 con 2 unidades perdidas utilizando las particiones nuevas /dev/sdc3 y /dev/sdd3
revisamos nuestros raids
modificamos mdadm conf agregando nuestro nuevo raid pegando la ultima linea
revisamos el estado actual de los raid
Creamos un nuevo volumen fisico para LVM
revisamos
Extendemos nuestro Volumen Group, en mi caso VG1
revisamos
Movemos los datos desde nuetro viejo Raid al Nuevo aprovechando LVM. Esto tardara muuuucho rato
reducimos nuestro Volume Group quitando el raid viejo
quitamos el volumen Fisico
revisamos
detenemos el raid viejo
Editamos mdadm conf quitando nuestro raid viejo
preparamos las particiones viejas para meterlas al raid10
agregamos las unidadesal raid 10
Revisamoes
Wiii todo perfecto ahora solo esperara, tardara muuucho rato
4) - Duplicar particion efi
#revisamos cual particion efi esta cargando
clonamos particion hacia los otros 3 discos
Con esto queda todo el sistema bastante solido ante desastres, lo unico que me quedo pendiente es agregar las entradas alternativas del grub
Primero paso a recordar como tenia mi servidor en el punto de partida inicial:
2 Discos SATA con 3 particiones cada 1, una para EFI, 1 para boot en RAID1 y otra para el LVM en raid 0, las cuales están en orden sda1-efi,sda2-raid1,sda3-raid0, lo mismo para el otro disco
1) - Clonar Esquema de Particiones
Revisar que los discos esten conectados
Código:
ls /dev/sd*
/dev/sda /dev/sda2 /dev/sdb /dev/sdb2 /dev/sdc
/dev/sda1 /dev/sda3 /dev/sdb1 /dev/sdb3 /dev/sdd
instalar herramienta para copiar esquema de particionado
Código:
sudo apt-get install gdisk
Código:
sudo sgdisk --backup=table /dev/sda
sudo sgdisk --load-backup=table /dev/sdc
sudo sgdisk -G /dev/sdc
Código:
sudo sgdisk --backup=table /dev/sdb
sudo sgdisk --load-backup=table /dev/sdd
sudo sgdisk -G /dev/sdd
Código:
ls /dev/sd*
/dev/sda /dev/sda2 /dev/sdb /dev/sdb2 /dev/sdc /dev/sdc2 /dev/sdd /dev/sdd2
/dev/sda1 /dev/sda3 /dev/sdb1 /dev/sdb3 /dev/sdc1 /dev/sdc3 /dev/sdd1 /dev/sdd3
listamos nuestros raids actuales
Código:
ls /dev/md
0 1
2) - Agregar discos al Raid1
Dado mi esquema de particionado debo usar la segunda particion de los discos nuevos.
Agregamos las particiones al raid 1
Código:
sudo mdadm --add /dev/md/0 /dev/sdc2
sudo mdadm --add /dev/md/0 /dev/sdd2
Código:
sudo mount /dev/sde1 /mnt/externo
Código:
sudo mdadm --grow --raid-devices=4 --backup-file=/mnt/externo/grow_md0.bak /dev/md/0
Código:
sudo cat /proc/mdstat
md0 : active raid1 sdd2[3] sdc2[2] sdb2[1] sda2[0]
499392 blocks super 1.2 [4/4] [UUUU]
3) - Crear Raid 10
Partimos creaando un raid10 con 2 unidades perdidas utilizando las particiones nuevas /dev/sdc3 y /dev/sdd3
Código:
sudo mdadm -v --create /dev/md/raid10 --level=raid10 --raid-devices=4 /dev/sdc3 missing /dev/sdd3 missing
Código:
sudo mdadm --examine --scan
ARRAY /dev/md/0 metadata=1.2 UUID=6486ff0f:8dcb3764:f2f6cb4c:298e1c33 name=Franky:0
ARRAY /dev/md/1 metadata=1.2 UUID=0fc62961:05970189:9370c3ed:7ea8b5c1 name=Franky:1
ARRAY /dev/md/raid10 metadata=1.2 UUID=4bca3f55:7edc812a:d728b13f:a287c921 name=Franky:raid10
Código:
sudo vim /etc/mdadm/mdadm.conf
#pegamos la linea
ARRAY /dev/md/raid10 metadata=1.2 UUID=4bca3f55:7edc812a:d728b13f:a287c921 name=Franky:raid10
Código:
sudo cat /proc/mdstat
ls /dev/md
Personalities : [raid0] [raid1] [raid10]
md127 : active raid10 sdc3[0] sdd3[2]
3907021824 blocks super 1.2 512K chunks 2 near-copies [4/2] [U_U_]
md0 : active raid1 sdd2[3] sdc2[2] sdb2[1] sda2[0]
499392 blocks super 1.2 [4/4] [UUUU]
md1 : active raid0 sda3[1] sdb3[0]
243684400 blocks super 1.2 [2/2] [UU]
#Notar que nombro mi raid10 como md127, en alguna parte lo llamo de esta forma ojo con eso
Código:
sudo pvcreate /dev/md/raid10
Código:
sudo pvdisplay
Código:
sudo vgextend VG1 /dev/md/raid10
Código:
sudo pvdisplay
Código:
sudo pvmove -i1 -v /dev/md1 /dev/md127
Código:
sudo vgreduce VG1 /dev/md/1
Código:
sudo pvremove /dev/md/1
Código:
sudo pvs -o+pv_used
cat /proc/mdstat
Código:
sudo mdadm --stop /dev/md1
Código:
sudo vim /etc/mdadm/mdadm.conf
#en mi caso quedo asi
ARRAY /dev/md/0 metadata=1.2 UUID=6486ff0f:8dcb3764:f2f6cb4c:298e1c33 name=Franky:0
#ARRAY /dev/md/1 metadata=1.2 UUID=0fc62961:05970189:9370c3ed:7ea8b5c1 name=Franky:1
ARRAY /dev/md/raid10 metadata=1.2 UUID=4bca3f55:7edc812a:d728b13f:a287c921 name=Franky:raid10
Código:
sudo mdadm --zero-superblock /dev/sda3
sudo mdadm --zero-superblock /dev/sdb3
Código:
sudo mdadm /dev/md/raid10 --add /dev/sda3
sudo mdadm /dev/md/raid10 --add /dev/sdb3
Código:
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 : active raid10 sdb3[5](S) sda3[4] sdd3[2] sdc3[0]
3905516544 blocks super 1.2 512K chunks 2 near-copies [4/2] [U_U_]
[=======>.............] recovery = 38.6% (754396928/1952758272) finish=200.1min speed=99766K/sec
md0 : active raid1 sdd2[3] sdc2[2] sdb2[1] sda2[0]
499392 blocks super 1.2 [4/4] [UUUU]
4) - Duplicar particion efi
#revisamos cual particion efi esta cargando
Código:
df -h
/dev/sda1 120M 3.4M 116M 3% /boot/efi
Código:
sudo dd if=/dev/sda1 of=/dev/sdb1
sudo dd if=/dev/sda1 of=/dev/sdc1
sudo dd if=/dev/sda1 of=/dev/sdd1
Con esto queda todo el sistema bastante solido ante desastres, lo unico que me quedo pendiente es agregar las entradas alternativas del grub