Ilyen van egy egy 2T diszkemen.
Megtúrva a netet, azt állítják, hogy rá lehet venni a diszket, hogy használjon fel egy tartalék szektort,
A smartctl short teszt a következőt dobja:
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed: read failure 90% 67 3721579560
Az sfdisk -l
Disk /dev/sdc: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: WDC WD20EZRX-00D
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0569acb3
Device Boot Start End Sectors Size Id Type
/dev/sdc1 63 3515632469 3515632407 1,7T 83 Linux
/dev/sdc2 3515632470 3907024064 391391595 186,6G 83 Linux
Partition 1 does not start on physical sector boundary.
Partition 2 does not start on physical sector boundary.
(A partíciós hibákkal már nem igazán törődök - időröl, időre sikerül ilyet csinálni )
Ahhoz hogy egy tartalék szektorra váltson dd -vel kellene arra a szektorra írni:
# dd if=/dev/zero of=/dev/sdc bs=4096 count=1 seek=3721579560 conv=noerror,sync
dd: /dev/sdc: cannot seek: Invalid argument
0+0 records in
0+0 records out
0 bytes copied, 0,000155082 s, 0,0 kB/s
Mt kellene megadni a seek argumentumnak?
- 352 megtekintés
Hozzászólások
bs=BYTES read and write up to BYTES bytes at a time (default: 512); overrides ibs and obs
seek=N skip N obs-sized blocks at start of output
The LBA counts sectors in units of 512 bytes, and starts at zero.
Mielőtt bármit csinálsz olvasd el ezt:
https://www.smartmontools.org/wiki/BadBlockHowto
Tehát:
3907029168 sector * 512 bytes/sector = 2000398934016 bytes (2 TB) a lemezed mérete
Te blocksize-nak 4096 byte-ot, adtál ami felülírja ibs-t és obs-t is.
Az általad adott seek=3721579560 paraméterrel obs * 3721579560 byte-ra szeretnél ugrani, ami a megadott blocksize miatt 4096 * 3721579560 = 15243589877760 bytes (15.24 TB)
Ez pedig a lemezed végén is túl van..
Valamint jó lenne megnézni a fájlrendszerben mi van ott (ha van egyáltalán valami) és olvasási próbát tartani először, hogy tényleg rossz-e (jó szektorral próbálkozol-e például).
- A hozzászóláshoz be kell jelentkezni
A blokkmérettel (bs) kell számolni a seeknél is (az LBA 512 byte-tal számol, a 4096-hoz oszd el 8-al). De amúgy nem sok értelme van annak, amit csinálsz. Nézd meg a full smart reportot, mennyi a relocated értéke. Vagy a pending.
- A hozzászóláshoz be kell jelentkezni
A "full smart report" alatta "# smartctl -a /devizé" parancsot érted?
A lényeg itt van:
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 198 183 051 Pre-fail Always - 34
3 Spin_Up_Time 0x0027 176 175 021 Pre-fail Always - 4183
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 8
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 74
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 8
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 4
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 375
194 Temperature_Celsius 0x0022 115 114 000 Old_age Always - 32
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 1
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed: read failure 90% 67 3721579560
Minden ami "reallocte" az bíz nulla.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Ha a short tesztet most csinaltad, akkor pontosan a 3721579560 lesz, akkor hdparm --read-sector 3721579560 /dev/sdy
Aztan megprboalhatod utana kovetkezo par sectort is. Ami nem olvashato, azt meg irni is tudod hdparm-al
- A hozzászóláshoz be kell jelentkezni
Sok éve használtam a hdparm -ot, de ezt a funkciót soha. Köszönöm úgy tűnik működik (már a negyedik ilyen szektort "javítom".
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Minden ,ami "reallocate" az bíz nulla.
Igen. De pl. a Current_Pending_Sector az nem nulla. Tehát tud róla, hogy van egy hibás, majd ha ráírsz, akkor a tartalék területre ír és onnan kezdve ez nullázódik és átkerül a Reallocated_Event_Count alá. Na onnan kezdve nem lesz nulla a reallocate.
- A hozzászóláshoz be kell jelentkezni