Como configurar o DRBD para replicar o armazenamento em dois servidores do CentOS 7

Como configurar o DRBD para replicar o armazenamento em dois servidores do CentOS 7

O Drbd (apoia Dispositivo de bloco replicado distribuído) é uma solução de armazenamento distribuída, flexível e versátil para Linux. Ele reflete o conteúdo de dispositivos de bloco, como discos rígidos, partições, volumes lógicos etc. entre servidores. Envolve uma cópia dos dados em dois dispositivos de armazenamento, de modo que, se um falhar, os dados do outro podem ser usados.

Você pode pensar nisso um pouco como uma configuração RAID 1 de rede com os discos espelhados nos servidores. No entanto, opera de uma maneira muito diferente do RAID e até do RAID de rede.

Originalmente, Drbd foi usado principalmente em clusters de computador de alta disponibilidade (HA), no entanto, começando na versão 9, pode ser usado para implantar soluções de armazenamento em nuvem.

Neste artigo, mostraremos como instalar o DRBD no CentOS e demonstrar brevemente como usá -lo para replicar o armazenamento (partição) em dois servidores. Este é o artigo perfeito para começar usando o DRBD no Linux.

Ambiente de teste

Para os fins deste artigo, estamos usando dois nós Cluster para esta configuração.

  • Node1: 192.168.56.101 - Tecmint.Tecmint.LAN
  • Node2: 192.168.56.102 - Server1.Tecmint.LAN

Etapa 1: Instalando pacotes DRBD

Drbd é implementado como um módulo de kernel Linux. Ele constitui com precisão um driver para um dispositivo de bloco virtual, por isso está estabelecido perto da parte inferior da pilha de E/S de um sistema.

Drbd pode ser instalado a partir do Elrepo ou EPEL Repositórios. Vamos começar importando a chave de assinatura do pacote Elrepo e ative o repositório, como mostrado nos dois nós.

# rpm --import https: // www.Elrepo.org/rpm-gpg-key-elrepo.org # rpm -uvh http: // www.Elrepo.org/elrepo-lançamento-7.0-3.EL7.Elrepo.Noarch.RPM 

Em seguida, podemos instalar o módulo DRBD Kernel e os utilitários em ambos os nós executando:

# yum install -y kmod-drbd84 drbd84-utils 

Se você tem Selinux Ativado, você precisa modificar as políticas para isentar os processos DRBD do Selinux Control.

# semanage permissivo -um drbd_t 

Além disso, se o seu sistema tiver um firewall ativado (firewalld), você precisa adicionar o Drbd porta 7789 no firewall para permitir a sincronização de dados entre os dois nós.

Execute esses comandos no primeiro nó:

# firewall-cmd --permanent --add-rico-rule = 'regra família = "ipv4" endereço de origem = "192.168.56.102 "porta porta =" 7789 "protocolo =" tcp "aceitar ' # firewall-cmd--reload 

Em seguida, execute esses comandos no segundo nó:

# firewall-cmd --permanent --add-rico-rule = 'regra família = "ipv4" endereço de origem = "192.168.56.101 "porta porta =" 7789 "protocolo =" tcp "aceitar ' # firewall-cmd--reload 

Etapa 2: Preparando o armazenamento de nível inferior

Agora que temos Drbd Instalado nos dois nós do cluster, devemos preparar uma área de armazenamento de tamanho aproximado em ambos os nós. Esta pode ser uma partição do disco rígido (ou um disco rígido físico completo), um dispositivo RAID de software, um volume lógico LVM ou qualquer outro tipo de dispositivo de bloco encontrado no seu sistema.

Para os fins deste artigo, criaremos um dispositivo bloqueador dummy de tamanho 2 GB usando o comando dd.

 # dd if =/dev/zero de =/dev/sdb1 bs = 2024k contagem = 1024 

Assumiremos que esta é uma partição não utilizada (/dev/sdb1) em um segundo dispositivo de bloco (/dev/sdb) anexado a ambos os nós.

Etapa 3: Configurando DRBD

