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/05/25 09:38]
val [Модуль 9. Кластерная файловая система OCFS2]
создание_отказоустойчивых_linux_решений [2023/10/04 15:10]
val [Лабораторные работы]
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 уже добавлен
  
Line 69: Line 73:
 ubuntu# init 6 ubuntu# init 6
 </​code>​ </​code>​
 +
 +  * PuTTY !!!
  
 <​code>​ <​code>​
Line 194: Line 200:
 </​code><​code>​ </​code><​code>​
 ... ...
 +#    state MASTER
     state BACKUP     state BACKUP
 ... ...
Line 209: Line 216:
 node1# ssn2 sysctl -f node1# ssn2 sysctl -f
 </​code>​ </​code>​
 +  или
 +<​code>​
 +node1# scn2 /​etc/​sysctl.d/​20-my-forward.conf
  
 +node1# ssn2 sysctl -p --system
 +</​code>​
 === 2.4 Синхронизация с использованием пакета CSYNC2 === === 2.4 Синхронизация с использованием пакета CSYNC2 ===
  
Line 234: Line 246:
 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 258:
 </​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 267:
 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 466: Line 482:
 node2# tracepath ya.ru node2# tracepath ya.ru
  
-windows> tracert ya.ru+windows> tracert ​-d ya.ru
  
 nodeN# cat select_isp.sh nodeN# cat select_isp.sh
 </​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 580:
 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 599:
 Каталог:​ public_html Каталог:​ public_html
  
-В Браузере:​ http://​node1/​~user1+В Браузере:​ http://​node1.corpX.un/~user1
 </​code>​ </​code>​
  
Line 627: Line 645:
 </​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 696:
 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 743:
  
 <​code>​ <​code>​
-master# watch cat /proc/drbd+slave# watch cat /proc/drbd
  
-master# crm_mon+slave# crm_mon
 </​code>​ </​code>​
  
Line 768: Line 788:
 @         ​MX ​ 10  server1 @         ​MX ​ 10  server1
 </​code><​code>​ </​code><​code>​
 +node1# named-checkconf -z
 +
 node1# csync2 -xv node1# csync2 -xv
 </​code>​ </​code>​
Line 822: Line 844:
   * [[Технология 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 852:
 </​code>​ </​code>​
  
-  * Создание ветки дочерней системы/​шаблона+  * Создание ветки дочерней системы/​шаблона ​(в большой группе занимает 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 -- --no-validate ​-d ubuntu -r focal -a amd64+root@node1.corpX.un:​~#​ lxc-create -t download -n server-template -- -d ubuntu -r focal -a amd64
 </​code>​ </​code>​
  
Line 851: Line 874:
 </​code>​ </​code>​
  
-  * !!! Методическая рекомендация - запустить процесс установки Ceph (лабораторная работа 8.3)+  * !!! Методическая рекомендация - запустить процесс установки Ceph (лабораторная работа 8.3) настроив proxy через [[Переменные окружения]] и [[Сервис Ansible#​Использование модулей]] Ansible
  
   * Настраиваем hostname, hosts, DNS client и учетную запись root в гостевой системе/​шаблоне   * Настраиваем hostname, hosts, DNS client и учетную запись root в гостевой системе/​шаблоне
Line 941: Line 964:
  
 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>​
Line 963: Line 984:
  
   - Настройка 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+  - [[Сервис Ansible#​Использование модулей]] Ansible для инсталляции Ceph на node3-7 ​(в большой группе ставится 45 минут)
   - [[Ceph - просто добавь узлов!#​Шаг 2. Установка и настройка Ceph]] сразу добавить 6-й узел как OSD   - [[Ceph - просто добавь узлов!#​Шаг 2. Установка и настройка Ceph]] сразу добавить 6-й узел как OSD
   - [[Сервис iSCSI#iSCSI initiator]]   - [[Сервис iSCSI#iSCSI initiator]]
Line 971: Line 992:
 ===== Модуль 9. Кластерная файловая система OCFS2 ===== ===== Модуль 9. Кластерная файловая система OCFS2 =====
  
-  * [[!!! Методическая рекомендация - СРАЗУ после установки пакетов для ocfs сразу ​запустить процесс установки пакетов для kvm+  * !!! Методическая рекомендация - СРАЗУ после установки пакетов для ocfs запустить процесс установки пакетов для kvm
   * [[Сервис OCFS2]]   * [[Сервис OCFS2]]
  
-===== Модуль 10. Система визуализации KVM =====+===== Модуль 10. Система виртуализации KVM =====
  
   * Методическая рекомендация - выключить win10 clientN (конфликт имен и путаница с ip адресами)   * Методическая рекомендация - выключить win10 clientN (конфликт имен и путаница с ip адресами)
   * Проверить,​ включена ли [[Технология VirtualBox#​Вложенная виртуализация]] в VirtualBox   * Проверить,​ включена ли [[Технология VirtualBox#​Вложенная виртуализация]] в VirtualBox
-  * [[Технология KVM]]+  * [[Технология KVM]] (в большой группе ставится 10 минут)
  
 ===== Модуль 11. Тестирование отказоустойчивости ===== ===== Модуль 11. Тестирование отказоустойчивости =====
  
   - Переместить все ресурсы на node1, обесточить его и убедиться что все ресурсы (winxp1 и server1) запустились на node2 (на winxp1 может начаться проверка диска)   - Переместить все ресурсы на node1, обесточить его и убедиться что все ресурсы (winxp1 и server1) запустились на node2 (на winxp1 может начаться проверка диска)
-  - Остановить/​запустить node2 (рекомендуется сперва корректно остановить winxp1), убедиться что все ресурсы (winxp1 и server1) запускается+  - Остановить node2 (рекомендуется сперва корректно остановить winxp1) 
 +  - запустить node2, убедиться что все ресурсы (winxp1 и server1) запустились (можно node1 и проверить письмо про splitbrain) 
   - Выяснить,​ через какой узел подключается [[Сервис multipath]] на node2 по iSCSI к RBD Ceph   - Выяснить,​ через какой узел подключается [[Сервис multipath]] на node2 по iSCSI к RBD Ceph
   - Выполнить для этого узла [[Ceph - просто добавь узлов!#​Шаг 4. Сценарий - авария узла]]   - Выполнить для этого узла [[Ceph - просто добавь узлов!#​Шаг 4. Сценарий - авария узла]]
создание_отказоустойчивых_linux_решений.txt · Last modified: 2023/10/05 09:43 by val