Data Deduplication

O crescente aumento do volume de dados das organizações é um assunto pertinente às equipes de infraestrutura de TI. Devido a esse aumento, torna-se necessário oferecer uma capacidade de storage com um volume cada vez maior.

Para o usuário, é imprescindível dispor de um bom volume de espaço disponível para armazenar os arquivos utilizados no dia-a-dia de suas atividades. Porém, grande parte do armazenamento consumido está relacionado a arquivos duplicados e outros dados redundantes armazenados pelos usuários em um ambiente de rede.

Pensando em solucionar esse problema, este artigo apresentará, na teoria e na prática, o Data Deduplication, sendo útil para os administradores de TI que pretendem implantar tal tecnologia em seu ambiente, tendo como principal objetivo a economia de espaço utilizado e a consequente redução dos custos de armazenamento.

Um dos grandes desafios da administração de TI nos dias atuais é atender as crescentes demandas de armazenamento de dados dentro de uma organização. Hoje os usuários necessitam armazenar milhares de arquivos texto, planilhas, imagens, vídeos, músicas, e-mails, entre outros tipos de dados.

Há anos essa situação também já existia, em uma proporção menor, porém, com o avanço tecnológico, os arquivos e processos ficaram maiores. Assim, para que a TI possa atender as novas demandas de negócio, é necessário investimento em várias frentes, e no armazenamento é uma delas.

Contudo, não bastasse o grande desafio de fornecer armazenamento para os usuários, lidando com altos volumes de dados e alto investimento em hardware, é necessário entender também como os usuários armazenam estes dados nos servidores.

Não é incomum verificar diversos tipos de arquivos duplicados em um servidor de arquivos. Por exemplo, um grupo de usuários do departamento de Contabilidade recebe por e-mail a ata de reunião realizada por eles.

Supondo que este grupo tenha 30 pessoas, este mesmo arquivo poderá ser armazenado até 30 vezes em locais diferentes em um compartilhamento de rede, já que, além de pastas departamentais, os usuários possuem também pastas pessoais.

Neste exemplo, uma ata de reunião pode significar pouco espaço. Porém, dependendo do tipo de arquivo (apresentações de slides, vídeos, músicas, etc.) esse volume desperdiçado pode ser muito maior. Assim, seria de grande ajuda se estes dados duplicados pudessem ser eliminados, sem atrapalhar as atividades dos usuários.

Pensando nisso, neste artigo será abordado o conceito de Data Deduplication no Windows Server 2012, ferramenta poderosa que auxilia os administradores de TI a eliminar os dados duplicados no seu ambiente.

O que é o Data Deduplication?

Data Deduplication é um recurso disponível no Windows Server 2012 e Windows Server 2012 R2 utilizado para maximizar o espaço de armazenamento de dados.

O conceito de eliminação de dados duplicados não é novo. Atualmente existem diversas ferramentas (em formato de appliance de hardware ou software) que realizam esta função, porém, por apresentarem um alto custo e uma alta curva de aprendizado, não são adotadas pelas empresas.

Até que tivemos o lançamento do Windows Server 2012, que trouxe como uma de suas principais novidades uma nova função, chamada de Data Deduplication. O Data Deduplication é uma tecnologia baseada em software que permite maximizar o uso da capacidade de armazenamento de dados da organização, e o seu o princípio básico é a não necessidade de armazenamento do mesmo arquivo várias vezes.

Como funciona a eliminação dos dados duplicados?

Quando configurada a ferramenta Data Deduplication, o primeiro passo efetuado é uma varredura no volume em busca dos dados duplicados.

Durante este processo, o Data Deduplication simplesmente identificará os dados que estão em duplicidade. Após identificados, a ferramenta irá manter apenas uma cópia do mesmo, e as demais serão substituídas por uma referência à cópia principal.

Todos sabem que os arquivos são formados por metadados, que contêm informações sobre o nome do arquivo, atributos, entre outras. Além disso, também sabemos que um arquivo é composto por diversos pedaços. Na Figura 1 temos o exemplo do arquivo Teste01 no formato NTFS. Note que este arquivo possui diversos “pedaços”, descritos como A, B, C, D e E.

Formato do arquivo
    Teste01
Figura 1. Formato do arquivo Teste01.

Já a Figura 2 mostra o arquivo Teste02, que possui também diversos pedaços, assim como o arquivo Teste01, descritos como A, B, C, W e K.

Durante o processo de análise, o Data Deduplication irá analisar os arquivos do volume em que está configurado e irá encontrar os dados que estão em duplicidade.

