Updated tasks

pull/1/head^2
Vladimir Protsenko 1 year ago
parent e428e1833c
commit c5db7a0a2e

@ -0,0 +1,3 @@
# Экзаменационное задание для портфолио 1
Подготовьте PXE boot сервер, который позволяет установить Debian по сети. Продемонстрируйте на чистой виртуальной машине, поключенной к той же сети, что установка завершается успешно.

@ -0,0 +1,44 @@
# Экзаменационное задание для портфолио 2
Подготовьте демонстрацию работы nginx сервиса в режиме высокой доступности. Согласно схеме, сделайте так, что nginx на studX проксирует:
- все запросы по адресу `/ha/1/` узлу `gwX` для демонстрации работы сайта в режиме высокой доступности настроенном с помощью модуля `ngx_http_upstream_module`,
- все запросы по адресу `/ha/2/` узлу `10.160.179.140+X` для демонстрации работы сайта в режиме высокой доступности настроенном с помощью `keepalived`.
```
________
| |
| клиент | (ноутбук)
|________|
|
роутер public IP 193.32.63.170+X:[22,80,443] -> private IP 10.160.179.10+X:[22,80,443]
|
_______|_______
| |
| studX |---------------------------+-------------------+
|_______________| | | 10.160.179.25/24 в роли virtual IP
| | ens18 | ens18
| ens18 в vlan499 ___________ ___________
_______|_______ | | | |
| | | nginx 3 | | nginx 4 |
| gwX | |___________| |___________|
|_______________| | ens19 в vlan X | ens19 в vlan X
| ens19 в vlan X | 192.168.0.11/24 | 192.168.0.12/24
| IP 192.168.0.1/24 +-------------------+
+---------+--------+
| 192.168.0.2/24 | 192.168.0.3/24
___________ ___________
| | | |
| nginx 1 | | nginx 2 |
|___________| |___________|
```
На узлах ngix1 - nginx4 с помощью таймеров systemd каждую минуту должны происходить перезагрузки в определённый момент времени.
Схема доступности сайта для узлов nginx1 и nginx2:
| Время | nginx1 | nginx 2|
|-------|--------|--------|
|0-10|True|True|
|10-25||True|
|25-35|True|True|
|35-50|True||
|50-60|True|True|

@ -9,4 +9,34 @@
7. Где можно посмотреть документацию keepalived? 7. Где можно посмотреть документацию keepalived?
8. Требуется ли прокси-сервер для работы виртуального IP адреса? 8. Требуется ли прокси-сервер для работы виртуального IP адреса?
9. В каком файле хранится конфигурация keepalived? 9. В каком файле хранится конфигурация keepalived?
10. В каком конфигурационном файле nginx можно прописать блок upstream? 10. В каком конфигурационном файле nginx можно прописать блок upstream?
11. В чём назначение sorry_server?
12. Какую задачу позволяет решить Linux Virtual Server?
13. В чём отличие LVS от VRRP?
14. Что настраивает параметр `virtual_server -> real_server -> CHECKER_TYPE`?
15. Приведите несколько возможных типов проверок доступности узла LVS.
16. Как связаны команда `ipvsadm` и `keepalived`?
17. Для чего может быть полезен расширенный синтаксис конфигурации `keepalived.conf`?
18. Какие три класса скриптов могут быть сконфигурированы в `keepalived.conf`?
19. По умолчанию от имени какого пользователя будут выполняться скрипты?
20. Какие 4 типа конфигурационных блоков доступны в `keepalived.conf`?
21. Какую задачу решает протокол BFD?
22. Опишите работу алгоритма BFS.
23. Как связаны VRRP приоритеты и состояние BFD инстанса?
24. Что хранится в параметре `bfd_instance -> multiplier`?
25. Чем отличаются активный и пассивный режимы BFD?
26. Для чего нужны параметры `rise` и `fall` в блоке `vrrp_script`?
27. Для чего с практической точки зрения могут понадобиться vrrp группы синхронизации?
28. Какая связь между `vrrp_instance` и сетевым интерфейсом: 1 к 1, многие к 1, 1 ко многим, многие к многим?
29. Как определяется начальное состоянием vrrp инстанса и как оно меняется со временем в зависимости от приоритета?
30. Содержат ли vrrp пакеты оповещения приоритет и идентификатор роутера?
31. Как часто передаются пакеты оповещения?
32. Что происходит, если оба `keepalived vrrp_instance` на разных узлах заявляют в пакетах оповещения об одинаковом приоритете?
33. Каковы последствия появления ситуации split-brain для сервиса высокой доступности `keepalived`?
34. Передаёт ли vrrp инстанс в состоянии BACKUP пакеты оповещения?
35. Для чего нужны параметры: track_process, track_file, track_bfd?
36. В каком блоке можно сконфигурировать маршруты, удаляемые из таблицы маршрутизации при переходе в состояние BACKUP?
37. Можно ли добавить/удалить правила сетевого фильтра при смене состояний: MASTER->BACKUP,BACKUP->MASTER?
38. Можно ли настроить `keepalived` для балансировки трафика?
39. Для чего нужен планировщик LVS?
40. Из чего состоит кворум LVS? Может ли размер кворума меняться во времени?

@ -165,6 +165,7 @@ fi
# Релевантные источники # Релевантные источники
- https://nginx.org/ru/docs/http/ngx_http_upstream_module.html - https://nginx.org/ru/docs/http/ngx_http_upstream_module.html
- https://ru.wikipedia.org/wiki/VRRP - https://ru.wikipedia.org/wiki/VRRP
- https://keepalived.readthedocs.io/en/latest/ - `man keepalived.conf`, https://www.keepalived.org/manpage.html (на данный момент лучшая документация, идеально отражающая и документирующая все доступные функции)
- https://keepalived.readthedocs.io/en/latest/ (эта документация является устаревшей, поскольку является частичной и не отражает полный набор доступных функций)
- https://datatracker.ietf.org/doc/html/rfc2338 - https://datatracker.ietf.org/doc/html/rfc2338
- http://www.austintek.com/LVS/LVS-HOWTO/mini-HOWTO/LVS-mini-HOWTO.html - http://www.austintek.com/LVS/LVS-HOWTO/mini-HOWTO/LVS-mini-HOWTO.html
Loading…
Cancel
Save