Назад | Перейти на главную страницу

Конфигурация Keepalived для бюджетного кластера из 2 узлов веб-сервера на Linode

У меня небольшой бюджет, поэтому я использую всего 2 одинаковых Linodes (Ubuntu 18.x). Я не планирую использовать Nodebalancer, так как мне нужно, чтобы одновременно работал только один сервер.

Мне удалось успешно настроить gluster и galera. Пришло время для поддержки активности.

Это конфигурация, которую я придумал.

  1. Может ли кто-нибудь подтвердить, что это правильно?
  2. Правильно ли использовать публичные IP-адреса двух Linodes под unicast_peer и unicast_server_ip?
  3. Также я не уверен, что определять в virtual_ipaddress

МАСТЕР:

! Configuration File for keepalived
global_defs {
    notification_email {
    }

    router_id LVS_DBCLUSTER
}

vrrp_script chk_nginx {
    script "pidof nginx"
    interval 2
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 101

    track_interface {
        eth0
    }

    track_script {
        chk_nginx
    }

    authentication {
        auth_type PASS
        auth_pass example_password
    }

    unicast_src_ip  <master-server-public-ip, sharing enabled>
    unicast_peer {
    <secondary-server-public-ip>
    }

    virtual_ipaddress {
    <i am not sure what IP comes here>
    }
    notify_master "/bin/echo 'now master' > /tmp/keepalived.state"
    notify_backup "/bin/echo 'now backup' > /tmp/keepalived.state"
    notify_fault "/bin/echo 'now fault' > /tmp/keepalived.state"
}

РАБ:

! Configuration File for keepalived
global_defs {
    notification_email {
    }

    router_id LVS_DBCLUSTER
}

vrrp_script chk_nginx {
    script "pidof nginx"
    interval 2
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 101

    track_interface {
        eth0
    }

    track_script {
        chk_nginx
    }

    authentication {
        auth_type PASS
        auth_pass example_password
    }

    unicast_src_ip  <secondary-server-public-ip, sharing NOT enabled>
    unicast_peer {
    <master-server-public-ip>
    }

    virtual_ipaddress {
    <i am not sure what IP comes here>
    }
    notify_master "/bin/echo 'now master' > /tmp/keepalived.state"
    notify_backup "/bin/echo 'now backup' > /tmp/keepalived.state"
    notify_fault "/bin/echo 'now fault' > /tmp/keepalived.state"
}

Я пробовал и ошибался, и в конце концов оба моих сервера стали недоступны для каждого. Поэтому мне пришлось восстановить серверы. Я бы хотел, чтобы эксперт по keepalived + linode посоветовал.