Migración a RAID 1 en ''Quente'': Diferenzas entre revisións
(Non se amosan 14 revisións do historial feitas polo mesmo usuario.) | |||
Liña 22: | Liña 22: | ||
root@host:# |
root@host:# |
||
</source> |
</source> |
||
'''2.-''' Cambiamos o tipo das particións ''/dev/sdb2'' e ''/dev/sdc2'' a ''Linux raid auto'' con '''fdisk''' |
'''2.-''' Cambiamos o tipo das particións ''/dev/sdb1'', ''/dev/sdc1'', ''/dev/sdb2'' e ''/dev/sdc2'' a ''Linux raid auto'' con '''fdisk''' |
||
<source lang='text'> |
<source lang='text'> |
||
root@earendil:/# fdisk /dev/sdb |
root@earendil:/# fdisk /dev/sdb |
||
Liña 175: | Liña 175: | ||
root@earendil:/# |
root@earendil:/# |
||
</source> |
</source> |
||
'''6.-''' Creamos |
'''6.-''' Creamos o ''LV'' |
||
<source lang='text'> |
|||
lvcreate -L9G -n Earendil-R1_System EARENDIL_R1 |
|||
Logical volume "Earendil-R1_System" created |
|||
</source> |
|||
'''7.-''' Formateamos as partición para ''/boot'' e o ''LV'' para ''/'' |
|||
<source lang='text'> |
|||
root@earendil:/# mkfs.ext2 /dev/md0p1 |
|||
mke2fs 1.42.8 (20-Jun-2013) |
|||
Etiqueta del sistema de ficheros= |
|||
OS type: Linux |
|||
Tamaño del bloque=4096 (bitácora=2) |
|||
Tamaño del fragmento=4096 (bitácora=2) |
|||
Stride=0 blocks, Stripe width=0 blocks |
|||
65536 inodes, 262144 blocks |
|||
13107 blocks (5.00%) reserved for the super user |
|||
Primer bloque de datos=0 |
|||
Número máximo de bloques del sistema de ficheros=268435456 |
|||
8 bloque de grupos |
|||
32768 bloques por grupo, 32768 fragmentos por grupo |
|||
8192 nodos-i por grupo |
|||
Respaldo del superbloque guardado en los bloques: |
|||
32768, 98304, 163840, 229376 |
|||
Allocating group tables: hecho |
|||
Escribiendo las tablas de nodos-i: hecho |
|||
Escribiendo superbloques y la información contable del sistema de ficheros: hecho |
|||
root@earendil:/# mkfs.ext4 /dev/EARENDIL_R1/Earendil-R1_System |
|||
mke2fs 1.42.8 (20-Jun-2013) |
|||
Etiqueta del sistema de ficheros= |
|||
OS type: Linux |
|||
Tamaño del bloque=4096 (bitácora=2) |
|||
Tamaño del fragmento=4096 (bitácora=2) |
|||
Stride=0 blocks, Stripe width=0 blocks |
|||
589824 inodes, 2359296 blocks |
|||
117964 blocks (5.00%) reserved for the super user |
|||
Primer bloque de datos=0 |
|||
Número máximo de bloques del sistema de ficheros=2415919104 |
|||
72 bloque de grupos |
|||
32768 bloques por grupo, 32768 fragmentos por grupo |
|||
8192 nodos-i por grupo |
|||
Respaldo del superbloque guardado en los bloques: |
|||
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 |
|||
Allocating group tables: hecho |
|||
Escribiendo las tablas de nodos-i: hecho |
|||
Creating journal (32768 blocks): hecho |
|||
Escribiendo superbloques y la información contable del sistema de ficheros: hecho |
|||
root@earendil:/# |
|||
</source> |
|||
'''8.-''' Axustamos a configuración dos ''RAID'' do sistema |
|||
<source lang='text'> |
|||
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig |
|||
mdadm --examine --scan >> /etc/mdadm/mdadm.conf |
|||
</source> |
|||
'''9.-''' Montamos as particións do sistema |
|||
<source lang='text'> |
|||
root@earendil:/# mkdir /mnt/boot |
|||
root@earendil:/# mkdir /mnt/root |
|||
root@earendil:/# mount /dev/md0p1 /mnt/boot |
|||
root@earendil:/# mount /dev/EARENDIL_R1/Earendil-R1_System /mnt/root |
|||
</source> |
|||
'''10.-''' Axuste do arranque. Averiguamos os UUID con '''blkid''' |
|||
*''/etc/fstab'' |
|||
<source lang='text'> |
|||
# /etc/fstab: static file system information. |
|||
# |
|||
# Use 'blkid' to print the universally unique identifier for a |
|||
# device; this may be used with UUID= as a more robust way to name devices |
|||
# that works even if disks are added and removed. See fstab(5). |
|||
# |
|||
# <file system> <mount point> <type> <options> <dump> <pass> |
|||
UUID=be869c76-a526-4fd7-9033-7cf3f5974d68 / ext4 errors=remount-ro 0 1 |
|||
UUID=403bcdd0-c77e-4a7c-816a-6a7d579b3353 none swap sw 0 0 |
|||
UUID=5c287f2d-970b-4271-b941-bc01666ec61c /boot ext2 default 0 2 |
|||
</source> |
|||
*Creamos unha entrada para ''grub'' en ''/etc/grub.d/06_migrate_to_raid'' |
|||
<source lang='text'> |
|||
#!/bin/sh |
|||
exec tail -n +3 $0 |
|||
# This file provides an easy way to add custom menu entries. Simply type the |
|||
# menu entries you want to add after this comment. Be careful not to change |
|||
# the 'exec tail' line above. |
|||
menuentry 'Debian GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os --class xen { |
|||
insmod raid |
|||
insmod mdraid1x |
|||
insmod lvm |
|||
insmod part_msdos |
|||
insmod ext2 |
|||
set root='(md0,1)' |
|||
search --no-floppy --fs-uuid --set=root 5c287f2d-970b-4271-b941-bc01666ec61c |
|||
echo 'Loading Xen 4.1-amd64 ...' |
|||
multiboot /xen-4.1-amd64.gz placeholder dom0_mem=1024M |
|||
echo 'Loading Linux ...' |
|||
module /vmlinuz-3.2.0-4-amd64 placeholder root=/dev/mapper/EARENDIL_R1-Earendil--R1_System ro quiet |
|||
echo 'Loading initial ramdisk ...' |
|||
module /initrd.img-3.2.0-4-amd64 |
|||
} |
|||
</source> |
|||
*montamos o novo sistema raíz en /mnt e o activamos |
|||
<source lang='text'> |
|||
mount /dev/EARENDIL_R1/Earendil-R1_System /mnt |
|||
mount /dev/md0p1 /mnt/boot |
|||
cp -dpRx / /mnt |
|||
mount -t proc none /mnt/proc |
|||
mount -o bind /dev /mnt/dev |
|||
chroot /mnt |
|||
# Actualizamos ''grub'' con '''update-grub''' |
|||
update-grub |
|||
#Creamos un novo initrd con |
|||
update-initramfs -u -k all |
|||
#Instalamos '''grub''' nos novos discos |
|||
grub-install /dev/sda |
|||
grub-install /dev/sdb |
|||
grub-install /dev/sdc |
|||
reboot |
|||
</source> |
Revisión actual feita o 22 de outubro de 2013 ás 17:00
Migraremos un sistema Debian Jessie instalado nunha partición simple dun disco montada no sistema raíz (/dev/sda1), a unha instalación con 2 discos en raid sobre LVM en /dev/sdb2 e /dev/sdc2. A estructura a montar será a seguinte:
- Se montarán as particións /dev/sdb2 e /dev/sdc2 en RAID 1
- Particionaremos o RAID /dev/md0 en unha partición para /boot' de 1GB e o resto nunha partición para crear un VG LVM.
- Se creará o VG e un LV para o raíz de 9GB. O uso de /home será irrelevante neste sistema
- O swap residirá en outra partición fora do RAID.
Instalación do RAID
Unha vez feitas as particións, crearemos o RAID 1:
1.- Cargamos os módulos RAID e miramos a configuración:
root@earendil:/# modprobe linear
root@earendil:/# modprobe multipath
root@earendil:/# modprobe raid0
root@earendil:/# modprobe raid1
root@earendil:/# modprobe raid5
root@earendil:/# modprobe raid6
root@earendil:/# modprobe raid10
root@earendil:/# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>
root@host:#
2.- Cambiamos o tipo das particións /dev/sdb1, /dev/sdc1, /dev/sdb2 e /dev/sdc2 a Linux raid auto con fdisk
root@earendil:/# fdisk /dev/sdb
The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
Orden (m para obtener ayuda): p
Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, 3907029168 sectores en total
Units = sectores of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Identificador del disco: 0x3bdc4138
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 2048 1048578047 524288000 83 Linux
/dev/sdb2 1048578048 3145730047 1048576000 83 Linux
/dev/sdb3 3145730048 3907029167 380649560 83 Linux
Orden (m para obtener ayuda): t
Número de partición (1-4): 2
Código hexadecimal (escriba L para ver los códigos): fd
Se ha cambiado el tipo de sistema de la partición 2 por fd (Linux raid autodetect)
Orden (m para obtener ayuda): wq
3.- Nos aseguramos de que as particións non teñen datos de algún RAID anterior
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdc2
4.- Creamos o RAID. Si o sistema estivara instalado en unha de estas dúas particións, poderíamos poñer missing en lugar de a partición do sistema para crear un RAID dexenerado ao que lle engadiríamos a outra partición cando estivera todo listo (a información almacenada no RAID).
root@earendil:/# mdadm --create /dev/md0 --level=1 --raid-disks=2 /dev/sdb2 /dev/sdc2
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
root@earendil:/# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc2[1] sdb2[0]
1048444736 blocks super 1.2 [2/2] [UU]
[>....................] resync = 1.9% (20398144/1048444736) finish=143.0min speed=119779K/sec
unused devices: <none>
5.- Particionamos o RAID
root@earendil:/# fdisk /dev/md0
El dispositivo no contiene una tabla de particiones DOS válida ni una etiqueta de disco Sun o SGI o OSF
Building a new DOS disklabel with disk identifier 0x552942f8.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Atención: el indicador 0x0000 inválido de la tabla de particiones 4 se corregirá mediante w(rite)
The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
Orden (m para obtener ayuda): p
Disk /dev/md0: 1073.6 GB, 1073607409664 bytes
2 heads, 4 sectors/track, 262111184 cylinders, 2096889472 sectores en total
Units = sectores of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Identificador del disco: 0x552942f8
Disposit. Inicio Comienzo Fin Bloques Id Sistema
Orden (m para obtener ayuda): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Número de partición (1-4, valor predeterminado 1):
Se está utilizando el valor predeterminado 1
Primer sector (2048-2096889471, valor predeterminado 2048):
Se está utilizando el valor predeterminado 2048
Last sector, +sectores or +size{K,M,G} (2048-2096889471, valor predeterminado 2096889471): +1G
Orden (m para obtener ayuda): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Número de partición (1-4, valor predeterminado 2):
Se está utilizando el valor predeterminado 2
Primer sector (2099200-2096889471, valor predeterminado 2099200):
Se está utilizando el valor predeterminado 2099200
Last sector, +sectores or +size{K,M,G} (2099200-2096889471, valor predeterminado 2096889471):
Se está utilizando el valor predeterminado 2096889471
Orden (m para obtener ayuda): p
Disk /dev/md0: 1073.6 GB, 1073607409664 bytes
2 heads, 4 sectors/track, 262111184 cylinders, 2096889472 sectores en total
Units = sectores of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Identificador del disco: 0x552942f8
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/md0p1 * 2048 2099199 1048576 83 Linux
/dev/md0p2 2099200 2096889471 1047395136 83 Linux
Orden (m para obtener ayuda): wq
¡Se ha modificado la tabla de particiones!
Llamando a ioctl() para volver a leer la tabla de particiones.
Se están sincronizando los discos.
root@earendil:/#
6.- Creamos o VG:
root@earendil:/# pvcreate /dev/md0p2
Physical volume "/dev/md0p2" successfully created
root@earendil:/# vgcreate EARENDIL_R1 /dev/md0p2
Volume group "EARENDIL_R1" successfully created
root@earendil:/# vgdisplay EARENDIL_R1
--- Volume group ---
VG Name EARENDIL_R1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 998,87 GiB
PE Size 4,00 MiB
Total PE 255711
Alloc PE / Size 0 / 0
Free PE / Size 255711 / 998,87 GiB
VG UUID ZUyOZJ-r3lM-MliE-lu4k-XUrI-mYUE-7smNxP
root@earendil:/#
6.- Creamos o LV
lvcreate -L9G -n Earendil-R1_System EARENDIL_R1
Logical volume "Earendil-R1_System" created
7.- Formateamos as partición para /boot e o LV para /
root@earendil:/# mkfs.ext2 /dev/md0p1
mke2fs 1.42.8 (20-Jun-2013)
Etiqueta del sistema de ficheros=
OS type: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=268435456
8 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8192 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
32768, 98304, 163840, 229376
Allocating group tables: hecho
Escribiendo las tablas de nodos-i: hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho
root@earendil:/# mkfs.ext4 /dev/EARENDIL_R1/Earendil-R1_System
mke2fs 1.42.8 (20-Jun-2013)
Etiqueta del sistema de ficheros=
OS type: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
Stride=0 blocks, Stripe width=0 blocks
589824 inodes, 2359296 blocks
117964 blocks (5.00%) reserved for the super user
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=2415919104
72 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8192 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: hecho
Escribiendo las tablas de nodos-i: hecho
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho
root@earendil:/#
8.- Axustamos a configuración dos RAID do sistema
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
9.- Montamos as particións do sistema
root@earendil:/# mkdir /mnt/boot
root@earendil:/# mkdir /mnt/root
root@earendil:/# mount /dev/md0p1 /mnt/boot
root@earendil:/# mount /dev/EARENDIL_R1/Earendil-R1_System /mnt/root
10.- Axuste do arranque. Averiguamos os UUID con blkid
- /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=be869c76-a526-4fd7-9033-7cf3f5974d68 / ext4 errors=remount-ro 0 1
UUID=403bcdd0-c77e-4a7c-816a-6a7d579b3353 none swap sw 0 0
UUID=5c287f2d-970b-4271-b941-bc01666ec61c /boot ext2 default 0 2
- Creamos unha entrada para grub en /etc/grub.d/06_migrate_to_raid
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry 'Debian GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os --class xen {
insmod raid
insmod mdraid1x
insmod lvm
insmod part_msdos
insmod ext2
set root='(md0,1)'
search --no-floppy --fs-uuid --set=root 5c287f2d-970b-4271-b941-bc01666ec61c
echo 'Loading Xen 4.1-amd64 ...'
multiboot /xen-4.1-amd64.gz placeholder dom0_mem=1024M
echo 'Loading Linux ...'
module /vmlinuz-3.2.0-4-amd64 placeholder root=/dev/mapper/EARENDIL_R1-Earendil--R1_System ro quiet
echo 'Loading initial ramdisk ...'
module /initrd.img-3.2.0-4-amd64
}
- montamos o novo sistema raíz en /mnt e o activamos
mount /dev/EARENDIL_R1/Earendil-R1_System /mnt
mount /dev/md0p1 /mnt/boot
cp -dpRx / /mnt
mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev
chroot /mnt
# Actualizamos ''grub'' con '''update-grub'''
update-grub
#Creamos un novo initrd con
update-initramfs -u -k all
#Instalamos '''grub''' nos novos discos
grub-install /dev/sda
grub-install /dev/sdb
grub-install /dev/sdc
reboot