LINUX.ORG.RU

пропуск по заданной скорости чтения

 


0

2

Всем привет :)

Может кто сталкивался - допустим, есть битый винт, и надо максимально быстро скопировать с него то, что еще осталось.

Задача - задать, допустим, если скорость чтения меньше 1 мегабайт/сек - файл пропускать, не пытаться считать дальше и переходить к следующему.

Есть ли такие тулзы под что-нибудь или хотя бы под оффтопик, на худой конец?

PS: вопрос mhdd, ремапа, dd, рековери и рескью-программ, восстановления разделов, религии, политики и философии - не ставится. Надо - не сидеть и не смотреть, как 4 терабайта инфы копируются вторую неделю, потому что в середине была картинка на 200 килобайт, которая по 8 байт в секунду, но читалась, а нажать «пропуск» было некому :)



Последнее исправление: karagi (всего исправлений: 1)

Ответ на: комментарий от gag

ddrescue

-a, --min-read-rate=<bytes>
minimum read rate of good areas in bytes/s

вот что-то вроде того, только для замонтированной файловой системы. за эту наводку тоже спасибо!

karagi
() автор топика
Ответ на: комментарий от karagi

ddrescue может и отдельные файлы восстанавливать. Но тогда действительно по отдельности. Так что если файлов много, и есть место для копии всего диска, то можно указать довольно высокий min-read-rate и сдампить всё. А потом указать поменьше и пройтись ещё раз. Повторить по усмотрению. Обязательно использовать «опциональный» mapfile.

P.S. И анониму спасибо: он успел раньше.

gag ★★★★★
()
Последнее исправление: gag (всего исправлений: 1)

Есть подозрение что не получится, когда операция чтения наткнется на долгочитаемый или битый блок - сам контроллер винта будет его долго «мурыжить» на разных скоростях, и в пока он не убедится что там все плохо (или пока его таки не прочетает за пару секунд если там все не полностью мертвое) то на добится от него (винчестера) хоть чегонибудь будет не возможно. Соотвецтвенно «быстро» пропустить битые вайлы не получится, все равно придется ждать завершения текущей транзакйции чтоб перейти к следующей операции. А с учетом того что файлы (даже большие) часто могут быть сегментированы то можно попасть в ситуацию когда смысла в этих пропусках нету никакого.

zaz ★★★★
()
Ответ на: комментарий от zaz

сам контроллер винта будет его долго «мурыжить» на разных скоростях

Вспомнилось, как CD-привод меняет скорость вращения шпинделя. А вот какая скорость имеется ввиду для жёсткого диска?

gag ★★★★★
()
Ответ на: комментарий от zaz

Есть подозрение что не получится, когда операция чтения наткнется на долгочитаемый или битый блок - сам контроллер винта будет его долго «мурыжить» на разных скоростях, и в пока он не убедится что там все плохо (или пока его таки не прочетает за пару секунд если там все не полностью мертвое) то на добится от него (винчестера) хоть чегонибудь будет не возможно. Соотвецтвенно «быстро» пропустить битые вайлы не получится, все равно придется ждать завершения текущей транзакйции чтоб перейти к следующей операции. А с учетом того что файлы (даже большие) часто могут быть сегментированы то можно попасть в ситуацию когда смысла в этих пропусках нету никакого.

Ошибочное подозрение. Путаешь с CD\DVD приводом. Будет конечно застревать на пару секунд над битыми секторами но в целом это не столь мучительный процесс как чтение испорченной оптической болванки. (Вменяемые люди сразу ограничивали скорость чтения привода минимальной, чтобы привод не раскручивал и не пытался порвать кривую болванку как тузик грелку. И рвал ведь иногда.). У HDD скорость вращения постоянная кстати.

Jameson ★★★★★
()
Ответ на: комментарий от zaz

Есть подозрение что не получится, когда операция чтения наткнется на долгочитаемый или битый блок - сам контроллер винта будет его долго «мурыжить» на разных скоростях, и в пока он не убедится что там все плохо (или пока его таки не прочетает за пару секунд если там все не полностью мертвое) то на добится от него (винчестера) хоть чегонибудь будет не возможно. Соотвецтвенно «быстро» пропустить битые вайлы не получится, все равно придется ждать завершения текущей транзакйции чтоб перейти к следующей операции. А с учетом того что файлы (даже большие) часто могут быть сегментированы то можно попасть в ситуацию когда смысла в этих пропусках нету никакого.

ну да, так оно и есть, соотв-но - общая скорость падает, по идее в это время сидит за компом матерящийся падаван и тыкает кнопку «skip» ;)

насчет «быстро» пропустить - не понял. файл, допустим, разбит на 32 «группы частей», лежащие на разных частях винта. в районе третьей группы - сбойные сектора, файл читать прекращаем, записанный - стираем, переходим к следующему по списку.

karagi
() автор топика
Ответ на: комментарий от anonymous

Если шпиндель вращается с постоянной скоростью, то у головки нет шансов менять своё время нахождения над одной и той же областью. Область всё время пролетает мимо, давая головке одно и то же время. Можно повторять, дожидаться повторного прохода, но причём тут разная скорость?

gag ★★★★★
()
Ответ на: комментарий от gag

нет шансов менять своё время нахождения над одной и той же областью
Можно повторять, дожидаться повторного прохода

Мне нравится, как вы тут сами же себя сразу опровергаете.

anonymous
()
Ответ на: комментарий от anonymous

Почему же? При пролёте

нет шансов менять своё время нахождения над одной и той же областью

Но можно оставить головку на той же позиции, тогда при повторном пролёте получить дополнительно ровно столько же времени. Но не менять его (как вздумается).

gag ★★★★★
()
Ответ на: комментарий от Jameson

У меня есть большой опыт работы с умирающим диском. Скорость вращения одинаковая - а скорость чтения нет. Контроллер сщитывает сектор и проверяет контрольные суммы, если они не совпадают то происходит повторное сщитывание сектора - причем как при этом идет сброс позицый головок чтобы устранить возможную проблему позиционирования. Данная операция повторяется многократно с разными параметрами системы (в том числе и чуствительностью сенсора), бывает так что при одних параметрах получается прочитать первую часть сектора, при других вторую - но все эти пляски занимают большое ко-во времени и винчестер в этот момент не доступен для других операций.

zaz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.