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
Last revision Both sides next revision
создание_отказоустойчивых_linux_решений_2020 [2020/01/22 14:38]
val [Создание отказоустойчивых Linux решений]
создание_отказоустойчивых_linux_решений_2020 [2020/01/24 11:19]
val [7.2 Интеграция контейнеров с менеджером кластера]
Line 272: Line 272:
 ip addr add 172.16.1.X/​24 dev eth1 ip addr add 172.16.1.X/​24 dev eth1
 send_arp 172.16.1.X `cat /​sys/​class/​net/​eth1/​address` 172.16.1.254 ff:​ff:​ff:​ff:​ff:​ff eth1 send_arp 172.16.1.X `cat /​sys/​class/​net/​eth1/​address` 172.16.1.254 ff:​ff:​ff:​ff:​ff:​ff eth1
-route delete default +ip route delete default 
-route add default ​gw 172.16.1.254+ip route add default ​via 172.16.1.254
 </​code><​code>​ </​code><​code>​
 nodeN# cat /​usr/​share/​ucarp/​vip-down nodeN# cat /​usr/​share/​ucarp/​vip-down
Line 282: Line 282:
  
 ip addr del 172.16.1.X/​24 dev eth1 ip addr del 172.16.1.X/​24 dev eth1
-route add default ​gw 192.168.X.254+ip route add default ​via 192.168.X.254
 </​code><​code>​ </​code><​code>​
 masternode# killall -USR2 ucarp masternode# killall -USR2 ucarp
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.txt · Last modified: 2020/01/24 11:46 by val