User Tools

Site Tools


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

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_решений [2022/07/28 06:40]
val [Модуль 11. Тестирование отказоустойчивости]
создание_отказоустойчивых_linux_решений [2026/10/16 11:10] (current)
val [Модуль 11. Тестирование отказоустойчивости]
Line 4: Line 4:
  
   * [[http://​www.specialist.ru/​course/​un5|Linux. Уровень 6. Создание отказоустойчивых кластерных решений.]]   * [[http://​www.specialist.ru/​course/​un5|Linux. Уровень 6. Создание отказоустойчивых кластерных решений.]]
- 
- 
  
  
Line 33: Line 31:
   * [[https://​ru.wikipedia.org/​wiki/​%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B1%D0%B5%D0%B7%D0%BE%D1%82%D0%BA%D0%B0%D0%B7%D0%BD%D0%BE%D0%B9_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B|Вероятность безотказной работы]]   * [[https://​ru.wikipedia.org/​wiki/​%D0%92%D0%B5%D1%80%D0%BE%D1%8F%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B1%D0%B5%D0%B7%D0%BE%D1%82%D0%BA%D0%B0%D0%B7%D0%BD%D0%BE%D0%B9_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B|Вероятность безотказной работы]]
   * [[https://​www.youtube.com/​watch?​v=-izJHCPKvCg|youtube Отказоустойчивый микрокластер своими руками / Виталий Гаврилов (Ленвендо)]] Схема сети на 4-й минуте   * [[https://​www.youtube.com/​watch?​v=-izJHCPKvCg|youtube Отказоустойчивый микрокластер своими руками / Виталий Гаврилов (Ленвендо)]] Схема сети на 4-й минуте
 +  * [[https://​ru.wikipedia.org/​wiki/​VRRP|VRRP]]
  
 ==== Лабораторные работы ==== ==== Лабораторные работы ====
Line 46: Line 45:
  
 cd cd
 +
 +test -d conf && rm -rf conf
  
 git clone http://​val.bmstu.ru/​unix/​conf.git git clone http://​val.bmstu.ru/​unix/​conf.git
  
 cd conf/​virtualbox/​ cd conf/​virtualbox/​
 +
 +!!! 6 - это номер курса, вместо X укажите Ваш номер стенда,​ если не знаете его, спросите преподавателя !!!
  
 ./setup.sh X 6 ./setup.sh X 6
 </​code>​ </​code>​
  
-=== 1.2 Аппаратная настройка систем ===+=== 1.2 Аппаратная настройка систем ​node1 и node2 ===
  
   * Адаптер 1 - eth0 - Виртуальный адаптер хоста (LAN)   * Адаптер 1 - eth0 - Виртуальный адаптер хоста (LAN)
   * Адаптер 2 - eth1 - Сетевой мост (ISP1) только для node1 и node2   * Адаптер 2 - eth1 - Сетевой мост (ISP1) только для node1 и node2
 +  * 2, а если есть возможность,​ 4 Gb RAM
   * Жесткий диск размер 4G уже добавлен   * Жесткий диск размер 4G уже добавлен
  
 === 1.3 Импорт VM Windows === === 1.3 Импорт VM Windows ===
  
-=== 1.4 Исходная настройка сети шлюза ===+  * Подключаем,​ запускаем,​ преподаватель демонстрирует работу со статическими настройками IP 
 + 
 +=== 1.4 Исходная настройка сети шлюза ​(запускаем только node1) ​===
  
 <​code>​ <​code>​
-ubuntu# sh net_gate.sh+debian# sh net_gate.sh
  
-ubuntu# init 6+debian# init 6
 </​code>​ </​code>​
  
-<​code>​ +  * PuTTY !!!
-gate# sh conf/​dhcp.sh +
-</​code>​ +
- +
-=== 1.5 Тестирование сети === +
-<​code>​ +
-windows> ping 1.1.1.1 +
-</​code>​+
  
-=== 1.6 Подготовка отказоустойчивой конфигурации ===+=== 1.5 Подготовка отказоустойчивой конфигурации ===
  
   * [[Сервис Keepalived]] (сервис не перезапускать!)   * [[Сервис Keepalived]] (сервис не перезапускать!)
Line 117: Line 116:
 </​code>​ </​code>​
  
-=== 1.7 Тестирование сети ===+=== 1.6 Тестирование сети ===
 <​code>​ <​code>​
 node1# ping ya.ru node1# ping ya.ru
- 
-windows> ping 1.1.1.1 
 </​code>​ </​code>​
 +
 +==== Практикум ====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​lin6/​lin6_mod1_pract.mp4|Запись практикума]] (длительность:​ 14 минут)
  
 ==== Вопросы ==== ==== Вопросы ====
Line 166: Line 167:
 scp /​etc/​hostname node2:/etc/ scp /​etc/​hostname node2:/etc/
 scp /​etc/​network/​interfaces node2:/​etc/​network/​ scp /​etc/​network/​interfaces node2:/​etc/​network/​
 +scp /​etc/​resolv.conf node2:/etc/
  
 node1# ssh node2 route add default gw 192.168.X.254 node1# ssh node2 route add default gw 192.168.X.254
Line 181: Line 183:
 node1# ssh node2 node1# ssh node2
  
-ubuntu# cat /​etc/​hostname+debian# cat /​etc/​hostname
 </​code><​code>​ </​code><​code>​
 node2.corpX.un node2.corpX.un
 </​code><​code>​ </​code><​code>​
-node2# cat /​etc/​network/​interfaces+debian# cat /​etc/​network/​interfaces
 </​code><​code>​ </​code><​code>​
 ... ...
Line 191: Line 193:
 ... ...
 </​code><​code>​ </​code><​code>​
-node2# cat /​etc/​keepalived/​keepalived.conf+debian# cat /​etc/​keepalived/​keepalived.conf
 </​code><​code>​ </​code><​code>​
 ... ...
 +#    state MASTER
     state BACKUP     state BACKUP
 ... ...
 </​code><​code>​ </​code><​code>​
-node2# init 6+debian# init 6
 </​code>​ </​code>​
  
Line 205: Line 208:
  
 <​code>​ <​code>​
-node1# scn2 /​etc/​sysctl.conf+node1# ​ 
 +scn2 /​etc/​resolv.conf 
 +scn2 /etc/sysctl.d/​20-my-forward.conf
  
-node1# ssn2 sysctl -f+node1# ssn2 sysctl -p --system
 </​code>​ </​code>​
- 
 === 2.4 Синхронизация с использованием пакета CSYNC2 === === 2.4 Синхронизация с использованием пакета CSYNC2 ===
  
Line 234: Line 238:
 gate      A       ​192.168.X.254 gate      A       ​192.168.X.254
 </​code><​code>​ </​code><​code>​
 +node1# named-checkconf -z
 +
 node1# ssn2 apt install bind9 node1# ssn2 apt install bind9
 </​code>​ </​code>​
Line 244: Line 250:
 </​code>​ </​code>​
 <​code>​ <​code>​
-nodeN# host ns node1 +node1# host ns node1 
-nodeN# host ns node2+node1# host ns node2
 </​code>​ </​code>​
 <​code>​ <​code>​
Line 253: Line 259:
 nameserver 192.168.X.1 nameserver 192.168.X.1
 nameserver 192.168.X.2 nameserver 192.168.X.2
 +</​code><​code>​
 +nodeN# host ns 
 </​code>​ </​code>​
  
Line 262: Line 270:
  
   * [[Сервис Ansible]]   * [[Сервис Ansible]]
 +
 +==== Практикум ====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​lin6/​lin6_mod2_pract.mp4|Запись практикума]] (длительность:​ 14 минут)
  
 ==== Вопросы ==== ==== Вопросы ====
Line 283: Line 295:
   * [[Сервис DHCP#​Установка]] cервиса DHCP   * [[Сервис DHCP#​Установка]] cервиса DHCP
 <​code>​ <​code>​
 +node1# sh conf/​dhcp.sh
 +
 node2# sh conf/​dhcp.sh node2# sh conf/​dhcp.sh
 </​code>​ </​code>​
Line 295: Line 309:
  
   * !!! Тестирование отказоустойчивости выполнить в лабораторной работе 4.2   * !!! Тестирование отказоустойчивости выполнить в лабораторной работе 4.2
 +  * Тестируем на системе Windows
 <​code>​ <​code>​
 windows> ipconfig /release windows> ipconfig /release
Line 305: Line 319:
 windows> ping ya.ru windows> ping ya.ru
 </​code>​ </​code>​
 +
 +==== Запись практикума ====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​lin6/​lin6_mod3_pract.mp4|Запись практикума]] (длительность:​ 9 минут)
  
 ==== Вопросы ==== ==== Вопросы ====
Line 394: Line 412:
 **Сценарий:​** **Сценарий:​**
  
-  * Всем настроить NAT на два ISP ([[Сервисы Gateway и routing#​Использование iproute2 для управления выбором ISP]]), iptables-restore можно "​привязать"​ к интерфейсу eth0 +  * Настроить NAT на два ISP ([[Сервисы Gateway и routing#​Использование iproute2 для управления выбором ISP]]) 
-  * Преподавателю продемонстрировать ​PBR в "​ручном"​ режиме ([[Сервисы Gateway и routing#​NetFilter iproute2 (Linux)]])+  * PBR в "​ручном"​ режиме ([[Сервисы Gateway и routing#​NetFilter iproute2 (Linux)]])
  
  
Line 406: Line 424:
  
 node1# ip route show table 102 node1# ip route show table 102
 +
 +nodeN# apt install conntrack
  
 nodeN# cat set_isp.sh nodeN# cat set_isp.sh
 </​code><​code>​ </​code><​code>​
 #!/bin/sh #!/bin/sh
 +
 +ip rule del from 192.168/16 to 192.168/16 table main 2>/​dev/​null
 +while ip rule del from any table 101 2>/​dev/​null;​ do true; done
 +while ip rule del from any table 102 2>/​dev/​null;​ do true; done
 +ip route delete default 2>/​dev/​null
  
 case $1 in case $1 in
-        ​ISP1) +    ​ISP1) 
-                ip rule del from 192.168/16 to 192.168/16 table main +        ip rule add from 192.168.X.0/​24 table 101 
-                while ip rule del from any table 101;do true;done +        ip route add default via 172.16.1.254
-                while ip rule del from any table 102;do true;done +
-                ip route delete default +
- +
-                ​ip rule add from 192.168.X.0/​24 table 101 +
-                ip rule add from 192.168/16 to 192.168/16 table main +
- +
-                ​ip route add default via 172.16.1.254 +
- +
-                /sbin/ip route flush cache +
-                /​usr/​sbin/​conntrack -F+
         ;;         ;;
-        ​ISP2) +    ​ISP2) 
-                ip rule del from 192.168/16 to 192.168/16 table main +        ip rule add from 192.168.X.0/​24 table 102 
-                while ip rule del from any table 101;do true;done +        ip route add default via 172.16.2.254
-                while ip rule del from any table 102;do true;done +
-                ip route delete default +
- +
-                ​ip rule add from 192.168.X.0/​24 table 102 +
-                ip rule add from 192.168/16 to 192.168/16 table main +
- +
-                ​ip route add default via 172.16.2.254 +
- +
-                /sbin/ip route flush cache +
-                /​usr/​sbin/​conntrack -F+
         ;;         ;;
-        ​ISP1ISP2) +    ​ISP1ISP2) 
-                ip rule del from 192.168/16 to 192.168/16 table main +        ip rule add from 192.168.X.0/​25 table 101 
-                while ip rule del from any table 101;do true;done +        ip rule add from 192.168.X.128/​25 table 102 
-                while ip rule del from any table 102;do true;done +        ip route add default via 172.16.1.254
-                ip route delete default +
- +
-                ​ip rule add from 192.168.X.0/​25 table 101 +
-                ip rule add from 192.168.X.128/​25 table 102 +
-                ip rule add from 192.168/16 to 192.168/16 table main +
- +
-                ​ip route add default via 172.16.1.254 +
-                #ip route add default via 172.16.2.254  +
- +
-                /sbin/ip route flush cache +
-                /​usr/​sbin/​conntrack -F+
         ;;         ;;
 esac esac
 +
 +ip rule add from 192.168/16 to 192.168/16 table main
 +ip route flush cache
 +conntrack -F 2>/​dev/​null
 </​code><​code>​ </​code><​code>​
 nodeN# chmod +x set_isp.sh nodeN# chmod +x set_isp.sh
Line 464: Line 462:
 node1# ip rule show node1# ip rule show
  
 +node2# apt install iputils-tracepath
 node2# tracepath ya.ru node2# tracepath ya.ru
  
Line 471: Line 470:
 </​code><​code>​ </​code><​code>​
 #!/bin/sh #!/bin/sh
 +
 +ip a | grep -q '​192.168.*254'​ || exit 0
  
 TESTIP=1.1.1.1 TESTIP=1.1.1.1
- 
-ip a | grep -q '​192.168.*254'​ || exit 0 
  
 ISP=''​ ISP=''​
  
-ip route del $TESTIP+ip route del $TESTIP ​2>/​dev/​null
 ip route add $TESTIP via 172.16.1.254 ip route add $TESTIP via 172.16.1.254
 ping -c3 $TESTIP && ISP=ISP1 ping -c3 $TESTIP && ISP=ISP1
Line 512: Line 511:
 master_node#​ ip rule show master_node#​ ip rule show
 </​code>​ </​code>​
 +
 +==== Практикум ====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​lin6/​lin6_mod4_pract.mp4|Запись практикума]] (длительность:​ 4 минуты)
  
 ==== Вопросы ==== ==== Вопросы ====
Line 564: Line 567:
 www       ​A ​      ​192.168.X.10 www       ​A ​      ​192.168.X.10
 </​code><​code>​ </​code><​code>​
 +node1# named-checkconf -z
 +
 node1# csync2 -xv node1# csync2 -xv
 </​code>​ </​code>​
Line 581: Line 586:
 Каталог:​ public_html Каталог:​ public_html
  
-В Браузере:​ http://​node1/​~user1+В Браузере:​ http://​node1.corpX.un/~user1
 </​code>​ </​code>​
  
Line 596: Line 601:
    
 <​code>​ <​code>​
-nodeN# ​service ​proftpd ​stop +nodeN# ​systemctl disable ​proftpd --now
- +
-nodeN# update-rc.d -f proftpd remove +
-или +
-debian11# systemctl disable proftpd+
 </​code>​ </​code>​
  
Line 627: Line 628:
 </​code><​code>​ </​code><​code>​
 ... ...
-* * * * * ps ax | grep -v grep | grep -q 'proftpd: (accepting connections)'​ && /​usr/​bin/​rsync -az --delete /home/ nodeM:/​home/​+* * * * * ps ax | grep -q '[p]roftpd: (accepting connections)'​ && /​usr/​bin/​rsync -az --delete /home/ nodeM:/​home/​
 </​code>​ </​code>​
 +==== Практикум ====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​lin6/​lin6_mod5_pract.mp4|Запись практикума]] (длительность:​ 15 минут)
 +
 ==== Вопросы ==== ==== Вопросы ====
  