Formato do arquivo
    Teste02
Figura 2. Formato do arquivo Teste02.

Nesse momento, o Data Deduplication identificará que os arquivos Teste01 e Teste02 possuem dados em comum (duplicados). Então, serão gerados dados de análise na estrutura dos dois arquivos, como indicado na Figura 3. Estes dados de análise armazenarão informações sobre a identificação dos dados do arquivo e também dos links de apontamento para os blocos da cópia principal, eliminando assim o dado duplicado.

Identificação dos dados
    duplicados e link para substituição da informação
Figura 3. Identificação dos dados duplicados e link para substituição da informação.

Quais resultados esperar com Data Deduplication?

Para que se possa realizar uma avaliação dos resultados a serem alcançados com a utilização do Data Deduplication, devemos primeiro avaliar os dados que estão dentro do volume que será afetado.

A eficiência da eliminação dos dados duplicados será diretamente proporcional ao tipo de arquivo que o volume possui. As taxas de economia de espaço podem variar de 30% a 90%, segundo dados da própria Microsoft.

A Tabela 1 apresenta a relação de economia de volume de acordo com o tipo de conteúdo dos arquivos.

Cenário do Volume de dados

Conteúdo

Economia de espaço

(variação)

Documentos diversos

Texto, imagem, áudio e vídeo

30-50%

Arquivos compartilhados pelo sistemas

Binários de software, arquivos de sistema, arquivos de símbolo

70-80%

Volumes de virtualização

Arquivos de disco rígido virtual

80-95%

Tabela 1 Redução variável de dados em um volume com Data Deduplication.

Como a eliminação dos dados também exige tempo de leitura, processamento e gravação de dados, é necessário avaliar os recursos do servidor onde este recurso será aplicado. Um servidor que sempre estiver utilizando sua capacidade máxima terá falta de recursos para realizar a eliminação dos dados.

Podemos exemplificar essa situação com um servidor de arquivos que utiliza todos os seus recursos durante o período comercial (08h00 as 18h00). Em casos como este, onde o consumo de memória, de processamento e de disco são elevados, o Data Deduplication poderá ser configurado para ser executado em um período no qual a demanda é praticamente nula (fora do horário comercial), e desta forma, irá aumentar a eficiência do Data Deduplication.

Segundo a Microsoft, os tipos de servidores candidatos à eliminação de dados podem ser classificados a partir da análise da economia de espaço adquirida e dos recursos utilizados (memória, processamento, etc.).

De acordo com exaustivos testes e laboratórios por ela realizados, os candidatos são divididos em três categorias:

  • Ótimos candidatos para eliminação de duplicação:
  • o Servidores de redirecionamento de pastas;
  • o Repositório de virtualização ou biblioteca de provisionamento;
  • o Compartilhamentos de implantações de software;
  • o Volumes de backup do SQL Server e do Exchange Server.
  • Candidatos que devem ser avaliados com base no conteúdo dos dados a serem eliminados:
  • o Servidores de linha de negócios (servidores que hospedam aplicações críticas para o negócio);
  • o Provedores de conteúdo estático;
  • o Servidores Web.
  • Candidatos ruins para a eliminação de duplicação:
  • o Hosts de Hyper-V;
  • o WSUS (Windows Server Updates Services) – Servidor de atualizações do Windows;
  • o Servidores que executam SQL Server ou Exchange Server;

o Arquivos com tamanho próximo a 1 TB ou que sejam maiores que isso.

Além das informações citadas anteriormente, outros fatores devem ser levados em consideração antes da implementação do Data Deduplication. São eles:

  • O volume a ser configurado não pode ser o de inicialização de sistema. O Data Deduplication não suporta configuração em volumes que contenham a instalação do sistema operacional;
  • A partição pode ser MBR (Master Boot Record) ou GPT (GUID Partition Table), e devem estar formatadas em NTFS;
  • Os arquivos com atributos estendidos, arquivos criptografados e arquivos menores que 32KB não são processados pelo Data Deduplication;
  • Arquivos que são abertos ou alterados constantemente não terão economia (como máquinas virtuais, bancos de dados, etc.), já que, como os dados estão em uso, não será possível realizar a eliminação dos dados duplicados;
  • Não suporta dispositivos removíveis.

Backup e Restore

Um recurso que é bastante impactado (de forma positiva) pelo uso de Data Deduplication é o backup dos dados da organização, visto que, com o aumento crescente da quantidade de dados sendo armazenados, consequentemente necessita-se de mais espaço para realização do backup.

