Ein Bekannter von mir ist mit einem kaputten Synology NAS gekommen,
eine Platte läuft gar nicht mehr an, die andere wird zwar erkannt aber im Kernel Log sind gleich ein paar Errors zu sehen.
[12389.196872] scsi 7:0:0:0: Direct-Access WDC WD30 EFRX-68EUZN0 8105 PQ: 0 ANSI: 6[12389.198196] sd 7:0:0:0: Attached scsi generic sg4 type 0[12389.198420] sd 7:0:0:0: [sdc] Spinning up disk...[12390.203014] ..........ready[12399.419688] sd 7:0:0:0: [sdc] 5860533168 512-byte logical blocks: (3.00 TB/2.73 TiB)[12399.419692] sd 7:0:0:0: [sdc] 4096-byte physical blocks[12399.419860] sd 7:0:0:0: [sdc] Write Protect is off[12399.419863] sd 7:0:0:0: [sdc] Mode Sense: 53 00 00 08[12399.420185] sd 7:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA[12399.420334] sd 7:0:0:0: [sdc] Optimal transfer size 33553920 bytes not a multiple of physical block size (4096 bytes)[12399.503865] sdc: sdc1 sdc2 sdc5[12399.506543] sd 7:0:0:0: [sdc] Attached SCSI disk[12400.017949] sd 7:0:0:0: [sdc] tag#3 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE[12400.017952] sd 7:0:0:0: [sdc] tag#3 Sense Key : Medium Error [current][12400.017953] sd 7:0:0:0: [sdc] tag#3 Add. Sense: Unrecovered read error[12400.017955] sd 7:0:0:0: [sdc] tag#3 CDB: Read(16) 88 00 00 00 00 00 00 90 3e e8 00 00 00 08 00 00[12400.017958] blk_update_request: critical medium error, dev sdc, sector 9453288 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0[12400.527720] sd 7:0:0:0: [sdc] tag#2 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE[12400.527750] sd 7:0:0:0: [sdc] tag#2 Sense Key : Medium Error [current][12400.527765] sd 7:0:0:0: [sdc] tag#2 Add. Sense: Unrecovered read error[12400.527774] sd 7:0:0:0: [sdc] tag#2 CDB: Read(16) 88 00 00 00 00 00 00 90 3e e8 00 00 00 08 00 00[12400.527785] blk_update_request: critical medium error, dev sdc, sector 9453288 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0[12400.527805] Buffer I/O error on dev sdc5, logical block 1, async page read
Was ich mir von der Platte merke:
Die Platte ist eine 4TB WD Red und wird als sdc erkannt, es werden darauf 3 Partitionen angezeigt sdc1, sdc2 und sdc5
GNU Parted 3.3/dev/sdc wird verwendetWillkommen zu GNU Parted! Rufen Sie »help« auf, um eine Liste der verfügbaren Befehle zu erhalten.(parted) printModell: WDC WD30 EFRX-68EUZN0 (scsi)Festplatte /dev/sdc: 3001GBSektorgröße (logisch/physisch): 512B/4096BPartitionstabelle: gptDisk-Flags:
Nummer Anfang Ende Größe Dateisystem Name Flags1 131kB 2550MB 2550MB ext4 RAID2 2550MB 4698MB 2147MB linux-swap(v1) RAID5 4840MB 3001GB 2996GB RAID
Damit die Platte nun nicht noch mehr zerstört wird, leg ich mal zuerst ein Overlay an, damit alle veruche was zu reparieren nicht direkt auf die Platte geschrieben werden.
Als erstes benötige ich die größe der Platte in Blocks
sudo blockdev --getsize /dev/sdc5860533168
Dann leg ich noch ein 4TB Sparse File an. Sparse Files werden zwar mit einer Größe von 4TB angezeigt, belegen aber nur den Platz der beschrieben wird. In dem Sparse File sollen dann die Änderungen geschrieben werden. Sozusagen als Snapshot File.
truncate -s4000g overlay-sdb.ovr
Als nächstes leg ich ein Loopback Device an, welches das File als Grundlage hat.
sudo losetup -f --show -- overlay-sdc.ovr
Jetzt habe ich sozusagen ein /dev/loop20 Device erstellt das auch das erstellt File zeigt.
Als nächstes binde ich das original Device /dev/sdc mit dem darüber gelegten Loopback device ein. Alle Schreibvorgänge landen damit im Overlay File.
echo 0 5860533168 snapshot /dev/sdc /dev/loop20 P 8 | sudo dmsetup create sdc
Damit wurde dann ein neues Device unter /dev/mapper/ erstellt:
Das so erstellte /dev/mapper/sdc kann man wie ein normales Blockdevice verwenden.ls /dev/mapper/control sdc
So kann mal der darunterliegenden Platte nicht mehr passieren, als ihr schon passiert ist.
Keine Kommentare:
Kommentar veröffentlichen