Bem-vindos de volta a mais uma história das trincheiras do Sucesso do Cliente! À medida que entramos nos meses de verão no Hemisfério Norte, nossos pensamentos se voltam para os snapshots. Os snapshots são um dos elementos essenciais de qualquer sistema de armazenamento, proporcionando ao administrador, basicamente, um ponto de recuperação pontual e somente de leitura para seu sistema de arquivos. É importante ressaltar que os snapshots nunca devem ser confundidos com backups. Em mais de 20 anos de experiência nessa área, o número de clientes que encontrei que dependem exclusivamente de snapshots como método de backup é assustadoramente alto. Os snapshots devem complementar sua política de backup, mas nunca substituí-la.
Se você é novo no mundo do armazenamento, talvez esteja se perguntando: “o que são instantâneos?” Os instantâneos podem ser descritos como um retrato do sistema de arquivos ativo em um determinado momento. Quando um instantâneo é criado, o sistema de arquivos ativo é congelado, e esse momento passa a ser o seu ponto de recuperação. As gravações continuarão a ocorrer no sistema e, se um arquivo criado antes da captura do snapshot for aberto, ele simplesmente será referenciado a partir do próprio snapshot. Todas as atividades continuam normalmente.
O que torna a situação interessante é quando eu edito ou apago um arquivo que foi bloqueado por um snapshot. Por exemplo, tenho o seguinte texto escrito em um arquivo –
Olá, mundo!
Então, eu faço um snapshot. Incrível, não há utilização real de espaço, exceto pelo bloco de referência que indica: “ei, tem um snapshot aqui”.
Agora vou excluir esse arquivo do meu array de armazenamento. Como ele está bloqueado pelo snapshot, o espaço ocupado por ele passa a ser refletido no snapshot, e não mais no sistema de arquivos ativo. Para um arquivo simples como o texto escrito acima, esse uso de espaço é insignificante. No entanto, se você excluir, digamos, um diretório de 10 TB, de repente esse uso de 10 TB será refletido na capacidade do snapshot, resultando em uma variação líquida igual a zero, já que tudo o que você fez foi basicamente mover blocos de um bucket de contabilidade para outro. Um estudo mais aprofundado (e com tom mais técnico) pode ser encontrado no portal de documentação da Qumulo em Como funcionam os instantâneos.
O Qumulo também permite a criação de políticas de snapshot. Essas políticas oferecem ao administrador de armazenamento a capacidade de criar automaticamente pontos de recuperação e, em seguida, permitem que os usuários finais recuperem os dados por conta própria. As políticas também oferecem a granularidade com a qual os administradores estão acostumados — com pontos de recuperação de hora em hora, diariamente, semanalmente e mensalmente.
Uma dúvida que costuma confundir os clientes é quanto espaço um snapshot realmente ocupa. Se você tiver apenas um único snapshot, isso não é problema, mas as coisas ficam complicadas à medida que você adiciona mais snapshots e começa a inserir e excluir dados. Isso é conhecido, nos círculos que frequento, como operações cotidianas normais. O cerne da questão está na própria natureza dos snapshots. Como são instantes no tempo somente para leitura, eles são imutáveis — quaisquer alterações terão que ser refletidas em outro lugar.
Veja o exemplo acima:
Olá, mundo!
Tiramos uma foto e nossa mensagem super cordial fica gravada ali. Ótimo! Não gostaríamos nada de perder isso. Uma hora depois, mudamos para:
E aí, mundo!
Isso deixa o ambiente um pouco mais caseiro e dá um ar rústico. Tiramos mais uma foto.
Neste momento, tenho o snapshot 1, que o refere como “Hello world!”, e o snapshot 2, que o refere como “Howdy world!”. Para o sistema de arquivos, há uma diferença de cerca de quatro letras que ele precisa rastrear de uma forma ou de outra.
O tempo passa, e eu decido que isso é muito “amigável”, então simplesmente apago o arquivo por completo. O arquivo agora só existe na forma de snapshot, então o espaço a que ele se refere passa do sistema de arquivos ativo para os snapshots 1 e 2. Se eu apagar o snapshot 2, não estarei realmente liberando tantos dados assim, já que o snapshot 1 ainda existirá. Da mesma forma, se eu apagar o snapshot 1, o snapshot 2 simplesmente aumentaria de tamanho para refletir como o arquivo deveria estar no momento em que o snapshot 2 foi criado.
Devido à reconciliação de dados, pode ser difícil saber quanto espaço será recuperado caso um snapshot seja excluído. A melhor orientação prática que posso oferecer é sempre começar pelas instantâneas mais antigas do sistema, caso você queira liberar espaço. Dessa forma, você garante que o espaço será liberado, se possível, em vez de simplesmente ser transferido para outro compartimento de dados.
É isso aí. Da próxima vez, vamos dar uma olhada em alguns novos recursos que a Qumulo lançou para tirar os empilhadores do seu data center. Até lá, amigos!