Dito isso, atualmente, quais são os fatores que influenciam a realização de uma política de backup em uma organização?

  • Investimento: Compra de hardware para backup. Se a empresa pretende gravar os dados em fitas, é necessário um hardware específico para que a gravação seja realizada;
  • Volume: Quanto maior o volume de dados, maior será a quantidade de fitas necessárias para realização do backup;
  • Janela de Backup: A junção do volume de dados ao hardware utilizado irá influenciar diretamente na janela de backup, já que quanto maior o volume de dados, maior será o tempo necessário para gravação.
    Para diminuir essa janela, é necessário hardware com velocidade maior para acelerar o processo. Consequentemente, a janela de backup também é importante, porque ela deve estar alinhada às necessidades da política de backup da empresa.
    Por exemplo, caso a empresa tenha necessidade de garantir uma retenção de dados que foram salvos nas fitas por uma semana, esta janela não pode ter um período maior do que sete dias para ocorrer, caso contrário, não atenderá à política adotada;
  • Restore: Quanto tempo seria necessário para restauração dos dados em caso de um desastre? Se por algum motivo acontecer um problema e a restauração dos dados se torna necessária, o tempo do restore será proporcional ao volume de dados persistido no backup, ou seja, quanto maior o volume, mais tempo será gasto para executar a restauração.

Um volume com os dados duplicados eliminados irá proporcionar a realização de um backup mais rápido, consumindo um menor número de fitas e otimizando o tempo de restore.

A função Windows Backup, nativa no Windows Server, possui suporte para realização de backups de volumes que estejam com o recurso de Data Deduplication ativado. E além da Microsoft, existem outros fornecedores que disponibilizam ferramentas de backup com suporte a esta função (HP, CA, etc). Deste modo, antes de adquirir uma destas soluções, é aconselhável consultar a documentação de cada produto.

Com isso, podemos afirmar que além do benefício da economia de espaço em disco gerado pela eliminação dos dados duplicados, o ganho com a performance do backup também é muito válido e deve ser analisado no momento da implantação desse recurso.

Data Deduplication no Windows Server 2012 R2

Neste tópico será demonstrado como implementar a função de Data Deduplication no Windows Server 2012 R2. Para isto, existem duas opções: através do Server Manager e através do Powershell.

O Server Manager é uma ferramenta que tem como função auxiliar os administradores de TI, centralizando diversas opções para instalação, configuração e gerenciamento de funções e recursos de servidores. Quando um usuário faz logon em um servidor, por padrão, a janela do Server Manager é iniciada, conforme demonstra a Figura 4.

Tela Inicial do Server
    Manager
Figura 4. Tela Inicial do Server Manager.

Para realizar a instalação do Data Deduplication através do Server Manager, na tela inicial, clique em Add roles and features. Feito isso, será carregada a tela inicial para instalação e configuração de Roles (Funções) e Features (Recursos).

A primeira tela mostra uma visão geral do assistente e lista algumas informações antes de prosseguir com a instalação. Esta lista destaca algumas boas práticas ao administrar servidores, a saber: ter uma senha de administrador forte; que as configurações de rede, como os endereços IP estáticos, já estejam definidas; e ter as atualizações do Windows Update instaladas (ver Figura 5). Para confirmar estas informações, basta clicar em Next. Neste ponto vale ressaltar que esses itens não são pré-requisitos, portanto, mesmo não sendo atendidos, a instalação poderá continuar sem problemas.

 Tela inicial do
    assistente para adicionar Roles e Features
Figura 5. Tela inicial do assistente para adicionar Roles e Features.

A segunda janela do assistente irá definir o tipo de instalação, fornecendo duas opções: Instalação baseada em Role ou Feature ou Instalação para Serviços de Desktop Remoto. Neste caso, utilizaremos a primeira opção, como indica a Figura 6. Feito isso, clique mais uma vez em Next.

Seleção do tipo de
    instalação
Figura 6. Seleção do tipo de instalação.

No terceiro passo deve-se selecionar o servidor ou o disco virtual onde desejamos implantar o Data Deduplication. Neste caso, marque a primeira opção e depois selecione o servidor SRVDC01, conforme indica a Figura 7. Em seguida, clique em Next.

Seleção do servidor de
    destino
Figura 7. Seleção do servidor de destino.

