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
Last revision Both sides next revision
создание_отказоустойчивых_linux_решений [2022/07/28 06:40]
val [Модуль 11. Тестирование отказоустойчивости]
создание_отказоустойчивых_linux_решений [2024/06/04 16:09]
val [7.1 Linux Containers в зеркалируемом разделе]
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 -r 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 ===
 +
 +  * Подключаем,​ запускаем,​ преподаватель демонстрирует работу со статическими настройками IP
  
 === 1.4 Исходная настройка сети шлюза === === 1.4 Исходная настройка сети шлюза ===
Line 70: Line 76:
 </​code>​ </​code>​
  
-<​code>​ +  * PuTTY !!!
-gate# sh conf/​dhcp.sh +
-</​code>​+
  
-=== 1.5 Тестирование сети === +=== 1.5 Подготовка отказоустойчивой конфигурации ===
-<​code>​ +
-windows> ping 1.1.1.1 +
-</​code>​ +
- +
-=== 1.6 Подготовка отказоустойчивой конфигурации ===+
  
   * [[Сервис Keepalived]] (сервис не перезапускать!)   * [[Сервис Keepalived]] (сервис не перезапускать!)
Line 117: Line 116:
 </​code>​ </​code>​
  
-=== 1.Тестирование сети ===+=== 1.Тестирование сети ===
 <​code>​ <​code>​
 node1# ping ya.ru node1# ping ya.ru
- 
-windows> ping 1.1.1.1 
 </​code>​ </​code>​
  
Line 194: Line 191:
 </​code><​code>​ </​code><​code>​
 ... ...
 +#    state MASTER
     state BACKUP     state BACKUP
 ... ...
Line 205: Line 203:
  
 <​code>​ <​code>​
-node1# scn2 /​etc/​sysctl.conf+node1# 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 231:
 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 243:
 </​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 252:
 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 283: Line 284:
   * [[Сервис 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 298:
  
   * !!! Тестирование отказоустойчивости выполнить в лабораторной работе 4.2   * !!! Тестирование отказоустойчивости выполнить в лабораторной работе 4.2
 +  * Тестируем на системе Windows
 <​code>​ <​code>​
 windows> ipconfig /release windows> ipconfig /release
Line 394: Line 397:
 **Сценарий:​** **Сценарий:​**
  
-  * Всем настроить 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 471: Line 474:
 </​code><​code>​ </​code><​code>​
 #!/bin/sh #!/bin/sh
- 
-TESTIP=1.1.1.1 
  
 ip a | grep -q '​192.168.*254'​ || exit 0 ip a | grep -q '​192.168.*254'​ || exit 0
 +
 +TESTIP=1.1.1.1
  
 ISP=''​ ISP=''​
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 627: Line 632:
 </​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>​
 ==== Вопросы ==== ==== Вопросы ====
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 723: Line 730:
  
 <​code>​ <​code>​
-master# watch cat /proc/drbd+slave# watch cat /proc/drbd
  
-master# crm_mon+slave# crm_mon
 </​code>​ </​code>​
  
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)+        #bridge_hw 08:00:27:23:45:0N  #if generate same mac on nodes (Debian11/12)
  
         address 192.168.X.N         address 192.168.X.N
Line 822: Line 831:
   * [[Технология 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 839:
 </​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_ubuntu# lxc-create -t download -n server-template -- -d ubuntu -r focal -a amd64 
 + 
 +node1_debian#​ lxc-create -t debian -n server-template
 </​code>​ </​code>​
  
Line 846: Line 858:
 server-template:/#​ apt update server-template:/#​ apt update
  
-server-template:/#​ apt purge netplan.io+server-template:/#​ apt purge netplan.io ​isc-dhcp-client
  
-server-template:/#​ apt install nano ssh+server-template:/#​ apt install nano ssh iputils-ping
 </​code>​ </​code>​
  
-  * !!! Методическая рекомендация - запустить процесс установки Ceph (лабораторная работа 8.3)+  * !!! Методическая рекомендация - запустить процесс установки Ceph (лабораторная работа 8.3) настроив proxy через [[Переменные окружения]] и [[Сервис Ansible#​Использование модулей]] Ansible
  
   * Настраиваем hostname, hosts, DNS client и учетную запись root в гостевой системе/​шаблоне   * Настраиваем hostname, hosts, DNS client и учетную запись root в гостевой системе/​шаблоне
Line 872: Line 884:
 </​code><​code>​ </​code><​code>​
 server-template:/#​ passwd ubuntu server-template:/#​ passwd ubuntu
 +  или
 +server-template:/#​ useradd -m -s /bin/bash -G sudo student
 +server-template:/#​ passwd student
 </​code>​ </​code>​
 Ctrl-D Ctrl-D
Line 941: Line 956:
  
 server1# apt install ansible git server1# apt install ansible git
-</​code>​ 
  
-  * Сервис Git [[Сервис Git#Клонирование и обновление локального репозитория из сетевого]]+server1git 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   * Roundcube http://​server1.corpX.un/​mail
-  * [[Thunderbird]] 
  
 <​code>​ <​code>​
 +node1# crm configure delete location cli-prefer-pr_fs_r0
 +
 node1# crm resource move gr_fs_lxc node2 node1# crm resource move gr_fs_lxc node2
 </​code>​ </​code>​
создание_отказоустойчивых_linux_решений.txt · Last modified: 2024/06/04 16:16 by val