Entfernen Sie das Laufwerk vom Soft-RAID


11

Ich habe einen dedizierten Server mit 3 SSD-Laufwerken in RAID 1. Ausgabe von cat / proc / mdstat:

    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md4 : active raid1 sdc4[2] sdb4[1] sda4[0]
      106738624 blocks [3/3] [UUU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
      5497792 blocks [3/3] [UUU]

md1 : active raid1 sda1[0] sdc1[2] sdb1[1]
      259008 blocks [3/3] [UUU]

unused devices: <none>

¿Wie kann ein Laufwerk sicher aus dem Soft Raid entfernt werden, ohne dass Daten verloren gehen? Ich möchte ein Laufwerk aus dem Array entfernen, um es neu zu formatieren und unabhängig zu verwenden, während die wichtigsten Daten gespiegelt bleiben.

Danke im Voraus

Antworten:


19

Sie haben dort einen Drei-Wege-Spiegel: Jedes Laufwerk verfügt über eine vollständige Kopie aller Daten. Unter der Annahme , das Laufwerk , das Sie entfernen möchten , ist /dev/sdc, und Sie wollen , um es entfernen aus allen drei Arrays, dann würden Sie die folgenden Schritte für ausführen /dev/sdc1, /dev/sdc2und /dev/sdc4.

Schritt 1: Entfernen Sie das Laufwerk aus dem Array. Sie können ein aktives Gerät nicht aus einem Array entfernen, daher müssen Sie es zuerst als fehlgeschlagen markieren.

mdadm /dev/md1 --fail /dev/sdc1
mdadm /dev/md1 --remove /dev/sdc1

Schritt 2: Löschen Sie die RAID-Metadaten, damit der Kernel nicht versucht, sie erneut hinzuzufügen:

wipefs -a /dev/sdc1

Schritt 3: Verkleinern Sie das Array, sodass es nur ein Zwei-Wege-Spiegel ist, kein Drei-Wege-Spiegel mit einem fehlenden Laufwerk:

mdadm --grow /dev/md1 --raid-devices=2

Möglicherweise müssen Sie die Bitmap mit Schreibabsicht entfernen, /dev/md4bevor Sie sie verkleinern (das Handbuch ist diesbezüglich nicht klar). In diesem Fall würden Sie dies kurz vor Schritt 3 mit tun mdadm --grow /dev/md4 --bitmap=noneund sie anschließend mit zurücksetzen mdadm --grow /dev/md4 --bitmap=internal.


Erhält dies die Daten auf der Festplatte, die Sie entfernen? Können Sie anschließend auch von der separaten Festplatte auf die Daten zugreifen, die sich auf dem RAID befanden?
Niemand

1
@Nobody, wenn Sie die Daten vom entfernten Laufwerk lesen möchten, sollten Sie Schritt 2 überspringen. Praktisch alle Daten sind nach dem Ausführen noch vorhanden wipefs(es werden nur einige Schlüsselbytes gelöscht, die für die Dateisystemerkennung erforderlich sind), aber das Lesen wird zu einer Übung in Datenwiederherstellung und nicht nur eine Angelegenheit in den Antrieb stecken.
Mark

0

Mann mdadm:

   -r, --remove
          remove listed devices.  They must  not  be  active.   i.e.  they
          should be failed or spare devices.

          As well as the name of a device file (e.g.  /dev/sda1) the words
          failed, detached and names like set-A can be given to  --remove.
          The  first  causes  all failed device to be removed.  The second
          causes any device which is no longer  connected  to  the  system
          (i.e  an  'open'  returns  ENXIO) to be removed.  The third will
          remove a set as describe below under --fail.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.