como fazer um ip virtual em um cluster de 2 nós

1

eu tenho uma pergunta específica, a situação dela é minha:

1- 2 vms com drbd - marcapasso - corosync - NFs  - aqui está minha configuração de CRM:

node san1
node san2
primitive drbd_res1 ocf:linbit:drbd \
    params drbd_resource="res1" \
    op monitor interval="20s"
primitive fs_res1 ocf:heartbeat:Filesystem \
    params device="/dev/drbd0" directory="/mnt/res1" fstype="ext3"
primitive nfs-common lsb:nfs-common
primitive nfs-kernel-server lsb:nfs-kernel-server
group services fs_res1 nfs-kernel-server nfs-common
ms ms_drbd_res1 drbd_res1 \
    meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"
location location_on_san1 ms_drbd_res1 100: san1
colocation services_on_drbd inf: services ms_drbd_res1:Master
order services_after_drbd inf: ms_drbd_res1:promote services:start
property $id="cib-bootstrap-options" \
    dc-version="1.0.9-74392a28b7f31d7ddc86689598bd23114f58978b" \
    cluster-infrastructure="openais" \
    expected-quorum-votes="2" \
    no-quorum-policy="ignore" \
    stonith-enabled="false"

meu problema é: eu deveria montar o NFS exportado no cliente NFS, mas eu não sei qual ip eu estou dando, eu estava pensando em fazer um mesmo IP virtual, com 2 maquinas (usando o eth0: x) assim se um servidor ficar inativo, não terei nada na VM do cliente,

isso funcionaria ?, ou eu estou completamente fora da minha mente, se não você pode me dar uma dica,

eu pesquisei por 1 hora na internet, não encontrei nada,

Muito obrigado

    
por chubby.skelton 20.01.2016 / 19:08

1 resposta

1

Sim, isso funcionaria e funcionaria. Estou usando essa técnica desde anos em configurações de produção, não em conjunto com NFS , mas com serviços diferentes. Este é o caminho a percorrer.

  • Dê uma olhada no agente de recursos IPaddr2 .

  • Usando isso, você pode pensar em algo como:

    primitive p_nfs_vip ocf:heartbeat:IPaddr2 \
            params ip="<your_ip>" nic="<your_interface>" cidr_netmask="<your_netmask>" \
            op start interval="0s" timeout="60s" \
            op monitor interval="5s" timeout="20s" \
            op stop interval="0s" timeout="60s"
    

    (troque as diretivas <...> com seus dados, para que eles correspondam à sua configuração. Ajuste as diretivas interval e timeout .)

  • Coloque este primitive no seu services group .

  • Certifique-se de que o IP esteja ativo antes que o NFS server seja iniciado. Use a diretiva order para isso, como você já fez para o services vs. drbd .

  • Vincule seu servidor NFS a esse IP.

  • Use esse IP para conectar os clientes ao servidor NFS .

Por último, mas não menos importante:

  • Configure stonith / fencing . Isso é realmente muito importante! Leia este . Citação de dinheiro:

Fencing is a very important concept in computer clusters for HA (High Availability). Unfortunately, given that fencing does not offer a visible service to users, it is often neglected. [...]

  • Isso é especialmente importante em configurações com armazenamento compartilhado, como o seu. Executando seu cluster sem isso, você está colocando seus dados em risco.
por 21.01.2016 / 00:30