1 |
Так как я понял, дело в том, что плохих секторов нету - есьт только |
2 |
информация смарта - Current Pending Sectors, но после перезаписывания этих |
3 |
секторов и подальшого их чтения - они исключаются из секторов, которые |
4 |
являются кандидатами на замену. |
5 |
|
6 |
2010/10/10 Leonid Eremin <leon.programmer@×××××.com> |
7 |
|
8 |
> А не проще ли периодически проверять диск командой badblocks? |
9 |
> Диск сам разберется, когда ему делать relocation. |
10 |
> |
11 |
> |
12 |
> 2010/10/10 Nazar Vinnichuk <ux.isco@×××××.com> |
13 |
> |
14 |
> Действительно... Как я мог забыть о dd ;) |
15 |
>> |
16 |
>> 10 октября 2010 г. 15:25 пользователь Denis V. Rybakov < |
17 |
>> denis.rybakov@×××××.com> написал: |
18 |
>> |
19 |
>> On 10.10.2010 01:17, Семён Марьясин wrote: |
20 |
>>> |
21 |
>>> Поправьте, если ошибаюсь... |
22 |
>>>> А разве нельзя сделать так? |
23 |
>>>> dd if=/dev/sda of=/dev/sda bs=1M |
24 |
>>>> Или тут тоже могут сработать какие-нибудь оптимизации?.. |
25 |
>>>> |
26 |
>>>> |
27 |
>>>> |
28 |
>>> |
29 |
>>> Как показал эксперимент, конкретно с блочными устройствами можно. |
30 |
>>> Однако не стоит так делать на файлах. |
31 |
>>> |
32 |
>>> Блочное устройство: |
33 |
>>> |
34 |
>>> dry@whitestar:/$ dd if=/dev/urandom of=/tmp/test.bin bs=512 count=100000 |
35 |
>>> 100000+0 records in |
36 |
>>> 100000+0 records out |
37 |
>>> 51200000 bytes (51 MB) copied, 8,10841 s, 6,3 MB/s |
38 |
>>> dry@whitestar:~$ sudo losetup /dev/loop0 /tmp/test.bin |
39 |
>>> dry@whitestar:~$ sudo md5sum -b /dev/loop0 |
40 |
>>> d9eb4cc86dbaf8c852dfe52e4f6ad71a */dev/loop0 |
41 |
>>> dry@whitestar:~$ sudo dd if=/dev/loop0 of=/dev/loop0 bs=512 |
42 |
>>> 100000+0 records in |
43 |
>>> 100000+0 records out |
44 |
>>> 51200000 bytes (51 MB) copied, 0,286868 s, 178 MB/s |
45 |
>>> dry@whitestar:~$ sudo md5sum -b /dev/loop0 |
46 |
>>> d9eb4cc86dbaf8c852dfe52e4f6ad71a */dev/loop0 |
47 |
>>> |
48 |
>>> Как видно блоки переписаны, хэши сошлись |
49 |
>>> |
50 |
>>> Теперь с файлом. |
51 |
>>> |
52 |
>>> dry@whitestar:/$ dd if=/dev/urandom of=/tmp/test.bin bs=512 count=100000 |
53 |
>>> 100000+0 records in |
54 |
>>> 100000+0 records out |
55 |
>>> 51200000 bytes (51 MB) copied, 8,10841 s, 6,3 MB/s |
56 |
>>> dry@whitestar:/$ md5sum -b /tmp/test.bin |
57 |
>>> 1c8ea98a4f27f98e91ea7e1baeee95ab */tmp/test.bin |
58 |
>>> dry@whitestar:/$ dd if=/tmp/test.bin of=/tmp/test.bin bs=512 |
59 |
>>> 0+0 records in |
60 |
>>> 0+0 records out |
61 |
>>> 0 bytes (0 B) copied, 3,0994e-05 s, 0,0 kB/s |
62 |
>>> dry@whitestar:~$ md5sum -b /tmp/test.bin |
63 |
>>> d41d8cd98f00b204e9800998ecf8427e */tmp/test.bin |
64 |
>>> dry@whitestar:~$ ls -l /tmp/test.bin |
65 |
>>> -rw-r--r-- 1 dry dry 0 2010-10-10 16:11 /tmp/test.bin |
66 |
>>> |
67 |
>>> Как видно чтение оборвалось, как только файл был открыт на запись, |
68 |
>>> что в общем объяснимо. |
69 |
>>> |
70 |
>>> |
71 |
>>> |
72 |
>>> |
73 |
>> |
74 |
> |
75 |
> |
76 |
> -- |
77 |
> Leonid. |
78 |
> |