raid

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
raid [14/03/2024 - 14:02] adminraid [29/03/2024 - 17:59] (aktuell) admin
Zeile 1: Zeile 1:
 ====== Basis Tools ====== ====== Basis Tools ======
  
-blkid zeigt Info über Block Devices, uaUUID und PTUIID+[[https://www.dlford.io/linux-mdraid-disk-replacement-procedure/|https://www.dlford.io/linux-mdraid-disk-replacement-procedure/]]
  
 +blkid zeigt Info über Block Devices, ua. UUID und PTUIID
 <code> <code>
 +
 ''blkid''  ''-po''  ''udev''  //device_name// ''blkid''  ''-po''  ''udev''  //device_name//
  
 </code> </code>
 +
 smartctl -a devcice_name liest die Smart Daten der Platte aus. smartctl -a devcice_name liest die Smart Daten der Platte aus.
  
Zeile 26: Zeile 29:
 ''cat /proc/mdstat Personalities : [raid1] md3 : active raid1 sda4[0] sdb4[1](F) 1822442815 blocks super 1.2 [2/1] [U_] md2 : active raid1 sda3[0] sdb3[1](F) 1073740664 blocks super 1.2 [2/1] [U_] md1 : active raid1 sda2[0] sdb2[1](F) 524276 blocks super 1.2 [2/1] [U_]'' ''cat /proc/mdstat Personalities : [raid1] md3 : active raid1 sda4[0] sdb4[1](F) 1822442815 blocks super 1.2 [2/1] [U_] md2 : active raid1 sda3[0] sdb3[1](F) 1073740664 blocks super 1.2 [2/1] [U_] md1 : active raid1 sda2[0] sdb2[1](F) 524276 blocks super 1.2 [2/1] [U_]''
  
-Mit mdadm /dev/md0 -r /dev/sdb1 lässt sich einen Platte gezielt aus dem Array entfernen. Das geht aber nur, wenn das Ding icht gerade aktiv synctz. Dann kann man den Array auch so auflösen:+Mit mdadm /dev/md0 -r /dev/sdb1 lässt sich einen Platte gezielt aus dem Array entfernen. Das geht aber nur, wenn das Ding icht gerade aktiv synct. Dann kann man den Array auch so auflösen:
  
-<chroma> ''sudo mdadm –manage /dev/md2 –fail /dev/sdc1 sudo mdadm –manage /dev/md2 –remove /dev/sdc1 '' </chroma>+''sudo mdadm –manage /dev/md2 –fail /dev/sdc1 sudo mdadm –manage /dev/md2 –remove /dev/sdc1 ''
  
 Ab jetzt läuft das RAID Array nu noch mit einer Platte Ab jetzt läuft das RAID Array nu noch mit einer Platte
  
 <code> <code>
- <font inherit/monospace;;inherit;;#000000background-color:#ffffff;>root@nas:~# mdadm --detail /dev/md0</font>  /dev/md0:+ <font inherit/monospace;;inherit;;#000000background-color:#ffffff;>root@nas:~# mdadm --detail /dev/md0</font>      /dev/md0:
           Version : 1.2           Version : 1.2
     Creation Time : Thu Dec  1 18:32:25 2016     Creation Time : Thu Dec  1 18:32:25 2016
Zeile 66: Zeile 69:
 ''mdadm –detail /dev/md0'' ''mdadm –detail /dev/md0''
  
-Sobald die neue Platte ins System eingebaut ist, muss die Partitionstabelle von der **alten** auf die **neue** Platte kopiert werden.+Sobald die neue Platte ins System eingebaut ist, muss die Partitionstabelle von der **alten** auf die **neue** Platte kopiert werden: hier NEU (sdb) << ALT (sda).
  
 ''sgdisk -R /dev/sdb /dev/sda'' ''sgdisk -R /dev/sdb /dev/sda''
Zeile 76: Zeile 79:
 Danach werden die Arrays wieder neu aufgebaut Danach werden die Arrays wieder neu aufgebaut
  
-''mdadm /dev/md0 -a /dev/sdb1 mdadm /dev/md1 -a /dev/sdb2 mdadm /dev/md2 -a /dev/sdb3 mdadm /dev/md3 -a /dev/sdb4''+''mdadm /dev/md0 -a /dev/sdb1 '' 
 + 
 +''mdadm /dev/md1 -a /dev/sdb2 '' 
 + 
 +''mdadm /dev/md2 -a /dev/sdb3 '' 
 + 
 +''mdadm /dev/md3 -a /dev/sdb4''
  
 Die Partitionen werden jetzt automatisch wieder synchronisiert. Den Fortschritt/Status sieht man mit Die Partitionen werden jetzt automatisch wieder synchronisiert. Den Fortschritt/Status sieht man mit
Zeile 82: Zeile 91:
 ''cat /proc/mdstat'' ''cat /proc/mdstat''
  
-Der Bootloader sollte neu installiertden, da sich ja die Device Map geändert hat: Im gebooteten System reicht ein+Der Bootloader sollte neu installiert werden, da sich ja die Device Map geändert hat: Im gebooteten System reicht ein
  
 ''grub-mkdevicemap'' ''grub-mkdevicemap''
Zeile 92: Zeile 101:
 Referenzen: [[http://wiki.hetzner.de/index.php/Festplattenaustausch_im_Software-RAID|http://wiki.hetzner.de/index.php/Festplattenaustausch_im_Software-RAID]] Referenzen: [[http://wiki.hetzner.de/index.php/Festplattenaustausch_im_Software-RAID|http://wiki.hetzner.de/index.php/Festplattenaustausch_im_Software-RAID]]
  
-====== Datenrettung von einem RAID Array ====== 
- 
-Manueller Array Build mit einem Laufwerk 
- 
-''mdadm –build –verbose /dev/md0 –level=1 –raid-device=2 /dev/sdb missing '' 
 ====== Plattentausch in einem RAID1 Array in Open Media Vault (NAS) ====== ====== Plattentausch in einem RAID1 Array in Open Media Vault (NAS) ======
  
Zeile 150: Zeile 154:
 lrwxrwxrwx 1 0 0 10 Mär 11 12:16 ata-WDC_WD60EFRX-68L0BN1_WD-WX11D3678FVK-part1 -> ../../sdc1 lrwxrwxrwx 1 0 0 10 Mär 11 12:16 ata-WDC_WD60EFRX-68L0BN1_WD-WX11D3678FVK-part1 -> ../../sdc1
 lrwxrwxrwx 1 0 0 10 Mär 11 12:16 ata-WDC_WD60EFRX-68L0BN1_WD-WX11D3678FVK-part2 -> ../../sdc2 lrwxrwxrwx 1 0 0 10 Mär 11 12:16 ata-WDC_WD60EFRX-68L0BN1_WD-WX11D3678FVK-part2 -> ../../sdc2
-lrwxrwxrwx 1 0 0  9 Mär 11 12:16 **ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4YS7K3** -> ../../sda+lrwxrwxrwx 1 0 0  9 Mär 11 12:16 **ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4YS7K3** 
 + -> ../../sda
 lrwxrwxrwx 1 0 0 10 Mär 11 12:16 ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4YS7K3-part1 -> ../../sda1 lrwxrwxrwx 1 0 0 10 Mär 11 12:16 ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4YS7K3-part1 -> ../../sda1
 lrwxrwxrwx 1 0 0 10 Mär 11 12:16 ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4YS7K3-part2 -> ../../sda2 lrwxrwxrwx 1 0 0 10 Mär 11 12:16 ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4YS7K3-part2 -> ../../sda2
Zeile 279: Zeile 284:
 </code> </code>
  
-Jetzt kann die alte Platte ausgebaut werden. Auf der neuen Platte mit gparted oder mkfs die Partitionierung analog anlegen (erst die Paritionstabelle gpt, dann die Partition selbst, in der Regel ext4). +Jetzt kann die alte Platte ausgebaut werden. Auf der neuen Platte mit gparted oder mkfs die Partitionierung analog anlegen (erst die Paritionstabelle gpt, dann die Partition selbst, in der Regel ext4). Nach dem Umbau quittiert smartctl das Array als degraded:
- +
-Nach dem Umbau quittiert smartctl das Array als degraded:+
  
 <code> <code>
Zeile 309: Zeile 312:
 </code> </code>
  
-Das sw raid beginnt danach, die Dateien zwischen beiden Platten zu synchronisieren:+Danach beginnt das sw raid, die Dateien zwischen beiden Platten zu synchronisieren:
  
 <code> <code>
Zeile 343: Zeile 346:
  
 </code> </code>
 +
 +====== Variante: wenn das Array crasht ======
 +
 +**SDB new**
 +<code>
 +Disk model: WDC WD6003FFBX-6
 +Units: sectors of 1 * 512 = 512 bytes
 +Sector size (logical/physical): 512 bytes / 4096 bytes
 +I/O size (minimum/optimal): 4096 bytes / 4096 bytes
 +Disklabel type: gpt
 +Disk identifier: DF00632A-03F7-46B4-A2D4-15C5DCE3930F
 +
 +</code>
 +
 +**SDC OLD**
 +<code>
 +Disk model: WDC WD60EFPX-68C
 +Units: sectors of 1 * 512 = 512 bytes
 +Sector size (logical/physical): 512 bytes / 4096 bytes
 +I/O size (minimum/optimal): 4096 bytes / 4096 bytes
 +Disklabel type: gpt
 +Disk identifier: 7BC40B3C-3226-40CE-84DB-844942ED7944
 +
 +Device     Start         End     Sectors  Size Type
 +/dev/sdc1   2048 11721045134 11721043087  5,5T Linux filesystem
 +
 +</code>
 +
 +RAID member einzeln analysieren
 +
 +<code>
 +root@nas:~# mdadm --examine /dev/sdc1
 +/dev/sdc1:
 +          Magic : a92b4efc
 +        Version : 1.2
 +    Feature Map : 0x2
 +     Array UUID : 6a3e6f11:c60382cd:d674583d:4a397bce
 +           Name : thommienas:0
 +  Creation Time : Thu Dec  1 18:32:25 2016
 +     Raid Level : raid1
 +   Raid Devices : 2
 +
 + Avail Dev Size : 11721041039 (5589.03 GiB 6001.17 GB)
 +     Array Size : 5860021112 (5588.55 GiB 6000.66 GB)
 +  Used Dev Size : 11720042224 (5588.55 GiB 6000.66 GB)
 +    Data Offset : 2048 sectors
 +   Super Offset : 8 sectors
 +Recovery Offset : 9190785664 sectors
 +   Unused Space : before=1768 sectors, after=998815 sectors
 +          State : clean
 +    Device UUID : 71a7b2c3:567d5d68:c4a6ec9d:0d95819b
 +
 +    Update Time : Mon Mar 25 00:31:32 2024
 +  Bad Block Log : 512 entries available at offset 264 sectors
 +       Checksum : 5cca03dd - correct
 +         Events : 12179
 +
 +   Device Role : Active device 0
 +   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
 +
 +</code>
 +
 +Dann ein loop device mit "Data Offset : 2048 sectors" erzeugen, am Besten read only:
 +
 +<code>
 +losetup --find --show --offset=$((2048*512)) /dev/sdc1
 +
 +root@nas:~# losetup
 +NAME       SIZELIMIT  OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC
 +/dev/loop0         0 1048576          0 /dev/sdc1       512
 +
 +</code>
 +
 +Danach read only mounten
 +
 +<code>
 +mount -o ro /dev/loop0 /mnt/sdc1
 +
 +root@nas:/mnt/sdc1# ls
 +aquota.group  aquota.user  backup  buch  downloads  lost+found  music  photo  public2  thommie  video
 +
 +</code>
 +
 +Jetzt brauchen wir ein neues RAID array mit nur einem member auf der neuen Platte\\
 +Die Paritition wird mit fdisk /dev/sdb angelegt. Als partition type nimmt man 29 "Linux RAID".
 +
 +Danach findet mdadm die Partition. Bei gpt ist der Parititon type "ee", nicht "fd":
 +
 +<code>
 +root@nas:/mnt/sdc1# mdadm --examine /dev/sdb
 +/dev/sdb:
 +   MBR Magic : aa55
 +Partition[0] :   4294967295 sectors at            1 (type ee)
 +
 +</code>
 +
 +Danach wird manuell ein RAID Array mit einem member erzeugt:
 +
 +<code>
 +sudo mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 missing
 +
 +root@nas:/mnt# sudo mdadm --create /dev/md1 --level=mirror --raid-devices=2 /dev/sdb1 missing
 +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?
 +
 +mdadm: Defaulting to version 1.2 metadata
 +mdadm: array /dev/md1 started.
 +
 +</code>
 +
 +Danach sieht man das neue md1 array und das alte (kaputte) md0:
 +
 +<code>
 +root@nas:/mnt# cat /proc/mdstat
 +Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
 +md1 : active raid1 sdb1[0]
 +      5860389440 blocks super 1.2 [2/1] [U_]
 +      bitmap: 0/44 pages [0KB], 65536KB chunk
 +
 +md0 : inactive sdc1[3](S)
 +      5860520519 blocks super 1.2
 +
 +</code>
 +
 +Jetzt brauchts noch ein filesystem:
 +
 +<code>
 +mkfs.ext4 /dev/md1
 +
 +mount /dev/md1 /mnt/md1/
 +
 +</code>
 +
 +Danach kann man die Daten vom alten array, das read-only läuft, ins neue umkopieren:
 +
 +cp -R * /mnt/md1 & progress -mp $!
 +
 +mit progress sieht man einen Fortschrittsbalken
  
  
  • raid.1710424935.txt.gz
  • Zuletzt geändert: 14/03/2024 - 14:02
  • von admin