Configuración de RAID1 con un volumen físico activo (Debian 9 stretch)

Configuración de RAID1 con un volumen físico activo (Debian 9 stretch)

He intentado seguir la siguiente guía para configurar RAID1: https://www.howtoforge.com/set-up-raid1-on-a-running-lvm-system-debian-etch

Actualmente tengo dos discos duros de 6 TB, creé un volumen físico directamente en uno de ellos, el otro es nuevo y está intacto.

sdc                8:32   0   5.5T  0 disk
├─DATA-user_data 254:0    0     4T  0 lvm
└─DATA-app_data  254:1    0     1T  0 lvm
sdd                8:48   0   5.5T  0 disk

El sdcvolumen físico tiene un único grupo de volúmenes que contiene dos volúmenes lógicos.

root@server:# pvscan
  PV /dev/sdc   VG DATA            lvm2 [5.46 TiB / 469.03 GiB free]
  Total: 1 [5.46 TiB] / in use: 1 [5.46 TiB] / in no VG: 0 [0   ]
root@server:# vgscan
  Reading volume groups from cache.
  Found volume group "DATA" using metadata type lvm2
root@server:# lvscan
  ACTIVE            '/dev/DATA/user_data' [4.00 TiB] inherit
  ACTIVE            '/dev/DATA/app_data' [1.00 TiB] inherit

Llegué al punto de la guía en el que necesito copiar la tabla de particiones de sdca sdd, pero, por supuesto, esto no es posible porque sdcno tiene una tabla de particiones.

¿Cómo puedo configurar RAID1 con sdcy sdd?

Respuesta1

Puede crear volúmenes espejo agregando sdda VG

pvcreate /dev/sdd
vgextend DATA /dev/sdd

y luego cambiar el número de copias de cada LV

lvconvert -m1 DATA/user_data
lvconvert -m1 DATA/app_data

(1 significa dos copias de datos, 0 significa una copia) Puede verificar el progreso de la duplicación mediante un comando como:

lvs -a -o name,copy_percent,devices DATA

Respuesta2

Bueno elperezosoLa opción sería simplemente tomar la configuración actual con calma, agregarla /dev/sdda LVM tal como está y dejar que LVM maneje el RAID por usted. Eso significa mdadmque no está involucrado en absoluto (al menos no directamente). Mira la respuesta de Romeo, es buena.

Si desea utilizar mdadm, aunque no es imposible hacerlo tardíamente (usando metadatos de la versión 1.0 al final del disco), elforma apropiadahacerlo sería particionar /dev/sdd, poner mdadmRAID en la partición, poner LVM en el RAID y migrar los datos. Y una vez que haya confirmado que la copia es buena, puede disolverla /dev/sdc, particionarla de la misma manera y agregarla al RAID.

Apenas:

# partition step
parted /dev/sdd
(parted) mklabel gpt
(parted) mkpart md0_0 1MiB -1MiB
(parted) print free
(parted) quit

# mdadm step
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdd1 missing
mdadm --detail --scan > /etc/mdadm.conf

# lvm step (rsync variant, two independent copies)
vgcreate RAIDDATA /dev/md0
lvcreate ...
mkfs ...
mount ...
# LV structure and filesystems as you see fit, then copy everything over
rsync -a /mnt/DATA/. /mnt/RAIDDATA/.

# alternative lvm step (pvmove variant, single copy)
vgextend DATA /dev/md0
pvmove /dev/sdc
vgreduce DATA /dev/sdc

Migrar los archivos rsyncdebería ser más rápido y seguro (si algo sale mal, la copia original sigue ahí). Al mismo tiempo, es propenso a errores del usuario (es difícil saber si rsyncse ha perdido algo).

Migrar los datos pvmovees más lento y riesgoso (cualquier cosa sale mal, la copia original también desaparece), pero no se perderá nada (incluidos los archivos eliminados y demás).

En este punto, desea actualizar los UUID (si usó mkfs, rsync) en fstab/grub y actualizar initramfs. Reinicia y verifica que todo esté en orden y que /dev/sdcya no esté en uso. Luego puedes agregarlo al RAID.

# partition step
parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart md0_1 1MiB -1MiB
(parted) print free
(parted) quit

# raid resync step
mdadm /dev/md0 --add /dev/sdc1
watch -n 60 cat /proc/mdstat

Y eso es todo...

Considerándolo todo, le brindará la configuración que la mayoría de la gente espera (disco duro, particiones, raid, lvm, sistemas de archivos). También puedes agregar cifrado mientras lo haces. ;-)

información relacionada