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
asterisk_в_отказоустойчивой_конфигурации [2019/04/12 12:55]
val [Базовая настройка узлов]
asterisk_в_отказоустойчивой_конфигурации [2019/07/25 11:29] (current)
val [Asterisk в отказоустойчивой конфигурации]
Line 1: Line 1:
 ====== Asterisk в отказоустойчивой конфигурации ====== ====== Asterisk в отказоустойчивой конфигурации ======
 +
 +  * [[https://​youtu.be/​U-LOU6dkBqs|Запись вебинара]]
  
   * Вебинар не про Asterisk))) а реклама курса [[https://​www.specialist.ru/​course/​un5|Linux. Уровень 6. Создание отказоустойчивых кластерных решений.]]   * Вебинар не про Asterisk))) а реклама курса [[https://​www.specialist.ru/​course/​un5|Linux. Уровень 6. Создание отказоустойчивых кластерных решений.]]
  
-===== Анализ сети в классе/​дома =====+===== Шаг 1. Анализ сети в классе/​дома =====
  
 <​code>​ <​code>​
Line 11: Line 13:
 </​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 28:
 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 42:
 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 51:
  
 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 75:
 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 83:
 node2:~# apt update node2:~# apt update
 </​code>​ </​code>​
-===== Сервис DRBD =====+===== Шаг 3. Сервис DRBD =====
  
 <​code>​ <​code>​
Line 108: Line 113:
                 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 119:
                 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 138:
 </​code>​ </​code>​
  
-===== Технология LXC (часть 1) =====+===== Шаг 4. Технология LXC (часть 1) =====
  
   * Рассказать про технологию в процессе создания образа   * Рассказать про технологию в процессе создания образа
Line 145: Line 150:
 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 156:
 </​code>​ </​code>​
  
-  * Пока загружается образ, можно выполнить тему "​Настройка bridge" ​и сделать перерыв+  * Пока загружается образ, можно выполнить темы 12, 13, 5 и сделать перерыв
  
-===== Настройка bridge =====+===== Шаг 5. Настройка bridge =====
 <​code>​ <​code>​
 node1:~# cat /​etc/​network/​interfaces node1:~# cat /​etc/​network/​interfaces
Line 162: Line 167:
 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 179:
 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 194:
 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 219:
 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 253:
 </​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 298:
  
   * Подключаем softphone и тестируем   * Подключаем softphone и тестируем
-===== Перемещение контейнера на другой узел вручную =====+ 
 +===== Шаг 10. Перемещение контейнера на другой узел вручную =====
 <​code>​ <​code>​
 node1:~# lxc-stop -n server node1:~# lxc-stop -n server
Line 352: Line 320:
   * через минуту,​ пере подключаем софтфон   * через минуту,​ пере подключаем софтфон
  
-===== Багфикс lxc для systemd =====+===== Шаг 11. Багфикс lxc для systemd =====
 <​code>​ <​code>​
 node2:~# lxc-stop -n server node2:~# lxc-stop -n server
Line 373: Line 341:
 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 407:
 </​code>​ </​code>​
  
-===== Проверки =====+===== Шаг 15. Проверки =====
  
   * "​Убиваем"​ по очереди узлы   * "​Убиваем"​ по очереди узлы
asterisk_в_отказоустойчивой_конфигурации.1555062951.txt.gz · Last modified: 2019/04/12 12:55 by val