Porque, mesmo se você estiver aderindo aos lançamentos de suporte de longo prazo (LTS), as distribuições do Linux geralmente correm mais risco do que as máquinas Windows de ir - repentina e espetacularmente - à falência.
Por que, em tantos casos, isso é tão?
- A compatibilidade de hardware, inclusive para componentes essenciais como GPUs, continua sendo um desafio significativo, com muitos fornecedores ainda sem suporte para distribuições Linux, deixando para a comunidade a criação de soluções alternativas;
- O modelo financeiro de código aberto não incentiva, muito menos exige, processos completos de controle de qualidade;
- E para aqueles que estão acompanhando os lançamentos de última geração, as mudanças fundamentais nas ferramentas de gerenciamento de pacotes têm o péssimo hábito de às vezes travar o sistema abrindo uma caixa de Pandora irreparável de erros de dependência. Reparar estes, mesmo quando possível, pode envolver fazer buracos de coelho de vários dias. O que pode parecer uma boa experiência de aprendizado para um usuário iniciante pode se tornar uma frustração para um usuário veterano que está prestes a mudar para o Windows.
E o problema de estabilidade do Linux enfureceu muitos usuários. Navegue por muitos tópicos de usuários em perigo no AskUbuntu.com e você encontrará muitos pôsteres frustrados que tentaram de tudo e, no final das contas, resolveram que a única maneira de avançar é instalar do zero.
Embora fazer isso possa inicialmente ser uma espécie de processo de aprendizagem, incentivando os usuários a repensar periodicamente como podem tornar seu sistema mais enxuto e agilizar o processo de recuperação, depois de um tempo, isso se torna nada melhor do que um grande incômodo que consome tempo. Mais cedo ou mais tarde, mesmo os usuários avançados mais avançados começarão a ansiar por estabilidade.
Tenho usado o Linux como meu sistema operacional diário por mais de 10 anos e já passei por meu quinhão de instalações limpas indesejadas. Tantas, na verdade, que prometi que minha última reinstalação seria minha última. Desde então, desenvolvi a seguinte metodologia. E funcionou para manter meu sistema Lubuntu funcionando tão bem quanto no dia em que o instalei sem uma reinstalação desde. Aqui está o que eu faço.
Considerações: O que você precisa fazer backup?
Antes de decidir sobre uma estratégia de backup, você precisa descobrir alguns fundamentos:
- O que você precisa para fazer backup? Você precisa fazer backup de toda a partição / volume ou apenas do diretório do usuário inicial?
- Uma estratégia de backup incremental será suficiente para o seu caso de uso? Ou você precisa fazer backups completos?
- O backup precisa ser criptografado?
- Você precisa que o processo de restauração seja fácil?
Meu sistema de backup é baseado em uma mistura de metodologias.
Eu uso o Timeshift como meu sistema de backup principal, que tira instantâneos incrementais. E mantenho um backup de disco completo no local que exclui diretórios que não contêm dados do usuário. Em relação à raiz do sistema, são:
- / dev
- / proc
- / sys
- / tmp
- /corre
- / mnt
- /meios de comunicação
- / perdido + encontrado
Por fim, mantenho mais dois backups. Um deles é uma partição de sistema completo (real) para backup de imagem usando um Clonezilla live USB. Clonezilla empacota uma série de ferramentas de baixo nível para replicar instalações. E o segundo é um backup de sistema completo externo que eu carrego no AWS S3 cerca de uma vez por ano, sempre que tenho um grande uplink de dados à minha disposição.
Opções de ferramentas de backup
Hoje em dia, a seleção de ferramentas que você pode usar é grande.
Inclui:
- CLIs bem conhecidos, como rsync, que podem ser programados e chamados como cron job manualmente
- Programas como Déjà Dup, Duplicity, Bacula que fornecem GUIs para criar e automatizar planos de backup para servidores de destino locais ou externos, incluindo aqueles operados por provedores de nuvem comuns
- E ferramentas que fazem interface com serviços de nuvem pagos, como CrashPlan, SpiderOak One e CloudBerry. A última categoria inclui serviços que fornecem espaço de armazenamento em nuvem barato, de forma que a oferta é totalmente ponta a ponta.
A regra 3-2-1
Vou dar uma visão geral rápida das ferramentas que estou usando atualmente na minha máquina principal.
Embora eu tenha escrito alguns scripts Bash para obter arquivos de configuração essenciais em meu armazenamento em nuvem principal, que uso para arquivos do dia a dia, este componente (o essencial) do meu plano de backup simplesmente faz backup de toda a máquina, incluindo máquinas virtuais e sistema arquivos que devem ser deixados de fora ou copiados separadamente em abordagens mais diferenciadas.
Sua premissa central é a adesão à regra de backup 3-2-1. Esta abordagem deve manter seus dados - incluindo seu sistema operacional principal - seguros em quase todos os cenários de falha.
A regra afirma que você deve manter:
- 3 cópias de seus dados. Eu sempre digo que esse é um nome um pouco impróprio porque na verdade significa que você deve manter sua fonte de dados primária e dois backups. Eu simplesmente me referiria a isso como "dois backups"
- Essas duas cópias de backup devem ser mantidas em mídias de armazenamento diferentes. Vamos trazer de volta para termos simples de computação doméstica. Você poderia escrever um script rsync simples que (incrementalmente) copia seu SSD principal em outra mídia de armazenamento conectada - digamos um HDD conectado à próxima porta SATA em sua placa-mãe. Mas o que acontece se seu computador pegar fogo ou sua casa for roubada? Você ficaria sem sua fonte de dados primária e sem backup. Em vez disso, você pode fazer backup do seu disco primário em um Network Attached Storage (NAS) ou simplesmente usar o Clonezilla para gravá-lo em um disco rígido externo.
- Uma das duas cópias de backup deve ser armazenada externamente. Os backups externos são vitais porque, no caso de um evento natural catastrófico, como uma inundação, por exemplo, toda a sua casa pode ser destruída. Menos dramaticamente, um grande evento de sobretensão pode fritar todos os eletrônicos conectados em uma casa ou todos aqueles em um circuito específico (é por isso que manter um dos backups no local desconectado a uma fonte de alimentação faz sentido - um exemplo seria um simples HDD / SDD externo ).Tecnicamente, "fora do local" é qualquer lugar que seja um local remoto. Então, você pode usar o Clonezilla para gravar remotamente uma imagem do seu sistema operacional no PC do trabalho, ou uma unidade conectada a ele, pela Internet. Hoje em dia, o armazenamento em nuvem é barato o suficiente para instalar de forma econômica até mesmo imagens de drive completo. Por esse motivo, faço backup completo do meu sistema, uma vez por ano, em um bucket do Amazon S3. Usar a AWS também oferece redundância adicional massiva.
Minha implementação de backup
Minha abordagem para backups é baseada em algumas políticas simples:
- Quero manter as coisas o mais simples possível;
- Eu quero me dar o máximo de redundância que posso razoavelmente alcançar;
- Eu quero, no mínimo, seguir a regra 3-2-1
Então eu faço o seguinte.
- Eu mantenho uma unidade adicional em minha área de trabalho que é usada exclusivamente para hospedar Timehsift pontos de restauração. Como dedico um disco inteiro a ele, tenho bastante espaço para brincar. Eu mantenho um backup diário, mensal e semanal. Até agora, o Timeshift é tudo de que eu preciso para reverter o sistema alguns dias até um ponto antes de algo, como um novo pacote, ter um impacto adverso em outras partes do sistema. Mesmo que você não consiga passar do GRUB, o Timeshift pode ser usado como uma CLI com privilégios de root para reparar o sistema. É uma ferramenta incrivelmente versátil e útil. Esta é a primeira cópia no local.
- Eu mantenho uma unidade adicional na minha área de trabalho que é usada exclusivamente para armazenar imagens Clonezilla da minha unidade principal. Como essas imagens só seriam úteis para mim no caso de o Timeshift falhar, eu só as tiro uma vez a cada três ou seis meses. Esta é uma segunda cópia no local.
- Usando o Clonezilla, crio um disco rígido adicional que mantenho em casa, externo ao PC. Exceto que, para este disco rígido, eu uso um backup de dispositivo-dispositivo em vez de um backup de imagem de dispositivo como na imagem anterior - de modo que seria bom ir instantaneamente se minha unidade principal estivesse bloqueada. Se eu fosse recuperar da unidade de backup Clonezilla interna, por exemplo, eu precisaria primeiro seguir um processo de restauração. Supondo que os outros componentes do sistema estejam funcionando bem após uma falha no disco rígido, teoricamente, eu só precisaria conectar esta unidade à placa-mãe para começar a usá-la. Esta é uma terceira cópia no local.
- Finalmente, uma vez a cada seis meses ou mais, eu carrego uma imagem do meu sistema gerada pelo Clonezilla para o AWS S3. Desnecessário dizer que este é um longo upload de várias partes e precisa ser realizado a partir de uma conexão de internet com um bom link de upload.
Ao todo, meu sistema envolve três cópias no local e uma cópia externa da minha área de trabalho principal.
Pontos Principais
- Todos os usuários Linux devem ter estratégias robustas de backup em vigor
- A regra de backup 3-2-1 é um bom parâmetro para garantir que seus dados estejam seguros em praticamente todas as circunstâncias.
- Eu uso uma combinação de Timeshift e Cloudzilla para criar meus backups, embora haja muitas outras opções, incluindo as pagas, no mercado. Para armazenamento em nuvem, eu uso um bucket AWS S3 simples, embora, novamente, haja serviços integrados que incluem software e ferramentas de armazenamento.