User Tools

Site Tools


asterisk_в_отказоустойчивой_конфигурации

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
asterisk_в_отказоустойчивой_конфигурации [2019/04/12 12:55]
val [Базовая настройка узлов]
asterisk_в_отказоустойчивой_конфигурации [2019/04/16 16:15]
val [Asterisk в отказоустойчивой конфигурации]
Line 2: Line 2:
  
   * Вебинар не про Asterisk))) а реклама курса [[https://​www.specialist.ru/​course/​un5|Linux. Уровень 6. Создание отказоустойчивых кластерных решений.]]   * Вебинар не про Asterisk))) а реклама курса [[https://​www.specialist.ru/​course/​un5|Linux. Уровень 6. Создание отказоустойчивых кластерных решений.]]
- +  * [[https://​youtu.be/​U-LOU6dkBqs|Запись вебинара]] 
-===== Анализ сети в классе/​дома =====+===== Шаг 1. Анализ сети в классе/​дома =====
  
 <​code>​ <​code>​
Line 11: Line 11:
 </​code>​ </​code>​
  
-===== Базовая настройка узлов =====+===== Шаг 2. Базовая настройка узлов =====
  
-  * Импортируем два узла из [[http://​val.bmstu.ru/​unix/​img/​My%20Documents/​debian_9.5_64_03.ova|образа]]+  * Импортируем два узла из [[http://​val.bmstu.ru/​unix/​img/​My%20Documents/​debian_9.5_64_03.ova|образа]] в [[https://​www.virtualbox.org/​|VirtualBox]]
   * Называем node1 и node2   * Называем node1 и node2
   * Подключаем к сети класса/​дома   * Подключаем к сети класса/​дома
Line 26: Line 26:
 127.0.0.1 ​      ​localhost 127.0.0.1 ​      ​localhost
  
-10.5.12.114     ​node1 +10.5.7.114     ​node1 
-10.5.12.214     node2+10.5.7.214     node2
 </​code><​code>​ </​code><​code>​
 node1:~# cat /​etc/​resolv.conf node1:~# cat /​etc/​resolv.conf
 </​code><​code>​ </​code><​code>​
-nameserver 10.5.12.254+nameserver 10.5.7.254
 </​code><​code>​ </​code><​code>​
 node1:~# cat /​etc/​network/​interfaces node1:~# cat /​etc/​network/​interfaces
Line 40: Line 40:
 auto eth0 auto eth0
 iface eth0 inet static iface eth0 inet static
-        address 10.5.12.114+        address 10.5.7.114
         netmask 255.255.255.0         netmask 255.255.255.0
-        gateway 10.5.12.254+        gateway 10.5.7.254
 </​code><​code>​ </​code><​code>​
 node1:~# init 6 node1:~# init 6
Line 49: Line 49:
  
 node1:~# ssh-keygen node1:~# ssh-keygen
 +</​code>​
 +  * Настраиваем ip адес на node2 
 +<​code>​
 node1:~# ssh-copy-id node2 node1:~# ssh-copy-id node2
 </​code><​code>​ </​code><​code>​
Line 70: Line 73:
 auto eth0 auto eth0
 iface eth0 inet static iface eth0 inet static
-        address 10.5.12.214+        address 10.5.7.214
         netmask 255.255.255.0         netmask 255.255.255.0
-        gateway 10.5.12.254+        gateway 10.5.7.254
 </​code><​code>​ </​code><​code>​
 node2:~# init 6 node2:~# init 6
Line 78: Line 81:
 node2:~# apt update node2:~# apt update
 </​code>​ </​code>​
-===== Сервис DRBD =====+===== Шаг 3. Сервис DRBD =====
  
 <​code>​ <​code>​
Line 108: Line 111:
                 device /dev/drbd0;                 device /dev/drbd0;
                 disk /dev/sdb;                 disk /dev/sdb;
-                address 10.5.12.114:7788;+                address 10.5.7.114:7788;
                 meta-disk internal;                 meta-disk internal;
         }         }
Line 114: Line 117:
                 device /dev/drbd0;                 device /dev/drbd0;
                 disk /dev/sdb;                 disk /dev/sdb;
-                address 10.5.12.214:7788;+                address 10.5.7.214:7788;
                 meta-disk internal;                 meta-disk internal;
         }         }
Line 133: Line 136:
 </​code>​ </​code>​
  
-===== Технология LXC (часть 1) =====+===== Шаг 4. Технология LXC (часть 1) =====
  
   * Рассказать про технологию в процессе создания образа   * Рассказать про технологию в процессе создания образа
Line 145: Line 148:
 node1:~# mkdir -p /​disk2/​var/​lib/​lxc/​ node1:~# mkdir -p /​disk2/​var/​lib/​lxc/​
  
-node1:~# lxc-create -t debian -n server+node1:​~# ​time lxc-create -t debian -n server
 real    6m19.549s real    6m19.549s
 real    14m13.770s real    14m13.770s
Line 151: Line 154:
 </​code>​ </​code>​
  
-  * Пока загружается образ, можно выполнить тему "​Настройка bridge" ​и сделать перерыв+  * Пока загружается образ, можно выполнить темы 12, 13, 5 и сделать перерыв
  
-===== Настройка bridge =====+===== Шаг 5. Настройка bridge =====
 <​code>​ <​code>​
 node1:~# cat /​etc/​network/​interfaces node1:~# cat /​etc/​network/​interfaces
Line 162: Line 165:
 auto br0 auto br0
 iface br0 inet static iface br0 inet static
-        address 10.5.12.114+        address 10.5.7.114
         netmask 255.255.255.0         netmask 255.255.255.0
-        gateway 10.5.12.254+        gateway 10.5.7.254
         bridge_ports eth0         bridge_ports eth0
 </​code><​code>​ </​code><​code>​
Line 174: Line 177:
 auto br0 auto br0
 iface br0 inet static iface br0 inet static
-        address 10.5.12.214+        address 10.5.7.214
         netmask 255.255.255.0         netmask 255.255.255.0
-        gateway 10.5.12.254+        gateway 10.5.7.254
         bridge_ports eth0         bridge_ports eth0
 </​code>​ </​code>​
  
-===== Технология LXC (часть 2) =====+===== Шаг 6. Технология LXC (часть 2) =====
  
 <​code>​ <​code>​
Line 189: Line 192:
 lxc.network.link = br0 lxc.network.link = br0
 lxc.network.flags = up lxc.network.flags = up
-lxc.network.ipv4 = 10.5.12.123/24 +lxc.network.ipv4 = 10.5.7.123/24 
-lxc.network.ipv4.gateway = 10.5.12.254+lxc.network.ipv4.gateway = 10.5.7.254
 </​code>​ </​code>​
  
-===== Настройка дочерней системы =====+===== Шаг 7. Настройка дочерней системы =====
  
 <​code>​ <​code>​
Line 214: Line 217:
 127.0.0.1 ​      ​localhost 127.0.0.1 ​      ​localhost
  
-10.5.12.123     ​server+10.5.7.123     ​server
 </​code><​code>​ </​code><​code>​
 server:/# cat /​etc/​resolv.conf server:/# cat /​etc/​resolv.conf
 </​code><​code>​ </​code><​code>​
-nameserver 10.5.12.254+nameserver 10.5.7.254
 </​code>​ </​code>​
  
-===== Запуск DRBD и LCX вручную =====+===== Шаг 8. Запуск DRBD и LCX вручную =====
 <​code>​ <​code>​
 nodeN:~# init 0 nodeN:~# init 0
 </​code>​ </​code>​
-  * В настройке сети обоих узлов разрешить "​неразборчивый режим"​+  * В настройке сети обоих узлов разрешить "​неразборчивый режим" для "​всех"
 <​code>​ <​code>​
 !!! Одновременно !!! !!! Одновременно !!!
Line 248: Line 251:
 </​code>​ </​code>​
  
-  * Пока устанавливается Asterisk, можно ​выполнить темы Corosync и Pacemaker ​+  * Пока устанавливается Asterisk, можно ​сделать перерыв
  
-===== Пакет Corosync ===== +===== Шаг 9. Минимальная настройка Asterisk =====
-<​code>​ +
-nodeN:~# apt install corosync +
- +
-nodeN:~# cat /​etc/​corosync/​corosync.conf +
-</​code><​code>​ +
-... +
-bindnetaddr:​ 10.5.12.0 +
-... +
-mcastaddr: 239.255.1.14 +
-... +
-</​code><​code>​ +
-nodeN:~# systemctl restart corosync  +
- +
-nodeN:~# corosync-cmapctl | grep members +
-</​code>​ +
- +
-===== Пакет Pacemaker (базовая конфигурация) ===== +
-<​code>​ +
-nodeN:~# apt install pacemaker +
- +
-nodeN:~# crm_mon -1 +
- +
-node1:~# apt install crmsh +
- +
-node1:~# crm status +
- +
-node1:~# crm configure show +
- +
-node1:~# crm +
-</​code><​code>​ +
-configure property stonith-enabled=false +
-configure property no-quorum-policy=ignore +
-configure property default-resource-stickiness=100 +
-configure show +
-exit +
-</​code>​ +
- +
-===== Минимальная настройка Asterisk =====+
  
   * Можно просто продемонстрировать анонимный звонок на номер 1000   * Можно просто продемонстрировать анонимный звонок на номер 1000
Line 331: Line 296:
  
   * Подключаем softphone и тестируем   * Подключаем softphone и тестируем
-===== Перемещение контейнера на другой узел вручную =====+ 
 +===== Шаг 10. Перемещение контейнера на другой узел вручную =====
 <​code>​ <​code>​
 node1:~# lxc-stop -n server node1:~# lxc-stop -n server
Line 352: Line 318:
   * через минуту,​ пере подключаем софтфон   * через минуту,​ пере подключаем софтфон
  
-===== Багфикс lxc для systemd =====+===== Шаг 11. Багфикс lxc для systemd =====
 <​code>​ <​code>​
 node2:~# lxc-stop -n server node2:~# lxc-stop -n server
Line 373: Line 339:
 node2:~# lxc-info -n server node2:~# lxc-info -n server
 </​code>​ </​code>​
-===== Управление местоположением контейнера с помощью Pacemaker =====+ 
 +===== Шаг 12. Пакет Corosync ===== 
 +<​code>​ 
 +nodeN:~# apt install corosync 
 + 
 +nodeN:~# cat /​etc/​corosync/​corosync.conf 
 +</​code><​code>​ 
 +... 
 +bindnetaddr:​ 10.5.7.0 
 +... 
 +mcastaddr: 239.255.1.14 
 +... 
 +</​code><​code>​ 
 +nodeN:~# systemctl restart corosync  
 + 
 +nodeN:~# corosync-cmapctl | grep members 
 +</​code>​ 
 + 
 +===== Шаг 13. Пакет Pacemaker (базовая конфигурация) ===== 
 +<​code>​ 
 +nodeN:~# apt install pacemaker 
 + 
 +nodeN:~# crm_mon -1 
 + 
 +node1:~# apt install crmsh 
 + 
 +node1:~# crm status 
 + 
 +node1:~# crm configure show 
 + 
 +node1:~# crm 
 +</​code><​code>​ 
 +configure property stonith-enabled=false 
 +configure property no-quorum-policy=ignore 
 +configure property default-resource-stickiness=100 
 +configure show 
 +exit 
 +</​code>​ 
 + 
 +===== Шаг 14. Управление местоположением контейнера с помощью Pacemaker =====
 <​code>​ <​code>​
 node2:~# umount /disk2 node2:~# umount /disk2
 +
 +node2:~# drbdadm secondary r0
  
 nodeN:~# systemctl stop drbd nodeN:~# systemctl stop drbd
Line 398: Line 405:
 </​code>​ </​code>​
  
-===== Проверки =====+===== Шаг 15. Проверки =====
  
   * "​Убиваем"​ по очереди узлы   * "​Убиваем"​ по очереди узлы
asterisk_в_отказоустойчивой_конфигурации.txt · Last modified: 2019/07/25 11:29 by val