մի ֆայլ կարդալու սխալ էր։ ուսբ-ով կպնող վինչի։ այդպես էր սկսվել։
արեցի fsck չդզվեց։
արեցի reiserfsck –rebuild-tree, որը փաստորեն չկարողացավ ավարտվել, որովհետև ինչ որ տեղ թքում ու դուրս էր թռնում։
իսկ եթե ծառի վերակառուցումը չի ավարտվել, ապա բաժինը էլ մաունթ չի լինի։
որոշեցի բաքափ անել սաղ վինչը։
dd if=/dev/sdb of=/data/noch/hd.img
չեղավ
դուրս թռավ կոնկրետ տեղում՝ 464648040-րդ բլոքի վրա։
ու տենց հա դուրս էր թռնում։
փաստորեն dd_rescue-ով հանեցի դիսկի պատկեր, համ էլ իմացա, քանի բլոք ա կոնկրետ վնասվել։
հիմա կարելի էր այդ տեղը զրոնել լցնել որ դիսկը ռեմափ անի
չարեց՝ ինփութ/աւոփութ էրրոր։
smartctl-ը ինձ զարմացրեց՝ ոչ մի ռեալլոքեյթդ սեկտոր։
Եթե վատ սեկտորի վրա ինչ որ բան գրում ես, վինչը իրան ռեմափ ա անում։
Մինչև կա ինչ ռեմափ անել։ Եթե էլ չկա, ու ֆայլային համակարգի մակարդակի վրա ա սխալը, ապա ավելի լավ ա վինչը գցել։
բա ինչի՞ չի գրում։ ոչ սխալ կա, ոչ գրում ա։
Մի հատ էլ գրեցի՝
# dd if=/dev/zero of=/dev/sdb seek=464648040 bs=512 count=8
dd: writing `/dev/sdb’: Input/output error
1+0 records in
0+0 records out
0 bytes (0 B) copied, 2.45075 s, 0.0 kB/s
Մտածեցի, հիմա ի՞նչ անեմ։ Ոչ սխալ սեկտոր չկա բայց չի գրում։
Ախր եթե սխալ սեկտոր ա, պիտի ռեմափ անի։
Կարելի էր իհարկե ext ֆս ստեղծել -c-ով որ չեք ֆոր բադ բլոքս անի։
Բայց էդ կլիներ ֆս-ի մակարդակի վրա։ Իսկ եթե smart-ը ցույց չի տալիս reallocated sectors ապա ի՞նչ իմաստ ունի -c-ով ֆս ստեղծելը։
Ավելին, ես ուզում եմ xfs քշել։
Որոշեցի անհայտ պատճառով առաջացած սխալ տեղը իզոլացնել։
Հաշվեցի, որ
464648040*512
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty’.
464648040*512
237899796480
237899796480/1000000
237899
Ահա, 237-երրորդ գիգաբայթի վրա էր սխալը։
Իզոլացրեցի, ստեղծեցի 236-ից 238գբ, 2գբ-ոց բաժին։
սկսեցի լցնել այն զրոներով։
# dd if=/dev/zero of=/dev/sdb2
dd: writing to `/dev/sdb2′: No space left on device
3903796+0 records in
3903795+0 records out
1998743040 bytes (2.0 GB) copied, 84.1689 s, 23.7 MB/s
quit
$
գրե՞ց
բա նոր չեիր գրում։
հիմա կրկին գրեմ էն չգրվող տեղը։
# dd if=/dev/zero of=/dev/sdb seek=464648040 bs=512 count=8
8+0 records in
8+0 records out
4096 bytes (4.1 kB) copied, 0.0557051 s, 73.5 kB/s
գրում ա
հմմմ։
կրկին սմարտ։
smartctl -a /dev/sdb
Ահա, գտնվեց։
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always – 1
Մի հատ ռեմափ արեց։
Հրաշալի ա։
Բա ինչի՞ էր պահանջվում էդպիսի մասսիվ դդ որ ինքը ռեմափ անի։
Գուցե նրանից որ usb-ով ա կպած։
Էդ չգիտեմ ես։
ու տենց