Basis Tools

blkid zeigt Info über Block Devices, ua. UUID und PTUIID

''blkid'' ''-po'' ''udev'' //device_name//

smartctl -a devcice_name liest die Smart Daten der Platte aus.

hdparm -I /dev/xxx

zeigt die Seriennummer der Hardware (wichtig zur Indentifikation bei Fehlern in smartctl)

Raid Pflege bei Hetzner

Welche Platte im Array hat eine Macke?

# cat /proc/mdstat

An [U_] bzw. [_U] erkennt man, dass eine Festplatte nicht synchron ist.

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:

<chroma> sudo mdadm –manage /dev/md2 –fail /dev/sdc1 sudo mdadm –manage /dev/md2 –remove /dev/sdc1 </chroma>

Ab jetzt läuft das RAID Array nu noch mit einer Platte

<font inherit/monospace;;inherit;;#000000background-color:#ffffff;>root@nas:~# mdadm --detail /dev/md0</font> /dev/md0:
Version : 1.2
Creation Time : Thu Dec 1 18:32:25 2016
Raid Level : raid1
Array Size : 5860021112 (5588.55 GiB 6000.66 GB)
Used Dev Size : 5860021112 (5588.55 GiB 6000.66 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Thu Mar 14 14:56:01 2024
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : thommienas:0
UUID : 6a3e6f11:c60382cd:d674583d:4a397bce
Events : 11997
Number Major Minor RaidDevice State
- 0 0 0 removed
2 8 33 1 active sync /dev/sdc1

Hetzner braucht die Information, welche Platte defekt ist. Dazu benutzt man

mdadm –detail /dev/md0

Sobald die neue Platte ins System eingebaut ist, muss die Partitionstabelle von der alten auf die neue Platte kopiert werden.

sgdisk -R /dev/sdb /dev/sda

Dann bekommt die Platte eine neue UUID:

sgdisk -G /dev/sdb

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

Die Partitionen werden jetzt automatisch wieder synchronisiert. Den Fortschritt/Status sieht man mit

cat /proc/mdstat

Der Bootloader sollte neu installiertden, da sich ja die Device Map geändert hat: Im gebooteten System reicht ein

grub-mkdevicemap

Ansonsten gilt

grub-install /dev/sdb

Referenzen: 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)

smartctl liefert Hinweise, dass die Platte einen Hieb hat:

This message was generated by the smartd daemon running on:
host name: nas
DNS domain: netzwissen.loc
The following warning/error was logged by the smartd daemon:
Device: /dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4YS7K3 [SAT], **1275 Currently unreadable (pending) sectors**
Device info:
WDC WD60EFRX-68L0BN1, S/N:WD-WXB1HB4YS7K3, WWN:5-0014ee-2b83025c8, FW:82.00A82, 6.00 TB

Die Anzahl der "pending sectors" nimmt nach und nach zu. Der Fehler wird zuerst in S.M.A.R.T. sichtbar, bevor die Platte irgendwann hart ausfällt. Challenge: die richtige Hardware austauschen.

ssh shell auf OMV öffnen, sudo. lsblk liefert die Partitionen und die Zuordnung zur Hardware

root@nas:/home# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 5,5T 0 disk
├─sda1 8:1 0 487M 0 part
└─sda2 8:2 0 5,5T 0 part
└─md0 9:0 0 5,5T 0 raid1 /srv/dev-disk-by-id-md-name-thommienas-0
sdb 8:16 0 931,5G 0 disk
└─sdb1 8:17 0 931,5G 0 part /srv/dev-disk-by-label-data
sdc 8:32 0 5,5T 0 disk
├─sdc1 8:33 0 487M 0 part
└─sdc2 8:34 0 5,5T 0 part
└─md0 9:0 0 5,5T 0 raid1 /srv/dev-disk-by-id-md-name-thommienas-0
nvme0n1 259:0 0 232,9G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
├─nvme0n1p2 259:2 0 200,5G 0 part /
└─nvme0n1p3 259:3 0 31,9G 0 part [SWAP]

Die UUIDs der Partitionen zeigen, darin ist die aufgedruckte Seriennummer der Platte integriert:

