DRBD: Analisando o Arquivo drbd.conf – Parte 08

 

Recomendações

Evite editar o arquivo  /etc/drbd.conf.  Ao invés disso crie arquivos terminados em “.res” dentro de /etc/drbd.d/. Com isso  não superlotaremos com texto o arquivo /etc/drbd.conf.

Todo arquivo criado dentro da pasta  /etc/drbd.d/ que tenha o nome terminado em “.res” terá o seu conteúdo incluído automaticamente dentro de  /etc/drbd.conf.

/etc/drbd.conf é o arquivo de configuração do drbd. Dentro desse arquivo temos o seguinte texto:

elder@server01:~$ cat /etc/drbd.conf 
# You can find an example in  /usr/share/doc/drbd.../drbd.conf.example

include "drbd.d/global_common.conf";
include "drbd.d/*.res";

 

Vemos que ele possui apenas duas linhas:

  • include “drbd.d/global_common.conf”: Essa linha diz: “inclua dentro de drbd.conf todo o conteúdo do arquivo  drbd.d/global_common.conf”.
  • include “drbd.d/*.res”:  Essa linha diz:  “inclua  o conteúdo de qualquer arquivo dentro de drbd.d que termine em .res”

Logicamente que esse caminho “drbd.d/global_common.conf” e  “drbd.d/*.res” são caminhos relativos. Os caminhos absolutos seriam:

“/etc/drbd.d/global_common.conf” e  “/etc/drbd.d/*.res”.

No artigo anterior criamos nosso resource /etc/drbd.d/meuRes.res

Como meuRes.res termina com “.res” e está dentro de drbd.d ele será incluído dentro de drbd.conf

O arquivo drbd.d/global_common.conf é um arquivo de configurações globais e comuns, isto é, qualquer configuração colocada dentro desse arquivo afetará todos os outros arquivos   .res

 

Resumindo Linhas Duplicadas em Nosso Resource meuRes

 

No post DRBD: Configurando Resource – Parte 03 criamos, nos dois servidores(server01 e server02), nosso resource em /etc/drbd.d/meuRes.res  e com o seguinte conteúdo:

resource meuRes {
  on server01 {
   device    /dev/drbd1;
   disk      /dev/sdb1;
   address   10.1.1.31:7789;
   meta-disk internal;
  }
  on server02 {
   device    /dev/drbd1;
   disk      /dev/sdb1;
   address   10.1.1.32:7789;
   meta-disk internal;
  }
}

Apenas como dica, todas as linhas iguais(repetidas) dentro dos hosts(“on server01” e “on server02”)  podem ser colocadas diretamente no topo. Veja abaixo:

resource meuRes {
  device /dev/drbd1;
  disk /dev/sdb1;
  meta-disk internal;

  on server01 {
   address   10.1.1.31:7789;
  }
  on server02 {
    address   10.1.1.32:7789;
  }
}

 

Seções em drbd.conf

 

Dentro de seções podemos inserir opções que alterarão o modo de funcionamento do drbd.

Abaixo listamos alguns exemplos de seções:

  • disk: dentro dessa seção colocamos opções para ajuste de discos(HDs, SSDS
  • net: O manual do drbd apenas aponta essa seção como sendo para ajustes das propriedades do DRBD.
  • startup: O manual do drbd apenas aponta essa seção como sendo para ajustes das propriedades do DRBD.
  • options: opções aqui dentro dessa seção ajustam o comportamento do resource
    • handlers: Aqui podemos definir “executáveis” que são iniciados pelo DRBD em resposta a alguns eventos.

 

Podemos inserir as Seções dentro do arquivo /etc/drbd.d/global_common.conf  ou dentro do resource. Dentro do resource apenas o resource será afetado. Já dentro de global_common.conf todos os resources serão afetados.

Exemplo da seção disk dentro do resource meuRes:

resource meuRes {
  device /dev/drbd1;
  disk /dev/sdb1;
  meta-disk internal;

  disk {
    resync-rate 20M;
  }

  on server01 {
   address   10.1.1.31:7789;
  }
  on server02 {
    address   10.1.1.32:7789;
  }
}

 

As Opções que Vão Dentro de Cada Seção

 

Dentro da seção disk:

on-io-error, size, fencing, disk-barrier, disk-flushes, disk-drain, md-flushes,
max-bio-bvecs, resync-rate, resync-after, al-extents, al-updates, c-plan-ahead,
c-fill-target, c-delay-target, c-max-rate, c-min-rate, disk-timeout,
discard-zeroes-if-aligned, rs-discard-granularity, read-balancing.

 

Dentro da Seção net:

protocol, sndbuf-size, rcvbuf-size, timeout, connect-int, ping-int, ping-timeout, max-buffers,
max-epoch-size, ko-count, allow-two-primaries, cram-hmac-alg, shared-secret, after-sb-0pri,
after-sb-1pri, after-sb-2pri, data-integrity-alg, no-tcp-cork, on-congestion, congestion-fill, congestion-extents, verify-alg, use-rle, csums-alg, socket-check-timeout.

Dentro da Seção startup:

wfc-timeout, degr-wfc-timeout, outdated-wfc-timeout, wait-after-sb, stacked-timeouts and
become-primary-on.

Dentro da Seção options:

cpu-mask, and on-no-data-accessible

Dentro da Seção handlers:

pri-on-incon-degr, pri-lost-after-sb, pri-lost, fence-peer (formerly oudate-peer), local-io-error, initial-split-brain, split-brain, before-resync-target, after-resync-target.

 

Conclusão

Encerro aqui este post. Não postarei explicação sobre algumas das opções das seções para que o artigo não fique muito longo.

 

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *