User Tools

Site Tools


создание_отказоустойчивых_linux_решений_2020

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
создание_отказоустойчивых_linux_решений_2020 [2020/01/22 14:40]
val [4.2 Отказоустойчивый nat]
создание_отказоустойчивых_linux_решений_2020 [2020/01/24 11:46] (current)
val [7.2 Интеграция контейнеров с менеджером кластера]
Line 362: Line 362:
  
 <​code>​ <​code>​
 +# cat /​etc/​network/​interfaces
 +</​code><​code>​
 +...
 +iface eth0 inet static
 +
 +        pre-up iptables-restore < /​etc/​iptables.rules
 +        post-up ip rule add prio 100 from 192.168.X.0/​24 to 192.168.X.0/​24 table main
 +...
 +</​code><​code>​
 nodeN# cat /​usr/​share/​ucarp/​vip-up nodeN# cat /​usr/​share/​ucarp/​vip-up
 </​code><​code>​ </​code><​code>​
Line 380: Line 389:
 case $1 in case $1 in
         ISP1)         ISP1)
-                ip rule del from 192.168.X/​24 to 192.168.X/​24 table main 
                 while ip rule del from any table 101;do true;done                 while ip rule del from any table 101;do true;done
                 while ip rule del from any table 102;do true;done                 while ip rule del from any table 102;do true;done
  
-                ip rule add from 192.168.X.0/​24 table 101 +                ip rule add prio 200 from 192.168.X.0/​24 table 101
-                ip rule add from 192.168.X/​24 to 192.168.X/​24 table main+
  
                 /sbin/ip route flush cache                 /sbin/ip route flush cache
Line 391: Line 398:
         ;;         ;;
         ISP2)         ISP2)
-                ip rule del from 192.168.X/​24 to 192.168.X/​24 table main 
                 while ip rule del from any table 101;do true;done                 while ip rule del from any table 101;do true;done
                 while ip rule del from any table 102;do true;done                 while ip rule del from any table 102;do true;done
  
-                ip rule add from 192.168.X.0/​24 table 102 +                ip rule add prio 200 from 192.168.X.0/​24 table 102
-                ip rule add from 192.168.X/​24 to 192.168.X/​24 table main+
  
                 /sbin/ip route flush cache                 /sbin/ip route flush cache
Line 402: Line 407:
         ;;         ;;
         ISP1ISP2)         ISP1ISP2)
-                ip rule del from 192.168.X/​24 to 192.168.X/​24 table main 
                 while ip rule del from any table 101;do true;done                 while ip rule del from any table 101;do true;done
                 while ip rule del from any table 102;do true;done                 while ip rule del from any table 102;do true;done
  
-                ip rule add from 192.168.X.0/​25 table 101 +                ip rule add prio 200 from 192.168.X.0/​25 table 101 
-                ip rule add from 192.168.X.128/​25 table 102 +                ip rule add prio 200 from 192.168.X.128/​25 table 102
-                ip rule add from 192.168.X/​24 to 192.168.X/​24 table main+
  
                 /sbin/ip route flush cache                 /sbin/ip route flush cache
Line 431: Line 434:
 export PATH=/​bin:/​sbin:/​usr/​bin:/​usr/​sbin:​$PATH export PATH=/​bin:/​sbin:/​usr/​bin:/​usr/​sbin:​$PATH
  
-ifconfig ​| grep -q 192.168.X.254 || exit 0+ip addr | grep -q 192.168.X.254 || exit 0
  
-route delete default+ip route delete default
  
 ISP=''​ ISP=''​
  
-route add default ​gw 172.16.1.254+ip route add default ​via 172.16.1.254
  
 ping -c3 ya.ru && ISP=ISP1 ping -c3 ya.ru && ISP=ISP1
  
-route delete default+ip route delete default
  
-route add default ​gw 172.16.2.254+ip route add default ​via 172.16.2.254
  
 ping -c3 ya.ru && ISP=${ISP}ISP2 ping -c3 ya.ru && ISP=${ISP}ISP2
  
-route delete default+ip route delete default
  
 echo $ISP echo $ISP