O principal arquivo de configuração do DRBD está localizado em /etc/drbd.conf e arquivos de configuração adicionais podem ser encontrados no /etc/drbd.d diretório.

Para replicar o armazenamento, precisamos adicionar as configurações necessárias no /etc/drbd.d/global_common.conf arquivo que contém as seções globais e comuns da configuração do DRBD e podemos definir recursos em .res arquivos.

Vamos fazer um backup do arquivo original nos dois nós e depois abrir um novo arquivo para edição (use um editor de texto do seu gosto).

# mv /etc /drbd.d/global_common.conf /etc /drbd.d/global_common.conf.orig # vim /etc /drbd.d/global_common.conf 

Adicione as seguintes linhas nos dois arquivos:

global contagem de uso sim;  comum net protocolo c;  

Salve o arquivo e depois feche o editor.

Vamos sombrear brevemente mais luz na linha Protocolo c. O DRBD suporta três modos de replicação distintos (assim, três graus de sincronicidade de replicação) que são:

  • Protocolo a: Protocolo de replicação assíncrona; É mais frequentemente usado em cenários de replicação de longa distância.
  • Protocolo b: Protocolo de replicação semi-síncrona, também conhecido como protocolo síncrono de memória.
  • Protocolo c: comumente usado para nós em redes distanciadas curtas; É de longe o protocolo de replicação mais comumente usado em configurações de drbd.

Importante: A escolha do protocolo de replicação influencia dois fatores de sua implantação: proteção e latência. E Taxa de transferência, Por outro lado, é amplamente independente do protocolo de replicação selecionado.

Etapa 4: Adicionando um recurso

A recurso é o termo coletivo que se refere a todos os aspectos de um determinado conjunto de dados replicado. Vamos definir nosso recurso em um arquivo chamado /etc/drbd.d/teste.res.

Adicione o seguinte conteúdo ao arquivo, nos dois nós (lembre -se de substituir as variáveis ​​no conteúdo com os valores reais do seu ambiente).

Tome nota do nomes de host, Precisamos especificar o nome do host de rede que pode ser obtido executando o comando uname -n.

teste de recurso no Tecmint.Tecmint.LAN dispositivo /dev /drbd0; disco /dev /sdb1; meta-disco interno; Endereço 192.168.56.101: 7789;  no servidor1.Tecmint.LAN dispositivo /dev /drbd0; disco /dev /sdb1; meta-disco interno; Endereço 192.168.56.102: 7789;  

onde:

  • no nome do host: a seção em declara que hospeda as declarações de configuração fechadas se aplicam a.
  • teste: é o nome do novo recurso.
  • dispositivo /dev /drbd0: Especifica o novo dispositivo de bloco virtual gerenciado pelo DRBD.
  • disco /dev /sdb1: é a partição do dispositivo em bloco, que é o dispositivo de apoio para o dispositivo DRBD.
  • meta-disco: Define onde o DRBD armazena seus metadados. Usar significa que o DRBD armazena seus meta-dados no mesmo dispositivo físico de nível inferior que os dados de produção reais.
  • endereço: Especifica o endereço IP e o número da porta do respectivo nó.

Observe também que, se as opções tiverem valores iguais nos dois hosts, você poderá especificá -los diretamente na seção de recursos.

Por exemplo, a configuração acima pode ser reestruturada para:

teste de recurso dispositivo /dev /drbd0; disco /dev /sdb1; meta-disco interno; em Tecmint.Tecmint.LAN Endereço 192.168.56.101: 7789;  no servidor1.Tecmint.LAN Endereço 192.168.56.102: 7789;  

Etapa 5: Inicializar e ativar o recurso

Para interagir com Drbd, Usaremos as seguintes ferramentas de administração que se comunicam com o módulo do kernel para configurar e administrar recursos DRBD:

  • drbdadm: uma ferramenta de administração de alto nível do DRBD.
  • drbdSetup: Uma ferramenta de administração de nível inferior para anexar dispositivos DRBD com seus dispositivos de bloco de apoio, configurar pares de dispositivos DRBD para espelhar seus dispositivos de bloco de apoio e inspecionar a configuração da execução de dispositivos DRBD.
  • Drbdmeta: é a ferramenta de gerenciamento de dados de meta.

