Madurkay Zsolt
2006-07-24 23:46:52 UTC
Üdvözletem,
Debian 3.1 Linux, 2.6.14.4-grsec kernellel. Belekerült egy SATA vezérlőkártya:
----
0000:02:02.0 RAID bus controller: Silicon Image, Inc. (formerly CMD Technology
Inc) SiI 3114 [SATALink/SATARaid] Serial ATA Controller (rev 02)
----
Rákerült négy db samsung sata 250-es hdd:
----
Vendor: ATA Model: SAMSUNG SP2504C Rev: VT10
Type: Direct-Access ANSI SCSI revision: 05
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
SCSI device sda: drive cache: write back
sda: sda1
----
Készült belőlük egy RAID5-ös tömb, működött szépen. Rákerült sok video, teltek
múltak a hetek, majd jött egy scsi hiba, és ismétlődött kb. két órán keresztül:
----
Jul 13 08:09:32 localhost kernel: ata1: status=0xd8 { Busy }
Jul 13 08:09:32 localhost kernel: sd 5:0:0:0: SCSI error: return code =
0x8000002
Jul 13 08:09:32 localhost kernel: sda: Current: sense key: Aborted Command
Jul 13 08:09:32 localhost kernel: Additional sense: Scsi parity error
Jul 13 08:09:32 localhost kernel: end_request: I/O error, dev sda, sector
80237564
Jul 13 08:09:32 localhost kernel: ATA: abnormal status 0xD8 on port 0xD08062C7
Jul 13 08:09:32 localhost last message repeated 2 times
Jul 13 08:09:32 localhost kernel: lost page write due to I/O error on md0
Jul 13 08:09:32 localhost last message repeated 2 times
----
A szépséghiba, hogy rögtön kettő vinyóval is jelentkezett a probléma.
A gép meghalt, újraindítás következett:
----
md: Autodetecting RAID arrays.
md: autorun ...
md: considering sdd1 ...
md: adding sdd1 ...
md: adding sdc1 ...
md: adding sdb1 ...
md: adding sda1 ...
md: created md0
md: bind<sda1>
md: bind<sdb1>
md: bind<sdc1>
md: bind<sdd1>
md: running: <sdd1><sdc1><sdb1><sda1>
md: kicking non-fresh sdd1 from array!
md: unbind<sdd1>
md: export_rdev(sde1)
md: kicking non-fresh sdc1 from array!
md: unbind<sdc1>
md: export_rdev(sdc1)
raid5: device sdb1 operational as raid disk 1
raid5: device sda1 operational as raid disk 0
raid5: not enough operational devices for md0 (2/4 failed)
RAID5 conf printout:
--- rd:4 wd:2 fd:2
disk 0, o:1, dev:sda1
disk 1, o:1, dev:sdb1
raid5: failed to run raid set md0
md: pers->run() failed ...
md: do_md_run() returned -5
md: md0 stopped.
md: unbind<sdb1>
md: export_rdev(sdb1)
md: unbind<sda1>
md: export_rdev(sda1)
md: ... autorun DONE.
----
Na most értem én, hogy a linux szeretné az adatok integritását megőrizni, és nem
hagyja hogy a vélhetően sérült adatokhoz hozzáférjek, de ez így nem jó.
Mégiscsak jó lenne ezt a raid tömböt elindítani, mert ha a teljes 750 gb
méretéből csak a felét sikerül lemásolni, és esetleg félig sérülten, akkor az
már nagyon jó.
Az újraindítás után mind a 4 vincseszter tökéletesen működik, tehát hardware
probléma nem áll útjába az adatok lementésének.
Néztem az mdadm manualt, azt írja hogy az mdadm --build kell nekem, mert az nem
hozza létre a raid superblockot, hanem csak elindítja a tömböt:
----
# mdadm --build /dev/md0 --level=5 --raid-devices 4 /dev/sda1 /dev/sdb1
/dev/sdc1 /dev/sdd1
mdadm: Raid level 5 not permitted with --build.
----
Ok, ez nem jött be.
Azt is írja még, hogy az mdadm --assemble opcióval config fájl alapján létre
lehet hozni a tömböt ismét. Itt viszont nincs konfig fájl, és már nincs md0
eszközöm se. Tehát configot sem tudok létrehozni.
Bukta? Vagy van valami megoldás? Hogyan ellenőrzi az mdadm, hogy egy vinyó az
friss, vagy szinkronizálásra szorul? Át lehet verni? Hogyan lehetne rávenni,
hogy a nem friss vinyót ne dobja ki, hanem csakazértis használja?
Köszönettel,
Zsolt
Debian 3.1 Linux, 2.6.14.4-grsec kernellel. Belekerült egy SATA vezérlőkártya:
----
0000:02:02.0 RAID bus controller: Silicon Image, Inc. (formerly CMD Technology
Inc) SiI 3114 [SATALink/SATARaid] Serial ATA Controller (rev 02)
----
Rákerült négy db samsung sata 250-es hdd:
----
Vendor: ATA Model: SAMSUNG SP2504C Rev: VT10
Type: Direct-Access ANSI SCSI revision: 05
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
SCSI device sda: drive cache: write back
sda: sda1
----
Készült belőlük egy RAID5-ös tömb, működött szépen. Rákerült sok video, teltek
múltak a hetek, majd jött egy scsi hiba, és ismétlődött kb. két órán keresztül:
----
Jul 13 08:09:32 localhost kernel: ata1: status=0xd8 { Busy }
Jul 13 08:09:32 localhost kernel: sd 5:0:0:0: SCSI error: return code =
0x8000002
Jul 13 08:09:32 localhost kernel: sda: Current: sense key: Aborted Command
Jul 13 08:09:32 localhost kernel: Additional sense: Scsi parity error
Jul 13 08:09:32 localhost kernel: end_request: I/O error, dev sda, sector
80237564
Jul 13 08:09:32 localhost kernel: ATA: abnormal status 0xD8 on port 0xD08062C7
Jul 13 08:09:32 localhost last message repeated 2 times
Jul 13 08:09:32 localhost kernel: lost page write due to I/O error on md0
Jul 13 08:09:32 localhost last message repeated 2 times
----
A szépséghiba, hogy rögtön kettő vinyóval is jelentkezett a probléma.
A gép meghalt, újraindítás következett:
----
md: Autodetecting RAID arrays.
md: autorun ...
md: considering sdd1 ...
md: adding sdd1 ...
md: adding sdc1 ...
md: adding sdb1 ...
md: adding sda1 ...
md: created md0
md: bind<sda1>
md: bind<sdb1>
md: bind<sdc1>
md: bind<sdd1>
md: running: <sdd1><sdc1><sdb1><sda1>
md: kicking non-fresh sdd1 from array!
md: unbind<sdd1>
md: export_rdev(sde1)
md: kicking non-fresh sdc1 from array!
md: unbind<sdc1>
md: export_rdev(sdc1)
raid5: device sdb1 operational as raid disk 1
raid5: device sda1 operational as raid disk 0
raid5: not enough operational devices for md0 (2/4 failed)
RAID5 conf printout:
--- rd:4 wd:2 fd:2
disk 0, o:1, dev:sda1
disk 1, o:1, dev:sdb1
raid5: failed to run raid set md0
md: pers->run() failed ...
md: do_md_run() returned -5
md: md0 stopped.
md: unbind<sdb1>
md: export_rdev(sdb1)
md: unbind<sda1>
md: export_rdev(sda1)
md: ... autorun DONE.
----
Na most értem én, hogy a linux szeretné az adatok integritását megőrizni, és nem
hagyja hogy a vélhetően sérült adatokhoz hozzáférjek, de ez így nem jó.
Mégiscsak jó lenne ezt a raid tömböt elindítani, mert ha a teljes 750 gb
méretéből csak a felét sikerül lemásolni, és esetleg félig sérülten, akkor az
már nagyon jó.
Az újraindítás után mind a 4 vincseszter tökéletesen működik, tehát hardware
probléma nem áll útjába az adatok lementésének.
Néztem az mdadm manualt, azt írja hogy az mdadm --build kell nekem, mert az nem
hozza létre a raid superblockot, hanem csak elindítja a tömböt:
----
# mdadm --build /dev/md0 --level=5 --raid-devices 4 /dev/sda1 /dev/sdb1
/dev/sdc1 /dev/sdd1
mdadm: Raid level 5 not permitted with --build.
----
Ok, ez nem jött be.
Azt is írja még, hogy az mdadm --assemble opcióval config fájl alapján létre
lehet hozni a tömböt ismét. Itt viszont nincs konfig fájl, és már nincs md0
eszközöm se. Tehát configot sem tudok létrehozni.
Bukta? Vagy van valami megoldás? Hogyan ellenőrzi az mdadm, hogy egy vinyó az
friss, vagy szinkronizálásra szorul? Át lehet verni? Hogyan lehetne rávenni,
hogy a nem friss vinyót ne dobja ki, hanem csakazértis használja?
Köszönettel,
Zsolt