Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
raid [24/03/2024 - 18:00] – admin | raid [17/08/2024 - 07:06] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Array umbenennen ====== | ||
+ | |||
====== Basis Tools ====== | ====== Basis Tools ====== | ||
Zeile 14: | Zeile 16: | ||
< | < | ||
hdparm -I /dev/xxx | hdparm -I /dev/xxx | ||
+ | |||
+ | zeigt die Seriennummer der Hardware (wichtig zur Indentifikation bei Fehlern in smartctl) | ||
</ | </ | ||
- | zeigt die Seriennummer der Hardware (wichtig zur Indentifikation bei Fehlern in smartctl) | + | ====== mdadm ====== |
- | ====== | + | Löschen der **Metatdaten** für das RAID Array < |
+ | |||
+ | —examine analysiert einzelne physische Partitonen in einem Array. –detail zeigt dagegen ein gesamtes Array an. | ||
+ | |||
+ | < | ||
+ | mdadm --examine --brief --scan | ||
+ | |||
+ | </ | ||
+ | |||
+ | Wenn man ein Array ganz neu aufbauen will, müssen die Referenzen darauf aus der fstab entfernt werden. Sicherheitshalber schreibt man auch das initramfs neu: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | </ | ||
+ | |||
+ | RAiD Array manuell aufbauen | ||
+ | |||
+ | < | ||
+ | sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1 | ||
+ | mdadm: Note: this array has metadata at the start and | ||
+ | may not be suitable as a boot device. | ||
+ | store '/ | ||
+ | your boot-loader understands md/v1.x metadata, or use --metadata=0.90 | ||
+ | mdadm: size set to 5860389440K | ||
+ | mdadm: automatically enabling write-intent bitmap on large array | ||
+ | |||
+ | Continue creating array? y | ||
+ | mdadm: Defaulting to version 1.2 metadata | ||
+ | mdadm: array /dev/md0 started. | ||
+ | |||
+ | </ | ||
+ | |||
+ | Check: Resyn läuft | ||
+ | |||
+ | < | ||
+ | cat / | ||
+ | Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] | ||
+ | md0 : active raid1 sdc1[1] sdb1[0] | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | </ | ||
- | Welche Platte | + | Welche Platte |
''# | ''# | ||
Zeile 36: | Zeile 83: | ||
< | < | ||
- | < | + | < |
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 67: | Zeile 114: | ||
Hetzner braucht die Information, | Hetzner braucht die Information, | ||
- | '' | + | '' |
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). | 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). | ||
Zeile 154: | Zeile 201: | ||
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 346: | Zeile 394: | ||
</ | </ | ||
- | / | + | ====== Variante: wenn das Array crasht ====== |
+ | |||
+ | **SDB new** | ||
+ | < | ||
+ | Disk model: WDC WD6003FFBX-6 | ||
+ | Units: sectors of 1 * 512 = 512 bytes | ||
+ | Sector size (logical/ | ||
+ | I/O size (minimum/ | ||
+ | Disklabel type: gpt | ||
+ | Disk identifier: DF00632A-03F7-46B4-A2D4-15C5DCE3930F | ||
+ | |||
+ | </ | ||
+ | |||
+ | **SDC OLD** | ||
+ | < | ||
+ | Disk model: WDC WD60EFPX-68C | ||
+ | Units: sectors of 1 * 512 = 512 bytes | ||
+ | Sector size (logical/ | ||
+ | I/O size (minimum/ | ||
+ | Disklabel type: gpt | ||
+ | Disk identifier: 7BC40B3C-3226-40CE-84DB-844942ED7944 | ||
+ | |||
+ | Device | ||
+ | / | ||
+ | |||
+ | </ | ||
+ | |||
+ | RAID member einzeln analysieren | ||
+ | |||
+ | < | ||
+ | root@nas:~# mdadm --examine /dev/sdc1 | ||
+ | / | ||
+ | Magic : a92b4efc | ||
+ | Version : 1.2 | ||
+ | Feature Map : 0x2 | ||
+ | Array UUID : 6a3e6f11: | ||
+ | Name : thommienas: | ||
+ | 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 | ||
+ | | ||
+ | State : clean | ||
+ | Device UUID : 71a7b2c3: | ||
+ | |||
+ | Update Time : Mon Mar 25 00:31:32 2024 | ||
+ | Bad Block Log : 512 entries available at offset 264 sectors | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | Array State : AA (' | ||
+ | |||
+ | </ | ||
+ | |||
+ | Dann ein loop device mit "Data Offset : 2048 sectors" | ||
+ | |||
+ | < | ||
+ | losetup --find --show --offset=$((2048*512)) /dev/sdc1 | ||
+ | |||
+ | root@nas:~# losetup | ||
+ | NAME | ||
+ | / | ||
+ | |||
+ | </ | ||
+ | |||
+ | Danach read only mounten | ||
+ | |||
+ | < | ||
+ | mount -o ro /dev/loop0 /mnt/sdc1 | ||
+ | |||
+ | root@nas:/ | ||
+ | aquota.group | ||
+ | |||
+ | </ | ||
+ | |||
+ | 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 " | ||
+ | |||
+ | < | ||
+ | root@nas:/ | ||
+ | /dev/sdb: | ||
+ | MBR Magic : aa55 | ||
+ | Partition[0] : | ||
+ | |||
+ | </ | ||
+ | |||
+ | Danach wird manuell ein RAID Array mit einem member erzeugt: | ||
+ | |||
+ | < | ||
+ | sudo mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 missing | ||
+ | |||
+ | root@nas:/ | ||
+ | mdadm: Note: this array has metadata at the start and | ||
+ | may not be suitable as a boot device. | ||
+ | store '/ | ||
+ | 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. | ||
+ | |||
+ | </ | ||
+ | |||
+ | Danach sieht man das neue md1 array und das alte (kaputte) md0: | ||
+ | |||
+ | < | ||
+ | root@nas:/ | ||
+ | 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 | ||
+ | |||
+ | </ | ||
+ | |||
+ | Jetzt brauchts noch ein filesystem: | ||
+ | |||
+ | < | ||
+ | mkfs.ext4 /dev/md1 | ||
+ | |||
+ | mount /dev/md1 /mnt/md1/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | 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 | ||