Depois de adicionar todas as configurações iniciais de recursos, devemos trazer à tona o recurso nos dois nós.

# drbdadm Create-md teste 
Inicialize o armazenamento de meta dados

Em seguida, devemos ativar o recurso, que anexará o recurso ao seu dispositivo de apoio e define parâmetros de replicação e conecta o recurso ao seu par:

# drbdadm up test 

Agora, se você executar o comando lsblk, você notará que o dispositivo DRBD/volume drbd0 está associado ao dispositivo de apoio /dev/sdb1:

# lsblk 
Listar dispositivos de bloco

Para desativar o recurso, execute:

# drbdadm para baixo teste 

Para verificar o status do recurso, execute o seguinte comando (observe que o Inconsistente/inconsistente O estado de disco é esperado neste momento):

# teste de status drbdadm ou # drbdSetup Teste de status --verbose - -estatística # para um status mais detalhado 
Verifique o status do recurso nos nós

Etapa 6: Defina o recurso primário/fonte da sincronização inicial do dispositivo

Nesta fase, Drbd agora está pronto para operação. Agora precisamos dizer qual nó deve ser usado como fonte da sincronização inicial do dispositivo.

Execute o seguinte comando em apenas um nó para iniciar a sincronização completa inicial:

# drbdadm primário -teste de força # drbdadm teste de status 
Defina o nó primário para o dispositivo inicial

Uma vez concluído a sincronização, o status de ambos os discos deve ser Atualizado.

Etapa 7: Testando a configuração do DRBD

Por fim, precisamos testar se o dispositivo DRBD funcionará bem para armazenamento de dados replicado. Lembre -se de que usamos um volume de disco vazio, portanto, devemos criar um sistema de arquivos no dispositivo e montá -lo para testá -lo se pudermos usá -lo para armazenamento de dados replicado.

Podemos criar um sistema de arquivos no dispositivo com o seguinte comando, no nó onde iniciamos a sincronização completa inicial (que tem o recurso com a função primária):

# mkfs -t ext4 /dev /drbd0 
Faça o sistema de arquivos no volume drbd

Em seguida, monte -o como mostrado (você pode dar ao ponto de montagem um nome apropriado):

# mkdir -p/mnt/drdb_pri/ # MONTO/DEV/DRBD0/MNT/DRDB_PRI/ 

Agora copie ou crie alguns arquivos no ponto de montagem acima e faça uma longa listagem usando o comando ls:

# CD/MNT/DRDB_PRI/ # LS -L 
Listar o conteúdo do volume primário DRBD

Próximo, desmontar O dispositivo (verifique se a montagem não está aberta, altere o diretório depois de desmontá -lo para evitar erros) e altere o papel do nó de Primário para secundário:

# Umount/mnt/drdb_pri/ # cd # teste secundário drbdadm 

No outro nó (que tem o recurso com uma função secundária), faça -o primário, depois monte o dispositivo e execute uma longa listagem do ponto de montagem. Se a configuração estiver funcionando bem, todos os arquivos armazenados no volume devem estar lá:

# drbdadm teste primário # mkdir -p/mnt/drdb_sec/ # mount/dev/drbd0/mnt/drdb_sec/ # cd/mnt/drdb_sec/ # ls -l 
Teste a configuração drbd trabalhando no nó secundário

Para obter mais informações, consulte as páginas do homem das ferramentas de administração do espaço do usuário:

# homem drbdadm # man drbdSetup # man drbdmeta 

Referência: O guia do usuário do DRBD.

Resumo

Drbd é extremamente flexível e versátil, o que a torna uma solução de replicação de armazenamento adequada para adicionar HA a praticamente qualquer aplicativo. Neste artigo, mostramos como instalar Drbd em CENTOS 7 e demonstrou brevemente como usá -lo para replicar o armazenamento. Sinta -se à vontade para compartilhar seus pensamentos conosco através do formulário de feedback abaixo.