ich habe hier leider ein etwas komplexeres und sehr kniffliges Problem und Ihr seid meine allerletzte Hoffung.
Folgende Anfangsbedingung:
Raid 5 mit 5 Platten
Vor zwei Tagen ist mir eine Platte wegen Hardwaredefekt ausgestiegen (dev/sdb). Sie lief noch, produzierte aber so viele I/O Fehler das das System kaum noch reagiert hat. Also bin ich los und habe eine Neue gekauft. Jetzt habe ich dummerweise (
![Facepalm :facepalm:](./images/smilies/icon_ochmann.gif)
Das Problem besteht jetzt darin das er die sdd nicht mehr als Platte des Verbunds erkennt, sondern diese für eine Neue Platte hält. Ich habe also jetzt 3/5 vollständig intakte Platten, die ganz Neue und die asynchrone (?) welche ich fälschlicherweise gezogen hatte. Wie bekomme ich die wieder in den Verbund?
Hier sind einige Informationen und was ich schon probiert habe:
Die Ausgabe von mdadm --examine für jede Platte:
Code: Alles auswählen
root@Server-01:~# mdadm --examine /dev/sdc1
/dev/sdc1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : dc168f7e:619e7a92:28695097:6b18c0e7
Name : Server-01:0 (local to host Server-01)
Creation Time : Fri Mar 27 12:45:32 2015
Raid Level : raid5
Raid Devices : 5
Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
Array Size : 11720519680 (11177.56 GiB 12001.81 GB)
Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : 17a7b3fa:b45631d3:e6ff6a08:b09be20c
Update Time : Sat Nov 26 18:41:02 2016
Checksum : a013e5f1 - correct
Events : 11432
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 4
Array State : ..AAA ('A' == active, '.' == missing)
root@Server-01:~# mdadm --examine /dev/sdd1
/dev/sdd1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x2
Array UUID : dc168f7e:619e7a92:28695097:6b18c0e7
Name : Server-01:0 (local to host Server-01)
Creation Time : Fri Mar 27 12:45:32 2015
Raid Level : raid5
Raid Devices : 5
Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
Array Size : 11720519680 (11177.56 GiB 12001.81 GB)
Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Recovery Offset : 0 sectors
State : clean
Device UUID : 64c80c2f:f45dfe12:9206fd12:95ffa0b9
Update Time : Sat Nov 26 17:59:18 2016
Checksum : cb8c77be - correct
Events : 11384
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 1
Array State : AAAAA ('A' == active, '.' == missing)
root@Server-01:~# mdadm --examine /dev/sde1
/dev/sde1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : dc168f7e:619e7a92:28695097:6b18c0e7
Name : Server-01:0 (local to host Server-01)
Creation Time : Fri Mar 27 12:45:32 2015
Raid Level : raid5
Raid Devices : 5
Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
Array Size : 11720519680 (11177.56 GiB 12001.81 GB)
Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : cf689dd7:7c323de1:dbc8e291:5b79d289
Update Time : Sat Nov 26 18:41:02 2016
Checksum : 91712a10 - correct
Events : 11432
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 2
Array State : ..AAA ('A' == active, '.' == missing)
root@Server-01:~# mdadm --examine /dev/sdf1
/dev/sdf1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : dc168f7e:619e7a92:28695097:6b18c0e7
Name : Server-01:0 (local to host Server-01)
Creation Time : Fri Mar 27 12:45:32 2015
Raid Level : raid5
Raid Devices : 5
Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
Array Size : 11720519680 (11177.56 GiB 12001.81 GB)
Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : 8df1ae9f:552979f0:e88ffbf1:34a30581
Update Time : Sat Nov 26 18:41:02 2016
Checksum : c00a9a8e - correct
Events : 11432
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 3
Array State : ..AAA ('A' == active, '.' == missing)
mdstat sagt Folgendes:
Code: Alles auswählen
root@Server-01:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : inactive sde1[2] sdc1[5] sdf1[4]
8790391177 blocks super 1.2
unused devices: <none>
Code: Alles auswählen
root@Server-01:~# mdadm --assemble -f /dev/md0 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm: /dev/md0 assembled from 3 drives - not enough to start the array.
root@Server-01:~# dmesg
[...]
[ 1840.313790] md: kicking non-fresh sdd1 from array!
[ 1840.313800] md: unbind<sdd1>
[ 1840.313846] md: export_rdev(sdd1)
[ 1840.360654] async_tx: api initialized (async)
[ 1840.371051] xor: automatically using best checksumming function: generic_sse
[ 1840.387076] generic_sse: 10751.000 MB/sec
[ 1840.387079] xor: using function: generic_sse (10751.000 MB/sec)
[ 1840.474923] raid6: int64x1 1927 MB/s
[ 1840.542809] raid6: int64x2 1852 MB/s
[ 1840.610721] raid6: int64x4 1751 MB/s
[ 1840.678587] raid6: int64x8 1426 MB/s
[ 1840.746455] raid6: sse2x1 4873 MB/s
[ 1840.814338] raid6: sse2x2 5944 MB/s
[ 1840.882209] raid6: sse2x4 6875 MB/s
[ 1840.882211] raid6: using algorithm sse2x4 (6875 MB/s)
[ 1840.928126] md: raid6 personality registered for level 6
[ 1840.928129] md: raid5 personality registered for level 5
[ 1840.928131] md: raid4 personality registered for level 4
[ 1840.928304] bio: create slab <bio> at 1
[ 1840.928315] md/raid:md0: device sde1 operational as raid disk 2
[ 1840.928318] md/raid:md0: device sdc1 operational as raid disk 4
[ 1840.928320] md/raid:md0: device sdf1 operational as raid disk 3
[ 1840.928633] md/raid:md0: allocated 5332kB
[ 1840.928704] md/raid:md0: not enough operational devices (2/5 failed)
[ 1840.928771] RAID conf printout:
[ 1840.928773] --- level:5 rd:5 wd:3
[ 1840.928775] disk 2, o:1, dev:sde1
[ 1840.928777] disk 3, o:1, dev:sdf1
[ 1840.928778] disk 4, o:1, dev:sdc1
[ 1840.928970] md/raid:md0: failed to run raid set.
[ 1840.928997] md: pers->run() failed ...
[ 1905.130027] md0: ADD_NEW_DISK not supported
[ 2199.622057] md0: ADD_NEW_DISK not supported
[ 2886.131058] md0: ADD_NEW_DISK not supported
[ 3743.985573] md: md0 stopped.
[ 3743.985583] md: unbind<sde1>
[ 3744.049191] md: export_rdev(sde1)
[ 3744.049289] md: unbind<sdc1>
[ 3744.053287] md: export_rdev(sdc1)
[ 3744.053377] md: unbind<sdf1>
[ 3744.053442] md: export_rdev(sdf1)
[ 3799.428229] md: md0 stopped.
[ 3799.437787] md: bind<sdd1>
[ 3799.437933] md: bind<sdf1>
[ 3799.438070] md: bind<sdc1>
[ 3799.438204] md: bind<sde1>
Danach sah es so aus und ich habe einen re-add der Platte versucht:
Code: Alles auswählen
root@Server-01:~# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Mar 27 12:45:32 2015
Raid Level : raid5
Used Dev Size : -1
Raid Devices : 5
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Sat Nov 26 18:41:02 2016
State : active, FAILED, Not Started
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : Server-01:0 (local to host Server-01)
UUID : dc168f7e:619e7a92:28695097:6b18c0e7
Events : 11432
Number Major Minor RaidDevice State
0 0 0 0 removed
1 0 0 1 removed
2 8 65 2 active sync /dev/sde1
4 8 81 3 active sync /dev/sdf1
5 8 33 4 active sync /dev/sdc1
root@Server-01:~# mdadm --re-add /dev/md0 /dev/sdd1
mdadm: --re-add for /dev/sdd1 to /dev/md0 is not possible
root@Server-01:~# dmesg
[...]
[ 1840.313790] md: kicking non-fresh sdd1 from array!
[ 1840.313800] md: unbind<sdd1>
[ 1840.313846] md: export_rdev(sdd1)
[ 1840.360654] async_tx: api initialized (async)
[ 1840.371051] xor: automatically using best checksumming function: generic_sse
[ 1840.387076] generic_sse: 10751.000 MB/sec
[ 1840.387079] xor: using function: generic_sse (10751.000 MB/sec)
[ 1840.474923] raid6: int64x1 1927 MB/s
[ 1840.542809] raid6: int64x2 1852 MB/s
[ 1840.610721] raid6: int64x4 1751 MB/s
[ 1840.678587] raid6: int64x8 1426 MB/s
[ 1840.746455] raid6: sse2x1 4873 MB/s
[ 1840.814338] raid6: sse2x2 5944 MB/s
[ 1840.882209] raid6: sse2x4 6875 MB/s
[ 1840.882211] raid6: using algorithm sse2x4 (6875 MB/s)
[ 1840.928126] md: raid6 personality registered for level 6
[ 1840.928129] md: raid5 personality registered for level 5
[ 1840.928131] md: raid4 personality registered for level 4
[ 1840.928304] bio: create slab <bio> at 1
[ 1840.928315] md/raid:md0: device sde1 operational as raid disk 2
[ 1840.928318] md/raid:md0: device sdc1 operational as raid disk 4
[ 1840.928320] md/raid:md0: device sdf1 operational as raid disk 3
[ 1840.928633] md/raid:md0: allocated 5332kB
[ 1840.928704] md/raid:md0: not enough operational devices (2/5 failed)
[ 1840.928771] RAID conf printout:
[ 1840.928773] --- level:5 rd:5 wd:3
[ 1840.928775] disk 2, o:1, dev:sde1
[ 1840.928777] disk 3, o:1, dev:sdf1
[ 1840.928778] disk 4, o:1, dev:sdc1
[ 1840.928970] md/raid:md0: failed to run raid set.
[ 1840.928997] md: pers->run() failed ...
[ 1905.130027] md0: ADD_NEW_DISK not supported
Code: Alles auswählen
root@Server-01:~# mdadm --fail /dev/md0 /dev/sdd1
mdadm: set device faulty failed for /dev/sdd1: No such device
root@Server-01:~# mdadm --remove /dev/md0 /dev/sdd1
mdadm: hot remove failed for /dev/sdd1: No such device or address
root@Server-01:~# mdadm --add /dev/md0 /dev/sdd1
mdadm: /dev/md0 has failed so using --add cannot work and might destroy
mdadm: data on /dev/sdd1. You should stop the array and re-assemble it.
Danke schonmal,
Tobi