SpectraStorageDump
Сама поднимает отвалившийся диск и сама решает, куда идти дальше
SpectraStorageDump — станция восстановления данных
Снимает посекторную копию с умирающего накопителя без человека рядом. Диск, который отваливается каждые пять минут, требует двадцати вмешательств в час — все двадцать программа делает сама.
Зачем она появилась
Повреждённый накопитель нельзя просто подключить и скопировать. Он отваливается, залипает, перестаёт отвечать — и всё это время рядом должен сидеть человек: нажимать клавишу, передёргивать питание, следить, не пошло ли копирование по кругу.
Диск, который отваливается каждые пять минут, требует около двадцати вмешательств в час. Ночная смена у стенда — это не работа мастера, это дежурство. Программа написана ровно для того, чтобы эти двадцать вмешательств делались без человека.
Честно о границах
Уровень работ — любительское восстановление данных, и мы говорим это прямо. Гермоблок не вскрываем, микросхемы памяти не выпаиваем, донорские блоки головок не переставляем.
Что входит в область работ:
- накопитель определяется, пусть и не виден в операционной системе
- много повреждённых секторов
- накопитель отваливается в процессе работы
- HDD без SATA-разъёма, но с SATA-интерфейсом — после перепайки работа нестабильна
Чем это отличается от обычных программ восстановления
Обычная программа восстановления данных работает со здоровым носителем: читает файловую систему, находит удалённые записи, собирает файлы. Если диск сыпется — она либо упирается в ошибку чтения, либо часами молотит один сбойный сектор, добивая накопитель.
SpectraStorageDump решает другую задачу: сначала снять максимум данных с умирающего железа, пока оно ещё живо. Разбор файлов — потом, уже с копии, и копию можно читать сколько угодно раз.
| Обычная программа | SpectraStorageDump | |
|---|---|---|
| С чем работает | с живым накопителем | с отваливающимся и сыпящимся |
| Если диск отвалился | ошибка, работа встала | поднимает сама, по лестнице сбросов |
| Сбойная зона | читает до упора, добивая диск | откладывает, возвращается позже |
| Нужен ли человек рядом | да, постоянно | нет |
| Результат | сразу файлы, если повезёт | посекторная копия, из неё файлы |
Что в ней сделано иначе
Лестница сбросов, которая учится
Диск отвалился — программа поднимает его сама, от дешёвого рычага к дорогому: пересканировать порты, снять узел, разбудить порт опросом, сброс контроллера, переопознание, COMRESET с питанием, питание. Какая ступень срабатывает на этом конкретном диске, она запоминает и впредь начинает с неё.
Отвал опознаётся за секунды, а не за минуты
Отвалившийся диск ошибается на полной скорости — мегабайты ошибок в секунду. Настоящая сбойная зона читается медленно. Разница видна сразу, и пока обычный надзор выжидает выдержку, ddrescue успевает разметить сбойными десятки мегабайт целой поверхности.
Своя теневая карта
Карта ddrescue умеет откатываться назад и терять уже прочитанное. Программа ведёт собственную карту, замечает откат и возвращает потерянное.
Залипание — не отвал
Диск, ушедший в себя на одной области, сбрасывать не надо: надо уйти вперёд, а область отложить на потом. Разницу между залипанием и отвалом программа различает.
Карта поверхности, которая не врёт
Клетка карты показывает состав диапазона, а не худший статус в нём. Иначе 296 КБ сбойного окрашивают 24 ГБ целой поверхности — и картинка перестаёт что-либо значить.
Живой рассказ с обратным отсчётом
Не «работаю», а «диск не отвечает уже 47 с: без прироста 47 с, через 133 с начну сброс контроллера». Видно не только что происходит, но и что программа собирается делать дальше.
Веб-панель на тот же экран
Лаборатория бывает в труднодоступном месте, и ходить к стенду ради нажатия «пауза» неразумно. Тот же интерфейс открывается в браузере.