root@nas:/home# ls -n /dev/disk/by-id/
insgesamt 0
lrwxrwxrwx 1 0 0 9 Mär 11 12:16 ata-ST1000LM035-1RK172_WES237QV -> ../../sdb
lrwxrwxrwx 1 0 0 10 Mär 11 12:16 ata-ST1000LM035-1RK172_WES237QV-part1 -> ../../sdb1
lrwxrwxrwx 1 0 0 9 Mär 11 12:16 ata-WDC_WD60EFRX-68L0BN1_WD-WX11D3678FVK -> ../../sdc
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 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-part2 -> ../../sda2
lrwxrwxrwx 1 0 0 9 Mär 11 12:16 md-name-thommienas:0 -> ../../md0
lrwxrwxrwx 1 0 0 9 Mär 11 12:16 md-uuid-6a3e6f11:c60382cd:d674583d:4a397bce -> ../../md0
lrwxrwxrwx 1 0 0 13 Mär 11 12:16 nvme-eui.0026b768386e21d5 -> ../../nvme0n1
lrwxrwxrwx 1 0 0 15 Mär 11 12:16 nvme-eui.0026b768386e21d5-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 0 0 15 Mär 11 12:16 nvme-eui.0026b768386e21d5-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 0 0 15 Mär 11 12:16 nvme-eui.0026b768386e21d5-part3 -> ../../nvme0n1p3
lrwxrwxrwx 1 0 0 13 Mär 11 12:16 nvme-KINGSTON_SA2000M8250G_50026B768386E21D -> ../../nvme0n1
lrwxrwxrwx 1 0 0 15 Mär 11 12:16 nvme-KINGSTON_SA2000M8250G_50026B768386E21D-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 0 0 15 Mär 11 12:16 nvme-KINGSTON_SA2000M8250G_50026B768386E21D-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 0 0 15 Mär 11 12:16 nvme-KINGSTON_SA2000M8250G_50026B768386E21D-part3 -> ../../nvme0n1p3
lrwxrwxrwx 1 0 0 9 Mär 11 12:16 wwn-0x5000c5009d5f58c2 -> ../../sdb
lrwxrwxrwx 1 0 0 10 Mär 11 12:16 wwn-0x5000c5009d5f58c2-part1 -> ../../sdb1
lrwxrwxrwx 1 0 0 9 Mär 11 12:16 wwn-0x50014ee262d99ce4 -> ../../sdc
lrwxrwxrwx 1 0 0 10 Mär 11 12:16 wwn-0x50014ee262d99ce4-part1 -> ../../sdc1
lrwxrwxrwx 1 0 0 10 Mär 11 12:16 wwn-0x50014ee262d99ce4-part2 -> ../../sdc2
lrwxrwxrwx 1 0 0 9 Mär 11 12:16 wwn-0x50014ee2b83025c8 -> ../../sda
lrwxrwxrwx 1 0 0 10 Mär 11 12:16 wwn-0x50014ee2b83025c8-part1 -> ../../sda1
lrwxrwxrwx 1 0 0 10 Mär 11 12:16 wwn-0x50014ee2b83025c8-part2 -> ../../sda2

Aus der Liste die betroffene Platte anhand der UUID/Seriennummer aus smartctl rausfiltern:

root@nas:/dev/disk/by-id# ls -n /dev/disk/by-id/ | grep WXB1HB4YS7K3
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-part2 -> ../../sda2

Mit mdadm –detail die Details zum aktuellen RAID Array zeigen

root@nas:/dev/disk/by-id# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Dec 1 18:32:25 2016
Raid Level : raid1
Array Size : 5860021112 (5588.55 GiB 6000.66 GB)
Used Dev Size : 5860021112 (5588.55 GiB 6000.66 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Mar 21 13:34:53 2021
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : thommienas:0
UUID : 6a3e6f11:c60382cd:d674583d:4a397bce
Events : 2061
Number Major Minor RaidDevice State
0 8 34 0 active sync /dev/sdc2
1 8 2 1 active sync /dev/sda2

Mit mdadm –manage wird die defekte Platte als fehlerhaft markiert und danach aus dem Array entfernt:

root@nas:~# mdadm --manage /dev/md0 --fail /dev/sda2
mdadm: set /dev/sda2 faulty in /dev/md0
mdadm --manage /dev/md0 --remove /dev/sda2

Check:

root@nas:~# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc2[0] sda2[1](F)
5860021112 blocks super 1.2 [2/1] **[U_]**

mit df prüfen, ob weitere Partitionen auf dieser Platte gemountet sind und sie mit umount entfernen, falls nötig:

root@nas:~# df
Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
udev 16347724 0 16347724 0% /dev
tmpfs 3274520 75320 3199200 3% /run
/dev/nvme0n1p2 205909892 3102112 192278400 2% /
tmpfs 16372580 0 16372580 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 16372580 0 16372580 0% /sys/fs/cgroup
tmpfs 16372580 0 16372580 0% /tmp
/dev/nvme0n1p1 523248 148 523100 1% /boot/efi
/dev/md0 5767937448 1673488612 4094432452 30% /srv/dev-disk-by-id-md-name-thommienas-0
/dev/sdb1 960380628 54

Mit fdisk /dev/sda die Partionierung der alten Platte checken:

root@nas:~# fdisk /dev/sda
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 5,5 TiB, 6001175126016 bytes, 11721045168 sectors
Disk model: WDC WD60EFRX-68L
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: 20058C4A-758A-4D16-9F6C-22D4C3B5DCF8
Device Start End Sectors Size Type
/dev/sda1 2048 999423 997376 487M Linux filesystem
/dev/sda2 999424 11721043967 11720044544 5,5T Linux filesystem

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:

This is an automatically generated mail message from mdadm
running on nas.netzwissen.loc
A DegradedArray event had been detected on md device /dev/md/0.
Faithfully yours, etc.
P.S. The /proc/mdstat file currently contains the following:
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active (auto-read-only) raid1 sdb2[0]
5860021112 blocks super 1.2 [2/1] [U_]
unused devices: <none>

Die neue Platte wird wieder ins Array integriert:

root@nas:~# mdadm --manage /dev/md0 --add /dev/sdc1
mdadm: added /dev/sdc1

Das sw raid beginnt danach, die Dateien zwischen beiden Platten zu synchronisieren:

root@nas:~# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Dec 1 18:32:25 2016
Raid Level : raid1
Array Size : 5860021112 (5588.55 GiB 6000.66 GB)
Used Dev Size : 5860021112 (5588.55 GiB 6000.66 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Mon Mar 22 19:47:34 2021
State : clean, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1
Consistency Policy : resync
Rebuild Status : 0% complete
Name : thommienas:0
UUID : 6a3e6f11:c60382cd:d674583d:4a397bce
Events : 2082
Number Major Minor RaidDevice State
0 8 18 0 active sync /dev/sdb2
** 2 8 33 1 spare rebuilding /dev/sdc1**