No quarto passo, devemos selecionar quais Roles serão instaladas. O assistente irá listar as Roles disponíveis para instalação no servidor (como DNS Server, Hyper-V, DHCP Server, entre outros). Para tanto, expanda a opção File and Storage Services, depois File and iSCSI Services e selecione Data Deduplication, conforme a Figura 8. Logo após, clique novamente em Next.

Seleção da Role Data
    Deduplication
Figura 8. Seleção da Role Data Deduplication.

No quinto passo, deve-se selecionar as Features que serão instaladas. Neste laboratório, não iremos instalar nenhuma Feature. Portanto, podemos avançar neste passo. O sexto passo, que é o final, irá mostrar um resumo do que será instalado.

Nesta janela também há uma opção que, ao ser marcada, reiniciará o servidor destino assim que a instalação for concluída, caso seja necessário. Observe a Figura 9.

Resumo da instalação
Figura 9 . Resumo da instalação.

A segunda forma para instalação do Data Deduplication é através do PowerShell. Para tanto, abra o Windows Powershell e execute os comandos apresentados a seguir, que também podem ser analisados na Figura 10:

Import-Module ServerManager

Add-WindowsFeature –name FS-Data-Deduplication

Import–Module Deduplication

Instalação do Data
    Deduplication através do PowerShell
Figura 10. Instalação do Data Deduplication através do PowerShell.

Após completar a instalação do Data Deduplication, podemos verificar no Server Manager uma nova guia de navegação, denominada File and Storage Services (veja a Figura 11). Será esta guia que será utilizada para realizar as configurações deste recurso.

Server Manager com a guia
    File and Storage Services
Figura 11. Server Manager com a guia File and Storage Services.

Agora que a função está instalada, o próximo passo é habilitá-la e configurá-la nos volumes de dados desejados. Para esta demonstração, foi criada uma partição de 30 GB, denominada Teste_Dedup, conforme a Figura 12, que pode ser analisada através do Computer Management, localizado junto às ferramentas administrativas do Windows.

Volume de dados criado
    para realizar a demostração do Data Deduplication
Figura 12. Volume de dados criado para realizar a demostração do Data Deduplication.

Para iniciar a configuração do Data Deduplication, no Server Manager, acesse a guia File and Storage Services e depois a guia Disk, para exibir os discos e os volumes existentes no servidor (veja a Figura 13).

Discos e volumes
    disponíveis no Server Manager
Figura 13. Discos e volumes disponíveis no Server Manager.

No espaço Volumes, visualizado na parte inferior da janela, são exibidos os volumes disponíveis. Conforme comentado anteriormente, foi criado um volume para realização desta demonstração, representado pela unidade E.

Assim, clique com o botão direito do mouse sobre este volume e selecione a opção Configure Data Deduplication, de acordo com a Figura 14.

Configurando o Data
    Deduplication no volume E
Figura 14. Configurando o Data Deduplication no volume E.

Na janela Deduplication Settings, é necessário selecionar algumas opções para configurar o Data Deduplication, a saber:

· Em Data deduplication, podemos definir o tipo do volume a ser utilizado, que pode ser General Purpose file server (Servidor de Arquivos de Uso Geral) ou Virtual Desktop Infrastructure (VDI) Server (Servidor para infraesturtura virtual VDI);

· Em Deduplicate files older than (in days), podemos definir a partir de quantos dias o arquivo será eliminado. Caso informe 3, os dados que forem gravados só serão analisados após o terceiro dia;

· Em Custom file extensions to exclude, podemos definir extensões de arquivos a serem excluídas do processo de eliminação de dados duplicados;

· Por fim, em To exclude selected folders from data deduplication, podemos definir pastas que devem ser excluídas da verificação para eliminação de dados duplicados.

Na Figura 15 apresentamos as configurações que realizamos para o nosso exemplo.

Propriedades de
    configuração do Data Deduplication
Figura 15. Propriedades de configuração do Data Deduplication.

Nesta janela também é possível clicar no botão Set Deduplication Schedule..., que permite configurar a opção Enable background optimization (Otimização de Desempenho em Segundo Plano), onde o Data Deduplication irá utilizar o sistema de forma a minimizar o impacto no desempenho do servidor, e também a opção Enable throughput optimization (Habilitar a otimização do rendimento), que possibilita agendar as datas e horários específicos para rodar o Data Deduplication, podendo assim consumir o máximo de recursos disponíveis no servidor (veja a Figura 16).

Opções de agendamento
    para eliminação de dados duplicados
Figura 16. Opções de agendamento para eliminação de dados duplicados.