Line 678: Line 683:
 fs        A       ​192.168.X.20 fs        A       ​192.168.X.20
 </​code><​code>​ </​code><​code>​
 +node1# named-checkconf -z
 +
 node1# csync2 -xv node1# csync2 -xv
 </​code>​ </​code>​
Line 686: Line 693:
 <​code>​ <​code>​
 root@nodeN:​~#​ root@nodeN:​~#​
- +systemctl disable smbd --now 
-service smbd stop +systemctl disable nmbd --now
-service nmbd stop +
- +
-systemctl disable smbd +
-systemctl disable nmbd+
  
  
Line 723: Line 726:
  
 <​code>​ <​code>​
-master# watch cat /proc/drbd+slave# watch cat /proc/drbd
  
-master# crm_mon+slave# crm_mon
 </​code>​ </​code>​
  
Line 737: Line 740:
 master# crm configure delete pr_srv_smbd pr_ip_smbd gr_ip_fs master# crm configure delete pr_srv_smbd pr_ip_smbd gr_ip_fs
 </​code>​ </​code>​
 +
 +==== Практикум ====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​lin6/​lin6_mod6_pract.mp4|Запись практикума]] (длительность:​ 12 минут)
  
 ==== Вопросы ==== ==== Вопросы ====
Line 768: Line 775:
 @         ​MX ​ 10  server1 @         ​MX ​ 10  server1
 </​code><​code>​ </​code><​code>​
 +node1# named-checkconf -z
 +
 node1# csync2 -xv node1# csync2 -xv
 </​code>​ </​code>​
