Anonim

Это началось в субботу вечером, когда моя жена спросила, почему наш видеорегистратор внезапно перестал воспроизводить шоу, которое она смотрела. Я сказал ей, что это, вероятно, просто какой-то сбой, но я посмотрю. Я захожу в семейную комнату, чтобы посмотреть, и ошибка в основном говорит о том, что основной диск больше не доступен. Фигово! Это было началом моей трехдневной ужасной истории …

Немного фона

Мой видеорегистратор - это просто специализированное программное обеспечение (SageTV для любопытных), работающее на ПК. Программное обеспечение очень гибкое и позволяет выделить все его различные аспекты. У меня есть отдельная машина для централизованного управления, планирования и записи, отдельные машины для воспроизведения и звезда этой истории, отдельная машина для хранения. В качестве хранилища я использую файловый сервер Linux, использующий LVM (менеджер логических томов) для объединения множества отдельных неидентичных дисков в один большой (~ 6 ТБ в настоящее время) логический диск, который видит операционная система. Поскольку резервное копирование нескольких ТБ данных нецелесообразно, и поскольку указанные данные являются «просто» телешоу, моей философией резервного копирования всегда было просто не заботиться. До недавних событий эта философия не была проверена реальным событием.

Попытка восстановить данные

Увидев ошибку на цифровом видеорегистраторе, я сразу же начал смотреть на сервер хранения. Файловая система невероятно медлительна и медленно реагирует, поэтому я запрашиваю у LVM состояние физических дисков, лежащих в основе его логического тома. После долгой задержки он приходит и говорит, что 750 ГБ диск отсутствует. Ой-ой! Я перезагружаю сервер и, что удивительно, диск возвращается. Я запускаю команду pvmove для автоматической миграции всех данных с этого диска, но она завершается с ошибкой менее чем на 2%.

Столкнувшись с диском, который очень не хочет читать данные, но, по крайней мере, появляется в BIOS, я обращаюсь к своему любимому инструменту восстановления дисков, Spinrite. Хотя Spinrite обычно загружается со съемных носителей, несколько лет назад я настроил сетевую загрузку у себя дома для различных утилит, поэтому мне не пришлось беспокоиться о том, чтобы отслеживать какие-либо носители. Обычно я просто подключаюсь к своей сети, выбираю загрузку из сети, и в моем распоряжении множество инструментов для решения многих проблем. Проблема в том, что машина, которая заставляет всю эту магию работать, - это та же самая машина, которая в настоящее время не работает. Ничего страшного, говорю я, я просто загружаюсь с компакт-диска Spinrite. За исключением пары лет назад оптический привод на моем файловом сервере отказался от призрака. В то время, когда это произошло, я решил, что, поскольку я никогда не использую оптические носители в этой машине, мне не нужно было заменять ее. Не беспокойся, сказал я себе, я просто выну оптический привод из моего основного компьютера. Я выключаю основной компьютер и вынимаю оптический привод. Затем я ищу свой загрузочный компакт-диск Spinrite. Не могу найти это! Мы переехали в новый дом несколько месяцев назад, так что все в некотором беспорядке. Я полагаю, что просто сожгу новую копию, но я даже не могу найти чистый оптический носитель! На следующий план загрузочная флешка! Через несколько минут в Google, чтобы освежить мою память, у меня есть загрузочная флешка Spinrite. Я загружаю свою коробку Linux и запускаю Spinrite. Компьютер зависает и, кажется, вылетает. Стремясь исключить переменные, я перевожу неисправный диск из подключенного в карту расширения PCI-e к прямому подключению к материнской плате. Теперь Spinrite запускается нормально, но требуются годы и века, чтобы перечислить подключенные к нему диски. Я систематически отключаю все другие диски, кроме плохого, но он никогда не заканчивает перечислять диски независимо от того, как долго я жду. На следующий план! Я вынимаю диск из своего Linux-бокса, подключаю его к основному компьютеру и загружаю с моей новой блестящей флешки Spinrite. Spinrite запускает и сразу видит диск, и я говорю ему, чтобы начать восстановление данных, довольный, что я наконец-то добился определенного прогресса. Я возвращаюсь, чтобы проверить это примерно через 10 минут, и на экране появляется ошибка, и кажется, что диск снова исчез. Разочарованный, я пробую еще несколько раз и приказываю Spinrite запускаться на разных участках диска, но каждый раз получаю один и тот же результат. Кажется, это не поможет мне в конце концов.

