как создать виртуальный IP-адрес в кластере из 2 узлов

у меня конкретный вопрос, моя ситуация с ней:

1-2 vms с drbd - кардиостимулятор - corosync - NFs - вот моя конфигурация 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"

моя проблема: я должен смонтировать экспортированный NFS на NFS-клиенте, но я не знаю, какой ip я даю, я думал о создании того же виртуального IP с двумя машинами (используя eth0: x), поэтому, если сервер все-таки выйдет из строя, я не буду ничего делать в клиентской виртуальной машине,

это сработает? Или я совершенно не в своем уме, если нет, вы можете дать мне совет,

я искал его около часа в Интернете, я ничего не нашел,

Большое спасибо

1
задан 20 January 2016 в 20:08
1 ответ

Да, это сработает и будет работать. Я уже много лет использую эту технику в производственных установках, но не вместе с NFS , а с другими сервисами. Это правильный путь.

  • Взгляните на агент ресурсов IPaddr2 .

  • Используя это, вы можете придумать что-то вроде:

     примитив p_nfs_vip ocf: heartbeat: IPaddr2 \
      params ip = "" nic = "" cidr_netmask = "" \
      op start interval = "0 с" timeout = "60 с" \
      op monitor interval = "5s" timeout = "20s" \
      op stop interval = "0s" timeout = "60s"
     

    (Замените директивы <...> своими данными, чтобы они соответствовали вашей настройке. Настройте директивы interval и timeout .)

  • Поместите этот примитив в свою группу служб .

  • Перед запуском сервера NFS вы должны убедиться, что IP активен. Используйте для этого директиву order , как вы уже делали для своих служб vs. drbd .

  • Свяжите свой NFS сервер с этот IP.

  • Используйте этот IP-адрес для подключения клиентов к серверу NFS .

И последнее, но не менее важное:

  • Настройте stonith / ограждение . Это действительно очень важно! Прочтите это . Цитата о деньгах:

Ограждение - очень важная концепция в компьютерных кластерах для HA (High Availability). К сожалению, учитывая, что ограждение не предлагает видимых услуг для пользователей, им часто пренебрегают. [...]

  • Это особенно важно в настройках с общим хранилищем, таких как ваша. Запуская свой кластер без этого, вы подвергаете свои данные риску.
1
ответ дан 3 December 2019 в 23:52

Теги

Похожие вопросы