Кластерные технологии, системы высокой доступности и надежности на основе БД Postgres
Код: PS-CLST
Продолжительность очно: 3 дня
Продолжительность VILT: 3 дня
Формат обучения: очно, Virtual Instructor-Led Training - VILT
О курсе
Курс охватывает весь спектр проблем построения высоконадежных систем, основы горизонтального и вертикального масштабирования систем, построенных на базе PostgreSQL, заканчивая полноценным решение на базе Corosync и Pacemaker.
Практические занятия основаны на реальных примерах и предполагают создание демонстрационного кластера из двух и
трех нод (с кворумом и без), а также моделирование ситуаций, связанных с различными типами сбоев.
Для кого этот курс
Администраторы баз данных Postgres, желающие глубже понимать принципы работы Postgres, а также получить практические навыки по созданию кластерных систем и систем высокой доступности и надежности, построенных на Postgres.
Требуемые знания и навыки
Знакомство с PostgreSQL в объеме курсов PS-DBA1 «Администрирование PostgreSQL. Базовый курс» , PS-DBA2 «Администрирование PostgreSQL 13. Настройка и мониторинг» и PS-DBA3 «Администрирование PostgreSQL 13. Резервное копирование и репликация».
Приобретаемые навыки
Программа
Модуль 1: Введение
-
- История развития Postgres в плане масштабируемости
- Обеспечение согласованности транзакций, механизм его реализации. Различные уровни изолированности
- Понятие кластера
- Типы кластеров
Модуль 2: PostgreSQL с точки зрения кластера
-
- Создание базы данных для отказоустойчивых конфигурации и кластера
- Установка: системные требования, настройка окружения
- Логические и физические структуры PostgreSQL с точки зрения кластера
Модуль 3: Резервное копирование и восстановление
-
-
- Бэкап и восстановление PostgreSQL
- Непрерывное резервное копирование
- Утилиты для непрерывного резервного копирования
- Barman и его настройка
-
Модуль 4: Стратегии масштабирования и архитектура отказоустойчивых систем на PostgreSQL
-
- Проблема производительности
- Проблема высокой доступности и надежности
- Проблема целостности данных
- Отказ узла
- Разделение сети
- Проблема консенсуса
- Кворумные протоколы
- Распределение нагрузки
- Реализации DTM (менеджера распределенных транзакций)
- Внутренние и внешние решения
- Лабораторная работа
Модуль 5: Репликация
-
- Виды репликации
- Streaming Replication (Потоковая репликация)
- Синхронная и Асинхронная репликация
- Логическая репликация и pglogical
- Multi-master
- Настройка, мониторинг и решение различных проблем репликации
- Переключение на реплику (различные ситуации)
- Лабораторная работа
Модуль 6: Шардинг и партиционирование в среде PostgreSQL
-
- Вертикальное и горизонтальное масштабирование
- Виды партиционирования (наследуемое и декларативное), сравнение, плюсы и минусы
- Шардинг, реализация
- Лабораторная работа
Модуль 7: Кластер на основе продуктов Corosync/Pacemaker. Создание и управление
-
- Архитектура Corosync и Pacemaker
- Ресурсы кластера, их параметры и настройки
- Агенты ресурсов
- Active/Passive PostgreSQL Cluster с использованием Pacemaker, Corosync
- Установка, конфигурирование и настройка кластера на основе corosync/pacemaker
- Настройка дополнительных параметров
- Утилиты и команды управления Pacemaker
- Кластер с кворумом и без
- Сплитбрейн (разделение кластера) и настройка fencing
- Администрирование кластера
- Запуск или остановка
- Замена главных и подчиненных ролей между узлами
- Update ресурса (PAF)
- Незначительное обновление PostgreSQL
- Добавление узла
- Виды сбоев на узлах кластера
- Восстановление работоспособности кластера после аварии (Failover) на master node
- Ошибки автоматического восстановления
- Внезапная перезагрузка master узла
- Перестройка слейва если, он долго выключен был
- Восстановление работоспособности ноды кластера после аварии (Failover)после аварии на masternode
- Подготовка для работы с postgresql
- Настройка master
- Настройка standby
- Общие настройки кластера
- Мониторинг состояния кластера с помощью crm_mon
- Виды планового обслуживания
- Выведение из эксплуатации Мастера или Реплики для плановых работ
- Смена ролей Мастера и Реплики
- Promote/Denote ресурсов pacemaker
- Особенности использования виртуальных машин для ОУК
- Лабораторная работа
Модуль 8: Мультиплексоры соединений и балансировщики нагрузки
-
- Программные мультиплексоры соединений для PostgreSQL, виды и принципы работы
- PgBouncer и его настройка
- Сравнение PgPool-II и PgBouncer
- Лабораторная работа
- Использование HAProxy
- Лабораторная работа