Line 786: Line 795:
  
         bridge_ports eth0         bridge_ports eth0
-        #bridge_hw 08:00:27:12:34:0N  #if generate same mac on nodes (Debian11)+        ​#For VBox clones 
 +        ​#bridge_hw 08:00:27:23:45:0N
  
         address 192.168.X.N         address 192.168.X.N
Line 817: Line 827:
  
   * Может понадобиться [[Решение DRBD#​Решение ситуации Split-Brain]] или, в нашем случае [[Решение DRBD#​Решение ситуации Split-Brain при использовании Pacemaker]]   * Может понадобиться [[Решение DRBD#​Решение ситуации Split-Brain]] или, в нашем случае [[Решение DRBD#​Решение ситуации Split-Brain при использовании Pacemaker]]
 +  * Может понадобиться удаление ресурсов из модуля 6.3
  
 === 7.1.2 Подготовка виртуальных машин === === 7.1.2 Подготовка виртуальных машин ===
Line 822: Line 833:
   * [[Технология LXC#​Установка и настройка lxc]] на обоих узлах   * [[Технология LXC#​Установка и настройка lxc]] на обоих узлах
   * Готовимся все, относящееся к виртуальным системам,​ хранить на зеркалируемом разделе   * Готовимся все, относящееся к виртуальным системам,​ хранить на зеркалируемом разделе
 +  * [[https://​www.claudiokuenzler.com/​blog/​1206/​debian-bullseye-11.3-lxc-container-static-ip-config-not-working|LXC containers with static IP in config not working anymore after Debian Bullseye 11.3 update]]
  
 <​code>​ <​code>​
Line 829: Line 841:
 </​code>​ </​code>​
  
-  * Создание ветки дочерней системы/​шаблона (в большой группе занимает 5 минут)+  * Создание ветки дочерней системы/​шаблона (в большой группе занимает 5 минут, попробовать настроить proxy через [[Переменные окружения]])
   ​   ​
 <​code>​ <​code>​
 root@node1.corpX.un:​~#​ mkdir -p /​disk2/​var/​lib/​lxc/​ root@node1.corpX.un:​~#​ mkdir -p /​disk2/​var/​lib/​lxc/​
  
-root@node1.corpX.un:​~# lxc-create -t download -n server-template -- -d ubuntu ​-r focal -a amd64+node1_debian12#​ lxc-create -t debian -n server-template 
 + 
 +node1_debian13# lxc-create -t download -n server-template -- -d debian ​-r trixie ​-a amd64 
 +node1_debian13#​ cp --remove-destination /​etc/​resolv.conf /​var/​lib/​lxc/​server-template/​rootfs/​etc/​resolv.conf
 </​code>​ </​code>​
  
Line 846: Line 861:
 server-template:/#​ apt update server-template:/#​ apt update
  
-server-template:/#​ apt purge netplan.io+server-template:/#​ apt purge isc-dhcp-client
  
-server-template:/#​ apt install nano ssh+server-template:/#​ apt install nano ssh iputils-ping sudo
 </​code>​ </​code>​
- 
-  * !!! Методическая рекомендация - запустить процесс установки Ceph (лабораторная работа 8.3) 
  
   * Настраиваем hostname, hosts, DNS client и учетную запись root в гостевой системе/​шаблоне   * Настраиваем hostname, hosts, DNS client и учетную запись root в гостевой системе/​шаблоне
  
 <​code>​ <​code>​
 +server:/# more /​etc/​resolv.conf
 +
 +server_debian13:/#​ rm -v /​etc/​systemd/​network/​*.network
 +
 server:/# cat /​etc/​hostname server:/# cat /​etc/​hostname
 </​code><​code>​ </​code><​code>​
Line 866: Line 883:
 192.168.X.30 server-template.corpX.un server-template 192.168.X.30 server-template.corpX.un server-template
 </​code><​code>​ </​code><​code>​
-server-template:/# ​cat /etc/systemd/​resolved.conf +server-template:/# ​useradd -m -s /bin/bash -G sudo student 
-</​code><​code>​ + 
-[Resolve] +server-template:/#​ passwd ​student
-DNS=192.168.X.1 192.168.X.2 +
-</​code><​code>​ +
-server-template:/#​ passwd ​ubuntu+
 </​code>​ </​code>​
 Ctrl-D Ctrl-D
Line 883: Line 897:
 lxc.rootfs.path = dir:/​var/​lib/​lxc/​server-template/​rootfs lxc.rootfs.path = dir:/​var/​lib/​lxc/​server-template/​rootfs
 lxc.uts.name = server-template lxc.uts.name = server-template
-...+ 
 +# Network configuration
 lxc.net.0.type = veth lxc.net.0.type = veth
 lxc.net.0.link = br0 lxc.net.0.link = br0
Line 902: Line 917:
 DST_IP=192.168.X.31 DST_IP=192.168.X.31
  
-time cp -rp /​var/​lib/​lxc/​$SRC_CONTAINER/​ /​var/​lib/​lxc/​$DST_CONTAINER/​+time cp -rpT /​var/​lib/​lxc/​$SRC_CONTAINER/​ /​var/​lib/​lxc/​$DST_CONTAINER/​
  
-find /​var/​lib/​lxc/​$DST_CONTAINER/​rootfs/​etc/​ -type f -exec sed -i'' ​-e "​s/​$SRC_CONTAINER/​$DST_CONTAINER/"​ -e "​s/​$SRC_IP/​$DST_IP/"​ {} \;+find /​var/​lib/​lxc/​$DST_CONTAINER/​rootfs/​etc/​ -type f -exec sed -i -e "​s/​$SRC_CONTAINER/​$DST_CONTAINER/​g" -e "​s/​$SRC_IP/​$DST_IP/​g" {} \;
  
-sed -i'' ​-e "​s/​$SRC_CONTAINER/​$DST_CONTAINER/"​ -e "​s/​$SRC_IP/​$DST_IP/"​ /​var/​lib/​lxc/​$DST_CONTAINER/​config+sed -i -e "​s/​$SRC_CONTAINER/​$DST_CONTAINER/​g" -e "​s/​$SRC_IP/​$DST_IP/​g" /​var/​lib/​lxc/​$DST_CONTAINER/​config
  
 </​code>​ </​code>​
Line 917: Line 932:
 root@node1.corpX.un:​~#​ systemctl start lxc@server1 root@node1.corpX.un:​~#​ systemctl start lxc@server1
  
-root@node1.corpX.un:​~#​ ssh ubuntu@server1+root@node1.corpX.un:​~#​ ssh student@server1
  
 root@node1.corpX.un:​~#​ systemctl stop lxc@server1 root@node1.corpX.un:​~#​ systemctl stop lxc@server1
Line 935: Line 950:
 ==== Настройка виртуальной системы как сервер электронной почты и тестирование отказоустойчивости ==== ==== Настройка виртуальной системы как сервер электронной почты и тестирование отказоустойчивости ====
  
-  * [[Сервис SSH#PuTTY]]+  * [[Сервис SSH#​PuTTY]] ​(можно с host системы)
  
 <​code>​ <​code>​
Line 941: Line 956:
  
 server1# apt install ansible git server1# apt install ansible git
-</​code>​ 
  
-  * Сервис Git [[Сервис Git#Клонирование и обновление локального репозитория из сетевого]]+server1# git clone http://​val.bmstu.ru/​unix/​conf.git
  
-<​code>​ 
 server1# ansible-playbook conf/​ansible/​roles/​mail.yml server1# ansible-playbook conf/​ansible/​roles/​mail.yml
 </​code>​ </​code>​
  
 +  * Roundcube http://​server1.corpX.un/​mail (нужно с vm win client)
  
-  * Roundcube http://server1.corpX.un/mail +  * [[Сервис MTA#​Использование почтовых псевдонимов]] для получения гарантированных уведомлений и [[Решение DRBD#​Решение ситуации Split-Brain при использовании Pacemaker]] 
-  * [[Thunderbird]]+ 
 + 
 +==== Практикум ==== 
 + 
 +  * [[https://val.bmstu.ru/~val/​pract/​lin6/​lin6_mod7_pract.mp4|Запись практикума]] (длительность:​ 33 минуты)
  
-<​code>​ 
-node1# crm resource move gr_fs_lxc node2 
-</​code>​ 
 ==== Вопросы ==== ==== Вопросы ====
  
Line 962: Line 977:
 ===== Модуль 8. Распределенное отказоустойчивое хранилище Ceph ===== ===== Модуль 8. Распределенное отказоустойчивое хранилище Ceph =====
  
 +  - Настройка MAC адресов 08:​00:​27:​12:​34:​5N (для получения назначенного IP через [[Сервис DHCP]]) и запуск node3-7
   - Настройка IP на node3-7, [[Сервис Ansible#​Настройка групп управляемых систем]],​ [[Сервис Ansible#​Настройка транспорта ssh]] и [[Сервис Ansible#​Использование модулей]] Ansible для тестирования связи с ними   - Настройка IP на node3-7, [[Сервис Ansible#​Настройка групп управляемых систем]],​ [[Сервис Ansible#​Настройка транспорта ssh]] и [[Сервис Ansible#​Использование модулей]] Ansible для тестирования связи с ними
   - [[Сервис Ansible#​Использование ролей]] Ansible для настройки файлов конфигурации сети на node3-7 ​   - [[Сервис Ansible#​Использование ролей]] Ansible для настройки файлов конфигурации сети на node3-7 ​
   - [[Сервис Ansible#​Использование модулей]] Ansible для инсталляции Ceph на node3-7 (в большой группе ставится 45 минут)   - [[Сервис Ansible#​Использование модулей]] Ansible для инсталляции Ceph на node3-7 (в большой группе ставится 45 минут)
-  - [[Ceph - просто добавь узлов!#​Шаг 2. Установка и настройка Ceph]] сразу добавить 6-й узел ​как OSD+  - [[Ceph - просто добавь узлов!#​Шаг 2. Установка и настройка Ceph]] ​(ключи ssh) 
 +  - [[Решение Ceph]] (в теме про OSD сразу добавить 6-й узел)
   - [[Сервис iSCSI#iSCSI initiator]]   - [[Сервис iSCSI#iSCSI initiator]]
   - [[Сервис multipath]]   - [[Сервис multipath]]
 +
 +==== Практикум ====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​lin6/​lin6_mod8_pract.mp4|Запись практикума]] (длительность:​ 26 минут)
  
 ===== Модуль 9. Кластерная файловая система OCFS2 ===== ===== Модуль 9. Кластерная файловая система OCFS2 =====
Line 973: Line 994:
   * !!! Методическая рекомендация - СРАЗУ после установки пакетов для ocfs запустить процесс установки пакетов для kvm   * !!! Методическая рекомендация - СРАЗУ после установки пакетов для ocfs запустить процесс установки пакетов для kvm
   * [[Сервис OCFS2]]   * [[Сервис OCFS2]]
 +
 +==== Практикум ====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​lin6/​lin6_mod9_pract.mp4|Запись практикума]] (длительность:​ 8 минут)
  
 ===== Модуль 10. Система виртуализации KVM ===== ===== Модуль 10. Система виртуализации KVM =====
Line 979: Line 1004:
   * Проверить,​ включена ли [[Технология VirtualBox#​Вложенная виртуализация]] в VirtualBox   * Проверить,​ включена ли [[Технология VirtualBox#​Вложенная виртуализация]] в VirtualBox
   * [[Технология KVM]] (в большой группе ставится 10 минут)   * [[Технология KVM]] (в большой группе ставится 10 минут)
 +
 +==== Практикум ====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​lin6/​lin6_mod10_pract.mp4|Запись практикума]] (длительность:​ 20 минут)
  
 ===== Модуль 11. Тестирование отказоустойчивости ===== ===== Модуль 11. Тестирование отказоустойчивости =====
Line 984: Line 1013:
   - Переместить все ресурсы на node1, обесточить его и убедиться что все ресурсы (winxp1 и server1) запустились на node2 (на winxp1 может начаться проверка диска)   - Переместить все ресурсы на node1, обесточить его и убедиться что все ресурсы (winxp1 и server1) запустились на node2 (на winxp1 может начаться проверка диска)
   - Остановить node2 (рекомендуется сперва корректно остановить winxp1)   - Остановить node2 (рекомендуется сперва корректно остановить winxp1)
-  - запустить node2, убедиться что все ресурсы (winxp1 и server1) запустились ​(можно node1 и проверить письмо про splitbrain) +  - Запустить node2, убедиться что все ресурсы (winxp1 и server1) запустились
   - Выяснить,​ через какой узел подключается [[Сервис multipath]] на node2 по iSCSI к RBD Ceph   - Выяснить,​ через какой узел подключается [[Сервис multipath]] на node2 по iSCSI к RBD Ceph
   - Выполнить для этого узла [[Ceph - просто добавь узлов!#​Шаг 4. Сценарий - авария узла]]   - Выполнить для этого узла [[Ceph - просто добавь узлов!#​Шаг 4. Сценарий - авария узла]]
 +
 +  * Видео [[Бюджетная безотказная сеть для кластера]]
  
  
  
создание_отказоустойчивых_linux_решений.1658979658.txt.gz · Last modified: 2022/07/28 06:40 by val