Anonim

Começou no sábado à noite com minha esposa perguntando por que nosso DVR parou de tocar de repente em um programa que estava assistindo. Eu disse a ela que provavelmente era apenas uma falha, mas eu daria uma olhada. Entro na sala da família para olhar, e o erro basicamente dizia que o disco subjacente não estava mais disponível. Não é bom! Este foi o começo da minha história de horror de três dias …

Um pouco de fundo

Meu DVR é na verdade apenas um software especializado (SageTV para quem está curioso) rodando em um PC. O software é muito flexível e permite separar todos os seus vários aspectos. Eu tenho uma máquina separada para controle centralizado, agendamento e gravação, máquinas separadas para reprodução e a estrela desta história, uma máquina separada para armazenamento. Para armazenamento, eu uso um servidor de arquivos Linux, utilizando o LVM (Logical Volume Manager) para agregar muitas unidades separadas e não idênticas em uma unidade lógica grande (~ 6 TB no momento) que o sistema operacional vê. Como o backup de vários TB de dados é impraticável, e como esses dados são “apenas” programas de TV, minha filosofia de backup para isso sempre foi apenas não me importar. Até eventos recentes, essa filosofia não havia sido testada por um evento do mundo real.

Tentativa de recuperar os dados

Ao ver o erro no DVR, começo imediatamente a olhar para o servidor de armazenamento. O sistema de arquivos é incrivelmente lento e lento para responder, por isso pergunto ao LVM sobre o estado das unidades físicas subjacentes ao seu volume lógico. Após um longo atraso, ele aparece e diz que está faltando uma unidade de 750 GB. Ah! Eu reinicio o servidor e, surpreendentemente, a unidade volta. Emito um comando pvmove para migrar automaticamente todos os dados dessa unidade, mas falha com menos de 2% de conclusão.

Diante de uma unidade que não coopera muito na leitura de seus dados, mas pelo menos aparece no BIOS, recorro à minha ferramenta de recuperação de unidade favorita, a Spinrite. Embora o Spinrite normalmente inicialize a partir de mídia removível, anos atrás eu configurei a inicialização de rede em minha casa para vários utilitários, para que não precisasse me preocupar em acompanhar nenhuma mídia. Normalmente, apenas conecto à minha rede, seleciono a inicialização da rede e tenho uma variedade de ferramentas à minha disposição para corrigir muitos problemas. O problema é que a máquina que faz todo esse trabalho mágico é a mesma máquina que está inativa no momento. Não é grande coisa que digo, vou apenas inicializar a partir de um CD Spinrite. Exceto há alguns anos, a unidade óptica no meu servidor de arquivos desistiu do fantasma. Na época, decidi que, como nunca utilizava mídia ótica nessa máquina, não precisava substituí-la. Não se preocupe, eu disse a mim mesma: vou tirar a unidade óptica do meu computador principal. Eu desligo o computador principal e retiro a unidade óptica. Então procuro meu CD de inicialização do Spinrite. Não consigo encontrar! Nós nos mudamos para uma nova casa há alguns meses atrás, então tudo está um pouco desarrumado. Acho que vou gravar uma nova cópia, mas não consigo encontrar nenhuma mídia óptica em branco! No próximo plano, uma unidade flash inicializável! Depois de alguns minutos no Google para refrescar minha memória, tenho uma unidade flash Spinrite inicializável. Eu inicializo minha caixa Linux e lancei o Spinrite. O computador congela e parece travar. Procurando eliminar variáveis, passo a unidade ruim de ser conectada a uma placa de expansão PCI-e para diretamente conectada à placa-mãe. Agora, o Spinrite é bom, mas leva séculos e séculos para enumerar as unidades conectadas a ele. Eu sistematicamente desconecto todas as outras unidades, exceto a ruim, mas ela nunca termina de enumerar as unidades, por mais que eu espere. Para o próximo plano! Pego a unidade da minha caixa Linux, conecto-a ao meu computador principal e inicializo a partir da minha nova e brilhante unidade flash Spinrite. O Spinrite é iniciado e vê a unidade imediatamente, e eu digo para começar a recuperar dados, satisfeito por finalmente estar fazendo algum progresso. Volto a verificá-lo depois de 10 minutos, e há um erro na tela e parece que a unidade desapareceu mais uma vez. Frustrado, tento mais algumas vezes e digo ao Spinrite para iniciar em várias partes da unidade, mas sempre obtém o mesmo resultado. Parece que isso não vai me ajudar, afinal.

