This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
создание_отказоустойчивых_linux_решений [2022/11/23 07:10] val [Лабораторные работы] |
создание_отказоустойчивых_linux_решений [2025/04/08 15:41] (current) val [Модуль 11. Тестирование отказоустойчивости] |
||
---|---|---|---|
Line 46: | Line 46: | ||
cd | cd | ||
- | test -d conf && rm -r conf | + | 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 | ||
Line 64: | Line 66: | ||
=== 1.3 Импорт VM Windows === | === 1.3 Импорт VM Windows === | ||
- | === 1.4 Исходная настройка сети шлюза === | + | * Подключаем, запускаем, преподаватель демонстрирует работу со статическими настройками IP |
+ | |||
+ | === 1.4 Исходная настройка сети шлюза (запускаем только node1) === | ||
<code> | <code> | ||
Line 74: | Line 78: | ||
* PuTTY !!! | * PuTTY !!! | ||
- | <code> | + | === 1.5 Подготовка отказоустойчивой конфигурации === |
- | gate# sh conf/dhcp.sh | + | |
- | </code> | + | |
- | + | ||
- | === 1.5 Тестирование сети === | + | |
- | <code> | + | |
- | windows> ping 1.1.1.1 | + | |
- | </code> | + | |
- | + | ||
- | === 1.6 Подготовка отказоустойчивой конфигурации === | + | |
* [[Сервис Keepalived]] (сервис не перезапускать!) | * [[Сервис Keepalived]] (сервис не перезапускать!) | ||
Line 121: | 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 198: | Line 195: | ||
</code><code> | </code><code> | ||
... | ... | ||
+ | # state MASTER | ||
state BACKUP | state BACKUP | ||
... | ... | ||
Line 208: | Line 206: | ||
* [[Настройка командных интерпретаторов#bash]] алиасы и функции | * [[Настройка командных интерпретаторов#bash]] алиасы и функции | ||
- | <code> | ||
- | node1# scn2 /etc/sysctl.conf | ||
- | |||
- | node1# ssn2 sysctl -f | ||
- | </code> | ||
- | или | ||
<code> | <code> | ||
node1# scn2 /etc/sysctl.d/20-my-forward.conf | node1# scn2 /etc/sysctl.d/20-my-forward.conf | ||
Line 255: | Line 247: | ||
</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 264: | Line 256: | ||
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 273: | Line 267: | ||
* [[Сервис Ansible]] | * [[Сервис Ansible]] | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin6/lin6_mod2_pract.mp4|Запись практикума]] (длительность: 14 минут) | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 294: | Line 292: | ||
* [[Сервис 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 306: | Line 306: | ||
* !!! Тестирование отказоустойчивости выполнить в лабораторной работе 4.2 | * !!! Тестирование отказоустойчивости выполнить в лабораторной работе 4.2 | ||
+ | * Тестируем на системе Windows | ||
<code> | <code> | ||
windows> ipconfig /release | windows> ipconfig /release | ||
Line 316: | Line 316: | ||
windows> ping ya.ru | windows> ping ya.ru | ||
</code> | </code> | ||
+ | |||
+ | ==== Запись практикума ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin6/lin6_mod3_pract.mp4|Запись практикума]] (длительность: 9 минут) | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 405: | Line 409: | ||
**Сценарий:** | **Сценарий:** | ||
- | * Всем настроить 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 523: | Line 527: | ||
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 594: | Line 602: | ||
Каталог: public_html | Каталог: public_html | ||
- | В Браузере: http://node1/~user1 | + | В Браузере: http://node1.corpX.un/~user1 |
</code> | </code> | ||
Line 613: | Line 621: | ||
nodeN# update-rc.d -f proftpd remove | nodeN# update-rc.d -f proftpd remove | ||
или | или | ||
- | debian11# systemctl disable proftpd | + | debian11_12# systemctl disable proftpd |
</code> | </code> | ||
Line 640: | Line 648: | ||
</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 752: | Line 764: | ||
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 803: | Line 819: | ||
bridge_ports eth0 | bridge_ports eth0 | ||
- | #bridge_hw 08:00:27:12:34:0N #if generate same mac on nodes (Debian11) | + | #####if generate same mac on nodes (Debian11/12) |
+ | #bridge_hw 08:00:27:23:45:0N | ||
address 192.168.X.N | address 192.168.X.N | ||
Line 839: | Line 856: | ||
* [[Технология 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 846: | Line 864: | ||
</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 863: | Line 883: | ||
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 sudo |
</code> | </code> | ||
- | * !!! Методическая рекомендация - запустить процесс установки Ceph (лабораторная работа 8.3) настроив proxy через [[Переменные окружения]] | + | * !!! Методическая рекомендация - запустить процесс установки Ceph (лабораторная работа 8.3) настроив proxy через [[Переменные окружения]] и [[Сервис Ansible#Использование модулей]] Ansible |
* Настраиваем hostname, hosts, DNS client и учетную запись root в гостевой системе/шаблоне | * Настраиваем hostname, hosts, DNS client и учетную запись root в гостевой системе/шаблоне | ||
Line 883: | Line 903: | ||
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:/# more /etc/resolv.conf | ||
+ | |||
server-template:/# cat /etc/systemd/resolved.conf | server-template:/# cat /etc/systemd/resolved.conf | ||
</code><code> | </code><code> | ||
Line 889: | Line 911: | ||
</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 935: | Line 960: | ||
root@node1.corpX.un:~# ssh ubuntu@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 967: | Line 993: | ||
<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> | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin6/lin6_mod7_pract.mp4|Запись практикума]] (длительность: 33 минуты) | ||
+ | |||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 979: | Line 1012: | ||
- [[Сервис Ansible#Использование модулей]] Ansible для инсталляции Ceph на node3-7 (в большой группе ставится 45 минут) | - [[Сервис Ansible#Использование модулей]] Ansible для инсталляции Ceph на node3-7 (в большой группе ставится 45 минут) | ||
- [[Ceph - просто добавь узлов!#Шаг 2. Установка и настройка Ceph]] сразу добавить 6-й узел как OSD | - [[Ceph - просто добавь узлов!#Шаг 2. Установка и настройка Ceph]] сразу добавить 6-й узел как OSD | ||
+ | - [[Решение Ceph]] | ||
- [[Сервис 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 986: | Line 1024: | ||
* !!! Методическая рекомендация - СРАЗУ после установки пакетов для ocfs запустить процесс установки пакетов для kvm | * !!! Методическая рекомендация - СРАЗУ после установки пакетов для ocfs запустить процесс установки пакетов для kvm | ||
* [[Сервис OCFS2]] | * [[Сервис OCFS2]] | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin6/lin6_mod9_pract.mp4|Запись практикума]] (длительность: 8 минут) | ||
===== Модуль 10. Система виртуализации KVM ===== | ===== Модуль 10. Система виртуализации KVM ===== | ||
Line 992: | Line 1034: | ||
* Проверить, включена ли [[Технология VirtualBox#Вложенная виртуализация]] в VirtualBox | * Проверить, включена ли [[Технология VirtualBox#Вложенная виртуализация]] в VirtualBox | ||
* [[Технология KVM]] (в большой группе ставится 10 минут) | * [[Технология KVM]] (в большой группе ставится 10 минут) | ||
+ | |||
+ | ==== Практикум ==== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/lin6/lin6_mod10_pract.mp4|Запись практикума]] (длительность: 20 минут) | ||
===== Модуль 11. Тестирование отказоустойчивости ===== | ===== Модуль 11. Тестирование отказоустойчивости ===== | ||
Line 998: | Line 1044: | ||
- Остановить node2 (рекомендуется сперва корректно остановить winxp1) | - Остановить node2 (рекомендуется сперва корректно остановить winxp1) | ||
- запустить node2, убедиться что все ресурсы (winxp1 и server1) запустились (можно node1 и проверить письмо про splitbrain) | - запустить node2, убедиться что все ресурсы (winxp1 и server1) запустились (можно node1 и проверить письмо про splitbrain) | ||
- | |||
- Выяснить, через какой узел подключается [[Сервис multipath]] на node2 по iSCSI к RBD Ceph | - Выяснить, через какой узел подключается [[Сервис multipath]] на node2 по iSCSI к RBD Ceph | ||
- Выполнить для этого узла [[Ceph - просто добавь узлов!#Шаг 4. Сценарий - авария узла]] | - Выполнить для этого узла [[Ceph - просто добавь узлов!#Шаг 4. Сценарий - авария узла]] | ||
+ | |||
+ | * Видео [[Бюджетная безотказная сеть для кластера]] | ||