• Nenhum resultado encontrado

DRBD (Distributed Replicated Block Device)

No documento TCC HA (páginas 58-62)

2.4 NÍVEIS DE DISPONIBILIDADE

2.5.2 DRBD (Distributed Replicated Block Device)

O Site oficial [CITATION DRB15 \l 1046 ] define o DRBD (Distributed Replicated Block) sendo uma arquitetura de armazenamento distribuído para GNU / Linux, o que permite a replicação de dispositivos de bloco entre os servidores, o DRBD é um software livre, sendo um apoio existente composto por um módulo central contendo ferramentas de administração de espaço do usuário. As replicações dos dados são feitas em tempo real enquanto as aplicações modificam os dados no dispositivo.

Segundo Silva, J.W (2011), o DRBD funciona semelhante a um sistema RAID voltado a rede tendo a função de criar um sistema que seja tolerante a qualquer tipo de falha, seja em equipamentos ou software a função do DRBD é fazer replicação de dados entre os nós, primário e secundário fazendo o espelhamento (mirroning) de um dispositivo de blocos através de rede dedicada. O DRBD pode ser entendido com RAID 1 (Redundant Array of Independent Disks) através da rede, onde se recebe os dados a serem gravados escrevendo no disco local e ao término envia para outro disco onde o processo será igual.

O DRBD opera de duas formas: Síncrona e Assíncrona, na operação síncrona, um aplicativo que aciona uma gravação de dados é notificado apenas após a operação da gravação nos servidores, já na assíncrona, a notificação é feita após os dados serem escritos localmente, mas antes da expansão dos dados.

O DRBD consegue criar um dispositivo para armazenamento de dados automaticamente, assim esse será distribuído para os dois servidores, onde irão trabalhar em uma camada superior aos dispositivos de bloco usados para armazenamento (disco local). Ao gravar no dispositivo DRBD, suas alterações serão gravadas no disco local, sendo replicadas para o outro nó tudo isso em tempo real [CITATION DRB15 \l 1046 ].

Os estados dos DRBDs podem ser primário e secundário, onde o primário ficará no nó principal e suas replicações são executadas, tendo acesso ao dispositivo DRDB que fica em (/dev/drdb0). Todo esse acesso ao armazenamento local passa a ser feito através deste dispositivo sendo feita uma operação de escrita, os dados são gravados no disco local e enviando para o host secudário, onde esse

irá escrever os dados no dispositivo de camada inferior que é o armazenamento do dispositivo secundário. As gravações e leitura sempre serão feitas no nó principal [CITATION JOR10 \l 1046 ].

Quando se usa o DRBD recomenda-se que o sistema de arquivo que será utilizado tenha suporte a journaling que é um recurso usado pelos sistemas de arquivos que consiste em uma área dedicada apenas para registros, onde se faz o armazenamento de todas as ações que serão executadas nesses arquivos, como gravação e/ou alteração de dados permitindo restaurar o sistema de arquivos, caso aconteça algum erro inesperado. Entretanto caso não tenha esse recurso, quando o nó primario estiver indisponível e houver um failover, o FSCK (File System Check) que fica responsável pela checagem da integridade dos dados em um disco caso tenha algum erro, o FSCK irá fazer a correção desses dados quando acionado, caso o nó que teve a falha retorne ele irá voltar agora como secundário tendo que sicronizar seus dados com o primário tudo isto será feito em background não tendo interrupções de seus serviços [CITATION JOR10 \l 1046 ].

Deve-se tomar um cuidado após configurar o dispositivo DRBD, que é tentar monta-lo diretamente a nenhum dos discos aos quais se faz referência os acessos aos dados são feitos através do nó DRBD caso não seja feito pode haver risco de corrompimento dos dados tornando todo conteúdo do armazenamento inacessível [CITATION DRB15 \l 1046 ].

O DRBD utiliza o protocolo TCP/IP (Transmission Control Protocol/ Internet Protocol) realizando as transferências de dados entre os servidores, isso é vantajoso já que permite a instalação do DRBD em servidores em locais geograficamente afastados.

Faz-se necessário a utilização do DRBD já que o Heartbeat não tem a capacidacidade de armazenar e sincronizar dados dos arquivos o que em caso de falha de um processo em andamento os dados desse processo poderiam se corromper ocasionando perda total dos dados. A Figura 2.21 ilustra seu mecânismo, onde o cliente faz o envio de uma informação para o node primário e o DRBD do mesmo envia uma cópia desse dado para o node secundário tudo isso em tempo real [CITATION EspaçoReservado1 \l 1046 ].

Fonte: Adaptada (DIGG,2011)

O DRBD possui ferramentas em conjunto que servem para ajudar o administrador a configurar os seus recusos entre elas:

 Drbdadm: Essa ferramenta permite que o espelhamento seja iniciado e parado podendo também fornecer estátisticas sobre oespelhamento;

 Drbsetup: Permite aos administradores configurar o módulo DRBD que foi carregado no kernel. Essa ferramenta é considerada de baixo nível dentro de conjunto de programas DRBD. Os parâmentros de configuração são feitos por linha de comando.

 /etc/drbd.conf: Arquivo onde ficam gravadas todas as configurações da ferramenta [CITATION DRB15 \l 1046 ].

Conforme DRBD (2015), o mesmo tem a capacidade de suportar três modos de replicação, permitindo assim três diferentes tipos de sincronismo ultilizando os três protocolos denominados A, B e C conforme segue:

 Protocolo A: O servidor primário realiza uma operação de entrada/saida no disco local, e notifica o servidor secundário sobre a mudança. Este tipo de protocolo apresenta o menor nível de confiabilidade entre os três, pois ele não procura saber se o sincronismo foi ou não bem sucedido, deste modo a escrita é considerada completa já que o dado é escrito no disco e enviado pela rede;

 Protocolo B: Esse protocolo tem um nível de confiabiidade melhor se comparado ao protocolo A seu funcionamento ocorre quando é finalizada uma execução de entrada/saida pelo servidor primário. O mesmo envia uma notificação ao servidor secundário, avisando sobre a mudança no disco, deste modo o processo so será finalizado quando o servidor secundário recebe a confirmação da finalização desse processo. Entretando o servidor primário não aguarda até que a gravação seja realizada no disco local do servidor secundário;  Protocolo C: Esse protocolo tem um nível bem elevado quando se

trata de confiabilidade, por que suas operações são realizadas de modo sincronizado. O servidor primário só dar por completo uma operação de entrada/saída no disco local, após receber uma notificação dos demais servidores afirmando que também terminará a gravação dos dados em seus discos locais [CITATION EspaçoReservado1 \l 1046 ].

No documento TCC HA (páginas 58-62)

Documentos relacionados