This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
asterisk_в_отказоустойчивой_конфигурации [2019/04/12 14:45] val [Технология LXC (часть 1)] |
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 73: | 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 81: | Line 81: | ||
node2:~# apt update | node2:~# apt update | ||
</code> | </code> | ||
- | ===== Сервис DRBD ===== | + | ===== Шаг 3. Сервис DRBD ===== |
<code> | <code> | ||
Line 111: | 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 117: | 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 136: | Line 136: | ||
</code> | </code> | ||
- | ===== Технология LXC (часть 1) ===== | + | ===== Шаг 4. Технология LXC (часть 1) ===== |
* Рассказать про технологию в процессе создания образа | * Рассказать про технологию в процессе создания образа | ||
Line 154: | Line 154: | ||
</code> | </code> | ||
- | * Пока загружается образ, можно выполнить тему "Настройка bridge" и сделать перерыв | + | * Пока загружается образ, можно выполнить темы 12, 13, 5 и сделать перерыв |
- | ===== Настройка bridge ===== | + | ===== Шаг 5. Настройка bridge ===== |
<code> | <code> | ||
node1:~# cat /etc/network/interfaces | node1:~# cat /etc/network/interfaces | ||
Line 165: | 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 177: | 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 192: | 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 217: | 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 251: | 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 334: | Line 296: | ||
* Подключаем softphone и тестируем | * Подключаем softphone и тестируем | ||
- | ===== Перемещение контейнера на другой узел вручную ===== | + | |
+ | ===== Шаг 10. Перемещение контейнера на другой узел вручную ===== | ||
<code> | <code> | ||
node1:~# lxc-stop -n server | node1:~# lxc-stop -n server | ||
Line 355: | Line 318: | ||
* через минуту, пере подключаем софтфон | * через минуту, пере подключаем софтфон | ||
- | ===== Багфикс lxc для systemd ===== | + | ===== Шаг 11. Багфикс lxc для systemd ===== |
<code> | <code> | ||
node2:~# lxc-stop -n server | node2:~# lxc-stop -n server | ||
Line 376: | 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 401: | Line 405: | ||
</code> | </code> | ||
- | ===== Проверки ===== | + | ===== Шаг 15. Проверки ===== |
* "Убиваем" по очереди узлы | * "Убиваем" по очереди узлы |