Einrichten von RAID1 mit einem aktiven physischen Volume (Debian 9 Stretch)

Einrichten von RAID1 mit einem aktiven physischen Volume (Debian 9 Stretch)

Ich habe versucht, die folgende Anleitung zum Einrichten von RAID1 zu befolgen: https://www.howtoforge.com/raid1-auf-einem-laufenden-lvm-system-einrichten-debian-etch

Ich habe derzeit zwei 6TB-Festplatten, auf einer davon habe ich direkt ein physisches Volume erstellt, die andere ist brandneu und unberührt.

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

Auf dem sdcphysischen Datenträger befindet sich eine einzelne Datenträgergruppe mit zwei logischen Datenträgern.

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

Ich bin in der Anleitung an dem Punkt angelangt, an dem ich die Partitionstabelle von sdcnach kopieren muss sdd, aber das ist natürlich nicht möglich, da sdcdarauf keine Partitionstabelle vorhanden ist.

Wie kann ich RAID1 mit sdcund einrichten sdd?

Antwort1

Sie können Spiegelvolumes erstellen, indem Sie sddzu VG hinzufügen

pvcreate /dev/sdd
vgextend DATA /dev/sdd

und ändern Sie dann die Anzahl der Kopien jedes LV

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

(1 bedeutet zwei Kopien der Daten, 0 bedeutet eine Kopie) Sie können den Fortschritt der Spiegelung mit einem Befehl wie dem folgenden überprüfen:

lvs -a -o name,copy_percent,devices DATA

Antwort2

Also, diefaulEine andere Möglichkeit wäre, die aktuelle Konfiguration einfach so hinzunehmen, sie /dev/sddso wie sie ist zu LVM hinzuzufügen und LVM selbst das RAID für Sie handhaben zu lassen. Das bedeutet, mdadmdass es überhaupt nicht beteiligt ist (jedenfalls nicht direkt). Siehe Romeos Antwort, die ist gut.

Wenn Sie verwenden möchten mdadm, obwohl es nicht unmöglich ist, dies nachträglich zu tun (mithilfe der Metadaten der Version 1.0 am Ende der Festplatte),richtige WegDazu müssen Sie partitionieren /dev/sdd, RAID auf die Partition setzen mdadm, LVM auf das RAID setzen und die Daten migrieren. Und sobald Sie bestätigt haben, dass die Kopie gut ist, können Sie auflösen /dev/sdc, sie auf die gleiche Weise partitionieren und sie dem RAID hinzufügen.

Grob:

# 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

Das Migrieren der Dateien rsyncsollte schneller und sicherer sein (wenn etwas schief geht, ist die Originalkopie immer noch da). Gleichzeitig ist es anfällig für Benutzerfehler (es ist schwer zu sagen, ob rsyncetwas übersehen wurde).

Das Migrieren der Daten pvmoveist langsamer und riskanter (wenn etwas schief geht, ist auch die Originalkopie verloren), aber es geht nichts verloren (auch keine gelöschten Dateien usw.).

An diesem Punkt möchten Sie die UUIDs (wenn Sie mkfs, rsync verwendet haben) in fstab/grub aktualisieren und initramfs aktualisieren. Führen Sie einen Neustart durch und überprüfen Sie, ob alles in Ordnung ist und /dev/sdcnicht mehr verwendet wird. Dann können Sie es zum RAID hinzufügen.

# 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

Und das ist alles ...

Alles in allem erhalten Sie damit das Setup, das die meisten Leute erwarten (Festplatte, Partitionen, RAID, LVM, Dateisysteme). Sie könnten bei der Gelegenheit auch noch Verschlüsselung hinzufügen. ;-)

verwandte Informationen