StefanBD schrieb:
ich kann verschiedene Partitionen haben und jede kann die selbe eine Platte als Parität nutzen?
Ja, musst halt alle Platten gleich partitionieren.
Bei mir sieht es so aus (/proc/mdstat)
...
md6 : active raid6 sdb6[0] sdf6[7] sdh6[5] sdg6[6] sde6[3] sdd6[2] sdc6[1]
1220935680 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
md7 : active raid6 sdb7[0] sdf7[7] sdg7[8] sdh7[5] sde7[3] sdd7[2] sdc7[1]
1220935680 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
md8 : active raid6 sdb8[0] sdf8[7] sdh8[5] sdg8[6] sde8[3] sdd8[2] sdc8[1]
1220935680 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
...
Und zwecks Übersicht von GPT Partitionslabeln Gebrauch gemacht ( jede Partition hat als Label md<nummer>-<rolle> )
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md6-00 -> ../../sdb6
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md6-01 -> ../../sdc6
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md6-02 -> ../../sdd6
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md6-03 -> ../../sde6
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md6-04 -> ../../sdg6
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md6-05 -> ../../sdh6
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md6-06 -> ../../sdf6
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md7-00 -> ../../sdb7
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md7-01 -> ../../sdc7
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md7-02 -> ../../sdd7
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md7-03 -> ../../sde7
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md7-04 -> ../../sdh7
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md7-05 -> ../../sdg7
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md7-06 -> ../../sdf7
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md8-00 -> ../../sdb8
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md8-01 -> ../../sdc8
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md8-02 -> ../../sdd8
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md8-03 -> ../../sde8
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md8-04 -> ../../sdg8
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md8-05 -> ../../sdh8
lrwxrwxrwx 1 root root 10 Nov 16 11:26 /dev/disk/by-partlabel/md8-06 -> ../../sdf8
Wenn dann irgendwann mal eine Partition aus dem RAID gekickt wird und /proc/mdstat
denn md6 : [UUUU_UU]
anzeigt, weißt du direkt, das war /dev/disk/by-partlabel/md6-04
. (Zählweise ist [0123456]
)
Und diese Labels setze ich per Script (mdadm2partlabel.sh)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 | #!/bin/bash
cd /sys/block
for disk in *
do
cd /sys/block/"$disk"
for partition in "$disk"[0-9]* "$disk"p[0-9]*
do
[ -d /sys/block/"$disk"/"$partition" ] || continue
number="$partition"
number=${number#"$disk"}
number=${number#"p"}
for mdslot in /sys/block/md*/md/dev-"$partition"/slot
do
[ -e "$mdslot" ] || continue
md="$mdslot"
md=${md#/sys/block/}
md=${md%%/*}
slot=$(printf "%02d" $(cat "$mdslot"))
# Nur echo zur Kontrolle, muss von Hand ausgeführt werden.
echo parted /dev/"$disk" name "$number" "$md"-"$slot"
done
done
done | sort -V
|
Wenn du dann irgendwann mal /dev/md7
von Hand assemblen musst, dann ist das einfach mdadm --assemble /dev/md7 /dev/disk/by-partlabel/md7-*
Und auch andere mdadm Befehle vereinfachen sich dadurch. Man kann nicht mehr mit Partitionsnummern unf Laufwerksbuchstaben durcheinander kommen.
Auch wenn mal die Metadaten warum auch immer beschädigt werden sollten, ist es schön die richtige Reihenfolge nochmal im Partlabel festgehalten zu haben.