Depois de concluir a configuração inicial do recurso, conforme descrito no artigo anterior, você pode iniciar seu resource.
Abaixo, resumo os comandos que executarei nesse post para ter o espelhamento do DRBD funcionando
Meu arquivo /etc/drbd.d/m.res está com o seguinte conteúdo nos dois nós:
resource r0 { disk /dev/sdb1; meta-disk internal; device minor 1; on "oracle86" { address 10.1.1.3:7000; } on "oracle86B" { address 10.1.1.4:7001; } }
e executarei os comandos abaixo nos dois nós para criar o metadado e para iniciar o resource r0:
drbdadm create-md r0
drbdadm up r0
esse outro comando executarei somente no nó(servidor) que queria que seja o primário
drbdadm primary --force r0
Em seguida executaremos esse outro comando para vermos se realmente deu tudo certo:
drbdadm status r0
Em um dos nós, execute drbdadm new-current-uuid –clear-bitmap /dev/drbd1
Substitua /dev/drbd1 pelo nome do seu dispositivo
Crie o Sistema de Arquivos. Esse comando é para ser executado apenas no nó primário.
[root@oracle86 ~]# mkfs.ext4 /dev/drbd1
E pronto, temos o DRBD funcionando. 🙂
Alguns Detalhes a Serem Observados
Veja o conteúdo do arquivo /etc/drbd.d/m.res abaixo:
resource r0 { disk /dev/sdb1; meta-disk internal; device minor 1; on "oracle86" { address 10.1.1.3:7000; } on "oracle86B" { address 10.1.1.4:7001; } }
É bom saber se os seu HDs a serem espelhados tiverem rótulos(nomes) diferentes a opção disk terá que sair do topo e ser colocado dentro de on “…” {}. Vejamos um exemplo, suponhamos que o disco no oracle86 se chama /dev/sdb1 e no oracle86B esteja como /dev/sdc1, então nosso m.res seria assim:
resource r0 { meta-disk internal; device minor 1; on "oracle86" { address 10.1.1.3:7000; disk /dev/sdb1; } on "oracle86B" { address 10.1.1.4:7001; disk /dev/sdc1; } }
Outra coisa é que “device minor 1;” poderia ser substituído por “device /dev/drbd1;” ou “device /dev/drbd2;”….
Artigo e Comandos Explicados Com Mais Detalhes
E é isso! Não quero criar confusão com muita informação, mas para quem está à procura de saber mais sigo detalhando logo abaixo.
Cada uma das etapas a seguir deve ser executadas em ambos os nós.
Observe que, com nossos trechos de configuração de exemplo (resource r0 { … }), <resource> seria r0.
#1 Vamos criar o metadado do disositivo.
Esta etapa deve ser concluída apenas na criação inicial do dispositivo. Ou seja, apenas uma vez. Ele inicializa os metadados do DRBD. Execute “drbdadm create-md r0“
[root@oracle86 ~]# drbdadm create-md r0 initializing activity log initializing bitmap (64 KB) to all zero Writing meta data... New drbd meta data block successfully created.
Observe que o número de slots de bitmap alocados nos metadados depende do número de hosts para este resoufce; por padrão, os hosts na configuração do resoufce são contados. Se todos os hosts forem especificados antes de criar os metadados, isso “simplesmente funcionará”; adicionar slots de bitmap para outros nós é possível posteriormente, mas requer algum trabalho manual.
#2 habilite o resource.
Esta etapa associa o resource ao seu dispositivo de apoio(ou dispositivos, no caso de um resource de vários volumes), define os parâmetros de replicação e conecta o recurso ao seu par: drbdadm up r0
[root@oracle86 ~]# drbdadm up r0
#3 Veja o status agora
[root@oracle86 ~]# drbdadm status r0 role:Secondary disk:Inconsistent peer connection:Connecting
Até agora, o DRBD alocou com sucesso os resources de disco e rede e está pronto para operação. O que ele ainda não sabe é qual de seus nós deve ser usado como fonte da sincronização inicial do dispositivo.
A sincronização inicial do dispositivo DRBD
Para iniciar executamos em um dos nós: drbdadm primary --force r0
Mas antes, vamos ver alguns detalhes.
Há mais duas etapas necessárias para que o DRBD se torne totalmente operacional:
- Escolha um dos nós como inicial: Veja qual dos nós deverá ser o primeiro a se tornar primário. Se você estiver lidando com discos vazios recém-inicializados, essa escolha é totalmente arbitrária. No entanto, se um de seus nós já tiver dados valiosos que você precisa preservar, é de importância crucial que você selecione esse nó como sua fonte de sincronização. Se você fizer a sincronização inicial do dispositivo na direção errada, perderá esses dados. Precaução no exercício.
- Iniciar a sincronização completa inicial: Esta etapa deve ser executada em apenas um nó, apenas na configuração inicial do recurso e apenas no nó que você selecionou como fonte de sincronização. Para executar esta etapa, emita este comando:
#1 Em meu caso, os dois discos estão vazios, então tanto faz escolher um ou outro. Irei escolher o nó oracle86
[root@oracle86 ~]# drbdadm primary --force r0
#2 veja o status novamente
Depois de emitir o comando acima, a sincronização completa inicial terá início.
[root@oracle86 ~]# drbdadm status r0 r0 role:Primary disk:UpToDate peer connection:Connecting
Agora, seu dispositivo DRBD está totalmente operacional, mesmo antes da conclusão da sincronização inicial (embora com desempenho ligeiramente reduzido). Se você começou com discos vazios, você já pode criar um sistema de arquivos no dispositivo, usá-lo como um dispositivo de bloco bruto, montá-lo e executar qualquer outra operação que faria com um dispositivo de bloco acessível
Criando o Sistema de Arquivos
Agora que temos nosso volume /dev/drbd1 precisaremos dar a ele um sistema de arquivos; irei colocar o ext4.
#1 No servidor em que o drbd está como primário, execute o comando abaixo
[root@oracle86 ~]# mkfs.ext4 /dev/drbd1
Isso precisa ser feito apenas no nó primário. Não precisa ser executado no secundário mesmo quando ele se tornar primário no futuro em caso de necessidade.
Ignorando a ressincronização inicial
Se, e somente se, você estiver iniciando recursos DRBD do zero(sem dados valiosos neles), você pode usar a seguinte sequência de comandos para pular a ressincronização inicial. Não faça isso se tiver dados que deseja manter nos dispositivos!
#1 Em todos os nos, execute
# drbdadm create-md r0 # drbdadm up r0
Substitua r0 pelo nome do seu resource
O comando drbdadm status agora deve mostrar todos os discos como inconsistentes.
#2 Em seguida, em um nó, execute o seguinte comando:
# drbdadm new-current-uuid --clear-bitmap <resource>/<volume>
ou
# drbdsetup new-current-uuid --clear-bitmap <minor>
Exemplo: drbdadm new-current-uuid –clear-bitmap /dev/drbd1
A execução do drbdadm status agora mostra os discos como UpToDate (mesmo que os dispositivos de backup possam estar fora de sincronia). Agora você pode criar um sistema de arquivos no disco e começar a usá-lo.
Comments on “DRBD: Iniciando o Resource pela Primeira Vez – Parte 007”