Verificando o desempenho do Data Deduplication

Para demonstrar a execução deste recurso, foram gravados neste disco de teste aproximadamente 25 GB de dados variados, contendo documentos de texto, imagens, arquivos de áudio, vídeos, entre outros, como pode ser verificado na Figura 17.

Volume de dados gravado
    no volume
Figura 17. Volume de dados gravado no volume.

Neste ambiente de teste, após 48 horas, já é possível verificar e analisar os resultados obtidos com a utilização do Data Deduplication. O tempo necessário para realização da eliminação de dados duplicados varia de acordo com o tipo de dado armazenado, o volume total de dados, entre outros fatores, como a utilização da otimização em segundo plano e a otimização de desempenho.

Analisando as propriedades da pasta Documentos, conforme a Figura 18, pode-se verificar que o volume possui um total de dados de 23,4 GB, informado no campo Size, e após a realização da eliminação dos dados duplicados, passa a apresentar um volume gravado no disco (Size on Disk) de 187 MB. Como pode-se notar, neste exemplo a economia de armazenamento de disco gerada pelo Data Deduplication foi de 23 GB.

Volume de dados após a
    eliminação dos dados duplicados
Figura 18. Volume de dados após a eliminação dos dados duplicados.

Também é possível verificar nas propriedades do disco a economia gerada pelo Data Deduplication, como demonstra a Figura 19.

Propriedades do volume de
    dados
Figura 19. Propriedades do volume de dados.

Outra forma de validar os ganhos com Data Deduplication é através do PowerShell. Com dois comandos podemos analisar o status da eliminação dos dados e diversas outras informações.

O primeiro comando mostra um resumo do volume que teve os dados duplicados eliminados (ver Figura 20). Para verificar esses dados, abra o PowerShell e digite o seguinte comando: Get-DedupVolume.

Resultado do comando
    Get-DedupVolume
Figura 20. Resultado do comando Get-DedupVolume.

O segundo comando também mostra um resumo, porém mais detalhado (ver Figura 21). Para verificar esses dados, com o PowerShell aberto, execute o seguinte comando:

Get-DadepVolume |fl.

Resultado do comando
    Get-DedupVolume
Figura 21. Resultado do comando Get-DedupVolume |fl.

Em ambos os casos é possível constatar que, no laboratório realizado, o Data Deduplication economizou 94% do espaço no volume (informação indicada no campo SavingsRate).

A utilização da ferramenta Data Deduplication pode trazer muitos resultados positivos para as organizações. Dentre eles, podemos destacar a redução do espaço utilizado para armazenamento de dados, maior agilidade na realização e restauração de backups, e redução do custo de investimento em TI.

Assim, com a realização de um planejamento para implantação deste recurso, a administração de TI terá uma poderosa ferramenta que proporcionará tanto benefícios de economia de espaço em disco, como benefícios financeiros, já que, com a redução de consumo, não será necessário o investimento recorrente em hardware para armazenamento de dados.

Links Úteis

  • O que é .NET Core?:
    Neste curso aprenderemos o que é o .NET Core, uma plataforma para desenvolvimento de aplicações desenvolvida e mantida pela Microsoft.
  • 6 Dicas para melhorar seu código:
    Para um bom programador não basta apenas funcionar, o código precisa atender a alguns requisitos mínimos de qualidade. Confira neste DevCast 6 dicas para tornar o seu código mais legível e organizado.
  • Como tratar exceções na linguagem Java:
    Aprenda o que é o mecanismo de exceções do Java, conheça as suas categorias e saiba como desenvolver programas que consigam tratar suas próprias exceções.

Saiba mais sobre Administração de TI ;)

  • Guias Engenharia de Software:
    Encontre aqui os Guias de estudo sobre os principais temas da Engenharia de Software. De metodologias ágeis a testes, de requisitos a gestão de projetos!
  • Gestão de Projeto:
    Neste guia você encontrará o conteúdo que precisa para saber como gerenciar projetos de software. Confira abaixo a sequência de posts que te guiarão do básico ao avançado em Gestão de Projetos.
  • Testes de Software:
    Neste guia de consulta você encontrará diversos artigos e vídeos que podem ser usados ao longo dos seus estudos sobre Testes de Software, abordando diversas técnica e ferramentas.

Referências:

Visão Geral de Eliminação de Duplicação de Dados

Microsoft Press blog - Windows Server 2012’s Data Deduplication feature

Step-by-Step: Reduce Storage Costs with Data Deduplication in Windows Server 2012