В порыве иррациональной надежды я положил диск обратно в коробку с Linux и включил его. К моему изумлению, привод обнаруживается, и LVM активирует все. Продолжая свою удачу, я ввожу другую команду pvmove, чтобы попытаться снова перенести данные с диска. Вначале я вижу сообщения об ошибках из-за невозможности чтения с диска, но, что удивительно, pvmove продолжает прогрессировать, приближаясь к завершению на 100%. Смесь растерянности, облегчения и волнения омывает меня. Я собираюсь уйти от этого невредимым? К сожалению, последнее, что LVM делает под прикрытием для аккуратного завершения pvmove, - это запись обновленного журнала на все диски, находящиеся под его контролем. Это конечно терпит неудачу, когда это пытается записать на плохой диск, и таким образом это прерывает весь процесс. Поражение вырвано из челюстей победы еще раз! Я возвращаюсь в Google и обнаруживаю, что можно контролировать, сколько данных перемещает команда pvmove, вместо перемещения ВСЕХ данных за один раз. Я экспериментирую с этим и с большим успехом перемещаю крошечную порцию своих данных за раз. Я становлюсь жадным, и диск исчезает несколько раз, но всегда возвращается после выключения компьютера. Предполагая, что, возможно, только некоторые части диска являются плохими, я начинаю прыгать вокруг, вместо того чтобы работать над началом диска. После нескольких итераций у меня есть все, кроме 40 ГБ из 750 ГБ, благополучно извлеченные из диска. На оставшиеся 40 ГБ он не двигался, что бы я ни пытался. Был вечер воскресенья, и я был измотан, поэтому я решил пойти спать и заняться этой проблемой на следующий день.

На следующий день, после некоторого сна и первой половины моего рабочего дня, я решил просто откусить пулю, потому что мне было безразлично последние 40 ГБ записанных телепередач, и приступил к удалению накопителя из конфигурации LVM., Я делал это много раз раньше, так что все идет довольно гладко. Далее в списке очистки исправляется дыра в середине файловой системы. Я полагаю, что только 40 ГБ вместо 750 ГБ отсутствуют, это не может быть слишком плохо, верно? Неправильно! После ремонта у меня появилось 900 ГБ дополнительного свободного места по сравнению с тем, что было до начала испытания, так что сильно ужалило. Ну что ж, говорю себе, это было просто телевидение в любом случае. Мой DVR наконец-то снова работает после трехдневного перерыва, и я могу наконец перестать думать об этом с каждым запасным циклом мозга.

Уроки выучены

Так что я узнал из всего этого? Я должен был сделать лучшую работу из того, что действительно имело значение. Это произошло несколько недель назад, и за это время я даже не пропустил ни один из пропавшего телевизионного контента. Тем не менее, я сожалею о том, что не смог себе, но, что важнее, моей семье иметь возможность пользоваться телевизором в течение трех дней, а также за то, что он в течение этих трех дней находился в режиме стресса. Если бы я с самого начала отказался от восстановления своих данных, функция была бы восстановлена ​​примерно через час, а не через три дня. Я слишком хорошо знаю, что большую часть времени наши данные ценны, но в этой ситуации это не так.

Во-вторых, если ваши данные действительно ценны, и в 99% случаев это действительно так, вам нужно их защитить! Сделайте резервную копию ваших данных, оправданий нет. Для моих незаменимых данных, таких как тысячи фотографий моего сына, которые у меня есть на моем компьютере, я делаю резервные копии не менее чем в трех местах, одним из которых является поставщик облачного резервного копирования. Что касается хранилища DVR, я до сих пор не думаю, что целесообразно создавать резервные копии в облачном хранилище, но, учитывая цену дисков в наши дни, у меня нет оправдания тому, что она не защищена RAID, и это как раз то, что я хочу. собирается сделать. Когда я впервые настроил свой кластер хранения несколько лет назад, я думал, что мне потребовалось 10 или более дисков, чтобы получить пул с несколькими ТБ. Я только что проверил цены, и теперь вы можете приобрести диск объемом 3 ТБ за сумму менее 100 долларов. У меня просто нет оправдания для того, чтобы оставить мои данные незащищенными, и если такая потеря данных случится со мной снова, это действительно моя вина.

Сказка о грусти, разочаровании и потере данных