Започна в събота вечер с жена ми да попита защо нашият DVR изведнъж спря да играе шоу, което гледа. Казах й, че вероятно е само някакъв проблем, но ще погледна. Влизам в семейната стая, за да разгледам, а грешката основно заяви, че основният диск вече не е наличен. Не е добре! Това беше началото на тридневната ми история на ужасите …
Малко предистория
Моят DVR всъщност е само специализиран софтуер (SageTV за тези, които са любопитни), работещ на компютър. Софтуерът е много гъвкав и ви позволява да отделите всички различни аспекти от него. Имам отделна машина за централизирано управление, планиране и запис, отделни машини за възпроизвеждане и звездата на тази история, отделна машина за съхранение. За съхранение използвам файлов сървър на Linux, използвайки LVM (Logical Volume Manager) за агрегиране на много отделни, не идентични устройства в едно голямо (~ 6TB в момента) логическо устройство, което операционната система вижда. Тъй като архивирането на множество ТБ данни е непрактично и тъй като казаните данни са "просто" телевизионни предавания, моята резервна философия за това винаги е била просто да не ми пука. До скорошни събития тази философия не беше тествана от реално събитие.
Опит за възстановяване на данните
След като видя грешката на DVR, веднага започвам да гледам сървъра за съхранение. Файловата система е невероятно мудна и бавна за реакция, затова питам LVM за състоянието на физическите дискове, които са в основата на логическия й обем. След дълго закъснение се появява и казва, че липсва устройство от 750 GB. Охо! Рестартирам сървъра и удивително, устройството се връща. Издавам команда pvmove за автоматично мигриране на всички данни от този диск, но тя не успява при по-малко от 2%.
Сблъсквайки се с устройство, което много не си сътрудничи по отношение на четенето на данните му, но поне се показва в BIOS, се обръщам към любимия си инструмент за възстановяване на диск, Spinrite. Въпреки че Spinrite обикновено ботуши от сменяеми носители, преди години създадох мрежово зареждане в къщата си за различни комунални услуги, така че не се наложи да се притеснявам за проследяване на всякакви медии. Обикновено просто се свързвам с моята мрежа, избирам зареждане от мрежа и имам на разположение различни инструменти, за да коригирам много проблеми. Проблемът е, че машината, която кара цялата тази магическа работа е същата машина, която в момента е надолу. Няма нищо голямо, казвам, просто ще се зарежда от CD със Spinrite. С изключение на няколко години оптичното устройство на моя файлов сървър се отказа от призрака. По времето, което се случи, реших, тъй като никога не използвам оптични носители в тази машина, нямаше нужда да я замествам. Без притеснение, казах си, просто ще извадя оптичното устройство от основния си компютър. Изключвам основния си компютър и изваждам оптичното устройство. След това търся моя CD за зареждане Spinrite. Не мога да го намеря! Преди няколко месеца се преместихме в нова къща, така че всичко е в малко безпорядък. Мисля, че просто ще запиша ново копие, но дори не мога да намеря празни оптични носители! В следващия план, зареждащо флаш устройство! След няколко минути в Google, за да освежа паметта ми, имам стартиращ флаш диск Spinrite. Стартирам моя Linux кутия от това и пускам Spinrite. Компютърът замръзва и изглежда се срива. Търсейки да премахна променливите, премествам лошия диск от включване в PCI-e разширителна карта към директно включване в дънната платка. Сега Spinrite стартира добре, но отнема години и векове, за да се изброят устройствата, свързани към него. Систематично изключвам всички други дискове, освен лошото, но никога не завършва изброяване на дискове, независимо колко дълго чакам. В следващия план! Изваждам устройството от моя Linux кутия, свързвам го към моя основен компютър и зареждам от лъскавото си ново флаш устройство Spinrite. Spinrite се стартира и вижда устройството веднага, а аз му казвам да започне да възстановява данни, доволен, че най-накрая постигам известен напредък. Връщам се да го проверя след може би 10 минути и на екрана има грешка и изглежда задвижването отново изчезна. Обезпокоен, опитвам още няколко пъти и казвам на Spinrite да започне от различни части на устройството, но получавайте един и същ резултат всеки път. Изглежда това в крайна сметка няма да ми помогне.
В пристъп на ирационална надежда поставих устройството обратно в моята Linux кутия и го захранвам. За мое учудване, задвижването се показва и LVM носи всичко активно. По-нататък опитвайки късмета си, издавам друга команда pvmove, за да опитам отново да преместя данните от устройството. В началото виждам съобщения за грешки за това, че не може да се чете от устройството, но удивително е, че pvmove продължава да напредва, все по-близо и по-близо до завършване на 100%. Смес от объркване, облекчение и вълнение мие над мен. Ще се измъкна от това невредимо? За съжаление, последното нещо, което LVM прави под капаците, за да завърши чисто pvmove, е да напише актуализиран дневник на всички дискове под негов контрол. Това разбира се се проваля, когато се опитва да запише на лошия диск и по този начин прекратява целия процес. Поражението изтръгна отново от челюстите на победата! Аз се гмуркам обратно в Google и откривам, че е възможно да контролирам колко данни се движи командата pvmove, вместо да премествам ВСИЧКИ данни в един кадър. Експериментирам с това и имам добър успех, движейки малка част от моите данни наведнъж. Ставам алчен и устройството изчезва няколко пъти, но винаги се връща след захранващ цикъл на компютъра. Теоризирайки, че може би само определени части от задвижването са лоши, започвам да скачам наоколо, вместо да работя в началото на устройството. След няколко повторения на това, всичко, освен 40 GB от 750 GB, безопасно се премести от устройството. За останалите 40 GB не успя да се премести, независимо от това, което опитах. Вече беше неделя вечер и бях изтощен, така че реших да си легна и да се справя с този проблем още на следващия ден.
На следващия ден, след малко сън и първата половина от деня ми на работа, решавам просто да захапя куршума, защото не ми пукаше за последните 40 GB записани телевизионни предавания, и започнах да премахна устройството от моята LVM конфигурация, Правих това много пъти преди, така че това върви доста гладко. На следващо място в списъка за почистване е поправянето на дупката в средата на файловата система. Мисля, че само 40 GB вместо 750 GB липсват, не може да бъде твърде лошо, нали? Грешка! След ремонта имах 900 GB допълнително свободно място в сравнение с преди началото на изпитанието, така че това се заби доста. О, добре, казвам си, така или иначе беше просто телевизия. Моят DVR най-накрая отново е функционален след тридневното си прекъсване и най-после мога да спра да мисля за това с всеки резервен мозъчен цикъл.
Поуки
И така, какво научих от всичко това? Трябваше да свърша по-добра работа от това, което наистина има значение. Това се случи преди няколко седмици и през това време дори не съм пропуснал нито едно от телевизионното съдържание, което изчезна. Аз обаче съжалявам, че попречих на себе си, но по-важното на семейството ми да мога да използвам телевизора в продължение на три дни и за това, че се поставих в режим на криза с висок стрес за тези три дни. Ако в началото се бях отказал от възстановяването на данните си, функцията щеше да бъде възстановена след около час, а не три дни. Знам твърде добре, че през повечето време нашите данни са ценни, но в тази ситуация не беше така.
Второ, ако вашите данни наистина са ценни и 99% от времето, в което са наистина, трябва да ги защитите! Архивирайте данните си, няма извинения. За моите данни, които са незаменими, като хиляди снимки на сина ми, които имам на компютъра си, не забравяйте да ги архивирам на не по-малко от три места, едното от които е доставчик на облачно архивиране. Що се отнася до съхранението на DVR, все още не мисля, че е практично да го архивирам в облака, но с цената на дисковете в наши дни нямам извинение да не го защитавам от RAID и точно това съм ще направя. Когато за първи път създадох своя клъстер за съхранение преди години, мисля, че ми отне 10 диска или повече, за да стигна до пул с множество ТБ. Току-що проверих цените и вече можете да закупите 3 TB устройство за доста под 100 долара. Просто нямам извинение да оставя данните си незащитени и ако загуба на данни като тази ми се случи отново, това наистина е моя вина.