Em um ataque de esperança irracional, eu coloco o drive de volta na minha caixa Linux e o ligo. Para minha surpresa, a unidade aparece e o LVM traz tudo ativo. Tentando ainda mais a sorte, emito outro comando pvmove para tentar mover os dados da unidade novamente. No início, recebo mensagens de erro sobre não poder ler a unidade, mas, surpreendentemente, o pvmove continua a progredir, ficando cada vez mais perto de 100% concluído. Uma mistura de confusão, alívio e emoção toma conta de mim. Eu vou me afastar disso ileso? Infelizmente, a última coisa que o LVM faz sob as cobertas para finalizar um pvmove de maneira limpa é gravar um log atualizado em todas as unidades sob seu controle. É claro que isso falha quando tenta gravar na unidade defeituosa e, portanto, anula todo o processo. Derrota arrebatada das garras da vitória mais uma vez! Volto ao Google e descubro que é possível controlar a quantidade de dados que o comando pvmove move em vez de mover TODOS os dados de uma só vez. Eu experimento isso e tenho um bom sucesso ao mover uma pequena parte dos meus dados por vez. Fico ganancioso e a unidade desaparece algumas vezes, mas sempre volta após um ciclo de energia do computador. Teorizando que talvez apenas algumas partes da unidade sejam ruins, começo a pular em vez de trabalhar no início da unidade. Após algumas iterações disso, eu tenho quase 40 GB dos 750 GB saídos com segurança da unidade. Nos 40 GB restantes, não foi possível mover o que eu tentei. Agora era domingo à noite e eu estava exausta, então decidi ir para a cama e resolver esse problema mais no dia seguinte.

No dia seguinte, depois de dormir um pouco e na primeira metade do dia no trabalho, decidi apenas morder a bala porque não me importava com os últimos 40 GB de programas de TV gravados e decidi remover a unidade da minha configuração LVM . Eu já fiz isso várias vezes antes, então tudo corre bem. O próximo na lista de limpeza é reparar o orifício no meio do sistema de arquivos. Eu acho que com apenas 40 GB em vez de 750 GB faltando, não pode ser tão ruim, certo? Errado! Após o reparo, eu tinha 900 GB de espaço livre adicional em comparação com o início do calvário, o que doeu bastante. Oh, bem, eu digo a mim mesma, era apenas televisão de qualquer maneira. Meu DVR finalmente está funcionando novamente após três dias de hiato, e posso finalmente parar de pensar nisso a cada ciclo cerebral sobressalente.

Lições aprendidas

Então, o que eu aprendi com tudo isso? Eu deveria ter feito um trabalho melhor do que realmente importava. Isso aconteceu há algumas semanas e, naquele tempo, eu nem senti falta do conteúdo da TV que desapareceu. Lamento, no entanto, me impedir, mas mais importante ainda, minha família, de poder usar a TV por três dias e de me colocar no modo de crise de alto estresse por esses três dias. Se eu tivesse desistido de recuperar meus dados no início, a função seria restaurada em cerca de uma hora, não três dias. Sei muito bem que na maioria das vezes nossos dados são preciosos, mas nessa situação não eram.

Em segundo lugar, se seus dados são realmente preciosos e 99% do tempo são realmente, você precisa protegê-los! Faça backup de seus dados, não há desculpas. Para os meus dados insubstituíveis, como milhares de fotos do meu filho que tenho no meu computador, certifique-se de fazer o backup em nada menos que três locais, um dos quais é um provedor de backup em nuvem. Quanto ao armazenamento em DVR, ainda não acho prático fazer backup na nuvem, mas com o preço das unidades atualmente, não tenho desculpas para não protegê-lo por RAID, e é exatamente isso que estou fazendo. vou fazer. Quando configurei meu cluster de armazenamento pela primeira vez, acho que levei 10 unidades ou mais para chegar a um pool de vários TB. Acabei de verificar os preços e agora você pode comprar uma unidade de 3 TB por menos de US $ 100. Simplesmente não tenho desculpa para deixar meus dados desprotegidos e, se uma perda de dados como essa acontecer comigo novamente, a culpa é minha.

Um conto de tristeza, frustração e perda de dados