Line 601: Line 604:
 ==== 6.2 Автоматизация смены ролей узлов кластера ​ ==== ==== 6.2 Автоматизация смены ролей узлов кластера ​ ====
  
 +  * Пакет Pacemaker [[Пакет Pacemaker#​Удаление ресурсов]]
   * [[Решение DRBD#DRBD и Pacemaker]]   * [[Решение DRBD#DRBD и Pacemaker]]
  
Line 608: Line 612:
   * Устанавливаем на оба узла пакет [[Сервис iSCSI#iSCSI target]]   * Устанавливаем на оба узла пакет [[Сервис iSCSI#iSCSI target]]
   * Отключаем авто запуск сервиса   * Отключаем авто запуск сервиса
-  * Останавливаем группу ресурсов кластера и удаляем ee [[Пакет Pacemaker#​Управление ресурсами]] 
  
 <​code>​ <​code>​
Line 647: Line 650:
 crm(live)configure#​ primitive pr_smbd systemd:​smbd crm(live)configure#​ primitive pr_smbd systemd:​smbd
  
-crm(live)configure#​ edit gr_ip_fs 
  
 +crm(live)configure#​ edit gr_ip_fs
 +или
 +crm(live)configure#​ group gr_ip_fs pr_ip pr_fs_r0 pr_smbd
 +</​code><​code>​
 crm(live)configure#​ commit crm(live)configure#​ commit
 </​code>​ </​code>​
Line 685: Line 691:
   * Отключение всех сервисов (особенно,​ ip, привязанного к eth), кроме зеркалируемого раздела [[Пакет Pacemaker#​Управление ресурсами]]   * Отключение всех сервисов (особенно,​ ip, привязанного к eth), кроме зеркалируемого раздела [[Пакет Pacemaker#​Управление ресурсами]]
 <​code>​ <​code>​
-node1# crm resource stop pr_ip pr_istgt ​pr_smbd+node1# crm resource stop pr_ip pr_smbd ​pr_istgt
  
-node1# crm configure delete pr_ip pr_istgt ​pr_smbd gr_ip_fs+node1# crm configure delete pr_ip pr_smbd gr_ip_fs ​pr_istgt
 </​code>​ </​code>​
  
Line 698: Line 704:
 auto br0 auto br0
 iface br0 inet static iface br0 inet static
 +
 +        pre-up iptables-restore < /​etc/​iptables.rules
 +        post-up ip rule add prio 100 from 192.168.X.0/​24 to 192.168.X.0/​24 table main
 +
         address 192.168.X.N         address 192.168.X.N
         netmask 255.255.255.0         netmask 255.255.255.0
Line 729: Line 739:
 <​code>​ <​code>​
 nodeN# ps ax | grep carp nodeN# ps ax | grep carp
-nodeN# ​ifconfig ​| grep carp+nodeN# ​ip a | grep carp
  
 nodeN# ps ax | grep dh nodeN# ps ax | grep dh
  
-nodeN# ​ps ax | grep he+nodeN# ​crm status 
 nodeN# mount | grep ext nodeN# mount | grep ext
 </​code>​ </​code>​
 +
 +  * [[Решение DRBD#​Решение ситуации Split-Brain при использовании Pacemaker]]
  
 === 7.1.2 Подготовка виртуальных машин === === 7.1.2 Подготовка виртуальных машин ===
Line 804: Line 817:
 </​code><​code>​ </​code><​code>​
 ... ...
 +#debian9
 lxc.network.type = veth lxc.network.type = veth
 lxc.network.link = br0 lxc.network.link = br0
Line 810: Line 824:
 lxc.network.ipv4.gateway = 192.168.X.254 lxc.network.ipv4.gateway = 192.168.X.254
  
 +#debian10
 lxc.net.0.type = veth lxc.net.0.type = veth
 lxc.net.0.link = br0 lxc.net.0.link = br0
Line 828: Line 843:
  
 root@node1.corpX.un:​~#​ lxc-attach -n server -- ps ax root@node1.corpX.un:​~#​ lxc-attach -n server -- ps ax
 +
 +root@node1.corpX.un:​~#​ lxc-attach -n server -- bash
  
 root@node1.corpX.un:​~#​ ssh server root@node1.corpX.un:​~#​ ssh server
Line 850: Line 867:
  
 <​code>​ <​code>​
 +node1# crm configure show | grep order  #  у некоторых слушателей "​исчезает"​ из конфигурации )
 +
 +node1# crm configure
 +</​code><​code>​
 primitive pr_lxc_server systemd:​lxc@server primitive pr_lxc_server systemd:​lxc@server
 group gr_fs_lxc pr_fs_r0 pr_lxc_server group gr_fs_lxc pr_fs_r0 pr_lxc_server
создание_отказоустойчивых_linux_решений_2020.1579693259.txt.gz · Last modified: 2020/01/22 14:40 by val