Несколько дней новогоднего волшебства:
Успейте начать обучение в 2018-ом году со скидкой до 30%!
Выбрать курс
Проходил 5 октября в 20:00

Открытый вебинар курса "Администратор Linux"
Виртуальная лаборатория на Vagrant

Открытый вебинар онлайн

На протяжении вебинара вы:
1. Научитесь разворачивать виртуальную лабораторию в считанные минуты.
2. Узнаете детальнее о возможностях и нюансах использования Vagrant и Git.

Практика будет полезна как системным инженерам, отвечающим за инфраструктуру, так и разработчикам, которым необходимо получить среду, близкую к состоянию рабочей среды, в которой можно протестировать свои приложения.

Для полноценного вовлечения рекомендуется установить следующее ПО предпочтительно последних версий:

VirtualBox - https://www.virtualbox.org/wiki/Downloads
Git - https://git-scm.com/downloads
Vagrant - https://www.vagrantup.com/downloads.html
Ansible - https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html

Слушателям также предлагается зарегистрироваться на GitHub - https://github.com

Наличие ПО и регистрация на GitHub необязательны, но позволят участникам самостоятельно выполнять действия, демонстрируемые в ходе вебинара.
Преподаватель
Леонид Альбрехт

Запись

О курсе

Администратор Linux
60 000 ₽ 42 000 ₽
5 месяцев
Начало 28 января 2019 года
  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Обучено студентов 100+
...
Программа курса
Модуль 1
Архитектура Linux
Модуль 2
Управление, безопасность и мониторинг
Модуль 3
Linux и сеть
Модуль 4
Сервисы на базе Linux
Модуль 5
Проектная работа
Архитектура Linux
В этом модуле будут разбираться базовые компоненты OS Linux. Будем разбирать, что такое ядро и его модули, загрузчик, процессы, дисковая и файловая системы, inodes и daemons.
Научимся устанавливать и обновлять и восстанавливать OS, управлять загрузкой, создавать и изменять RAID массивы, управлять логическими томами

Проект на весь модуль: делаем свою загрузочную флешку readonly, со своим ядром
С чего начинается Linux
Знакомство.

Обзор базовых инструментов, которые понадобятся в течении курса - ssh и его клиенты, vagrant, git.

Какие версии LInux бывают.
Ядро Linux. Краткое введение. Syscalls.
Версии ядра. Обновление ядра. Ручная сборка ядра.
Модули ядра. Команды: modprobe, lsmod, rmmod.

Лабораторная работа. Установка с образа, обновление ядра, включение/выключение модулей.
28 января, 20:00 — 21:30
Домашние задания: 1
ДЗ
Делаем собственную сборку ядра. Взять любую версию ядра с kernel.org
Подложить файл конфигурации ядра
Собрать ядро (попутно доставляя необходимые пакеты)
Прислать результирующий файл конфигурации
Прислать списк доустановленных пакетов, взять его можно из /var/log/yum.log
Устанавливать будем на следующем занятии =)
Дисковая подсистема
Программный и аппаратный RAID. Получение информации о дисковой системе системе с помощью dmidecode, dmesg, smartctl.

MBR и GPT. Команды gdisk/fdisk/parted/partprobe.

Лабораторная работа: управление рейд массивом с помощью mdadm: создание, съем информации. Разбиваем на партиции.
31 января, 20:00 — 21:30
Домашние задания: 1
ДЗ
работа с mdadm. . добавить в Vagrantfile еще дисков
сломать/починить raid
собрать R0/R5/R10 на выбор
прописать собранный рейд в конф, чтобы рейд собирался при загрузке
создать GPT раздел и 5 партиций

в качестве проверки принимаются - измененный Vagrantfile, скрипт для создания рейда, конф для автосборки рейда при загрузке
* доп. задание - Vagrantfile, который сразу собирает систему с подключенным рейдом
Файловые системы и LVM
LVM - облегчаем себе жизнь управления файловыми системами.
архитектура файловой системы Linux: суперблок, блоки, inodes, журналы.
разбираемся в многообразии файловых систем: ext2/3/4, xfs, raiserfs, btrfs, zfs, cephfs

Лабораторная работа: создаем и меняем размеры томов LVM и файловых систем. Знакомимся с mount, mkfs, fsck, resize2fs, /etc/fstab
4 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Работа с LVM. на имеющемся образе
/dev/mapper/VolGroup00-LogVol00 38G 738M 37G 2% /

уменьшить том под / до 8G
выделить том под /home
выделить том под /var
/var - сделать в mirror
/home - сделать том для снэпшотов
прописать монтирование в fstab
попробовать с разными опциями и разными файловыми системами ( на выбор)
- сгенерить файлы в /home/
- снять снэпшот
- удалить часть файлов
- восстановится со снэпшота
- залоггировать работу можно с помощью утилиты script

* на нашей куче дисков попробовать поставить btrfs/zfs - с кешем, снэпшотами - разметить здесь каталог /opt
Загрузка системы
Как происходит загрузка системы. В чем разница между BIOS/UEFI. Знакомимся GRUB2 и учимся его настраивать. Управляем initrd с помощью dracut. Знакомимся с udev. Учимся восстанавливать сломанный загрузчик

Лабораторная работа: прописываем в grub несколько конфигураций с разными ядрами. Ставим хук в initrd
7 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Работа с загрузчиком. 1. Попасть в систему без пароля несколькими способами
2. Установить систему с LVM, после чего переименовать VG
3. Добавить модуль в initrd

4(*). Сконфигурировать систему без отдельного раздела с /boot, а только с LVM
Репозиторий с пропатченым grub: https://yum.rumyantsev.com/centos/7/x86_64/
PV необходимо инициализировать с параметром --bootloaderareasize 1m
Bash, awk, sed, grep и другие
Изучаем основные рабочие инструменты системного администратора. Базовое программирование. Переменные, условия, циклы, однострочники.
Знакомимся с командами интерпретатора bash.
Знакомимся с командами awk/sed/grep/egrep/cut/find/sort/uniq и другими

Лабораторная работа: пишем скрипт
11 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Пишем скрипт. подготовить свои скрипты для решения следующих кейсов
1) watchdog с перезагрузкой процесса/сервиса
2) watchdog с отсылкой емэйла
3) анализ логов веб сервера/security лога - (на взлом/скорость ответа/выявление быстрых - медленных запросов, анализ IP адресов и кол-ва запросов от них)
4) крон скрипт с защитой от мультизапуска
5) любой скрипт на ваше усмотрение

желательно чтобы в скрипте были
циклы
условия
регекспы
awk
наличие в скрипте трапов и функций
Инициализация системы. Systemd и SysV.
Учимся писать сценарии автозагрузки демонов. Изучаем разницу между systemd и SysV. учимся обращаться с systemctl и journalctl.

Лабораторная работа: сценарии автозапуска под systemd и Sys.V
14 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Systemd. 1. Написать сервис, который будет раз в 30 секунд мониторить лог на предмет наличия ключевого слова. Файл и слово должны задаваться в /etc/sysconfig
2. Из epel установить spawn-fcgi и переписать init-скрипт на unit-файл. Имя сервиса должно так же называться.
3. Дополнить юнит-файл apache httpd возможностьб запустить несколько инстансов сервера с разными конфигами
4*. Скачать демо-версию Atlassian Jira и переписать основной скрипт запуска на unit-файл
Управление процессами
Рассмотрим, что такое процесс, его атрибуты, жизненный цикл процесса.
Чем потоки отличаются от процессов.
Узнаем как мониторить процессы, в каком они состоянии, понимать чем они сейчас заняты.
Рассмотрим команды ps/top, подсистему /proc, а также команды gdb/strace/ltrace
Научимся менять приоритеты с мощью команд nice, ionice
Научимся посылать различные сигналы процессам.
18 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
работаем с процессами. Задания на выбор
1) написать свою реализацию ps ax используя анализ /proc
- Результат ДЗ - рабочий скрипт который можно запустить
2) написать свою реализацию lsof
- Результат ДЗ - рабочий скрипт который можно запустить
3) дописать обработчики сигналов в прилагаемом скрипте, оттестировать, приложить сам скрипт, инструкции по использованию
- Результат ДЗ - рабочий скрипт который можно запустить + инструкция по использованию и лог консоли
4) реализовать 2 конкурирующих процесса по IO. пробовать запустить с разными ionice
- Результат ДЗ - скрипт запускающий 2 процесса с разными ionice, замеряющий время выполнения и лог консоли
5) реализовать 2 конкурирующих процесса по CPU. пробовать запустить с разными nice
- Результат ДЗ - скрипт запускающий 2 процесса с разными nice и замеряющий время выполнения и лог консоли
Управление пакетами. Дистрибьюция софта.
Как устанавливать софт в Linux. Как собирать из исходников. Репозитории, yum и rpm.
Docker как средство дистрибьюции, преимущества и недостатки.

Лабораторная работа: Будем настраивать собственные репозитории и создавать собственные rpm'ки.
21 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Размещаем свой RPM в своем репозитории. 1) создать свой RPM (можно взять свое приложение, либо собрать к примеру апач с определенными опциями)
2) создать свой репо и разместить там свой RPM
реализовать это все либо в вагранте, либо развернуть у себя через nginx и дать ссылку на репо

* реализовать дополнительно пакет через docker
Управление, безопасность и мониторинг
В этом модуле мы рассмотрим задачи и рабочие инструменты для управления системой, обеспечения безопасности, контроля прав и доступов. Также мы рассмотрим инструменты для мониторинга, логгирования и анализа проблем производительности и сбоев. Будем учится решать проблемы и производить ретроспективный анализ.
Автоматизация администрирования. Ansible.
Автоматизируем рутинные задачи администрирования. Изучаем ansible - хосты, модули, плейбуки, роли, переменные. Знакомися с другими инструментами - chef/puppet/salt.

Лабораторная работа: пишем скрипт для апгрейда системы после установки и измения конфигов.
25 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Первые шаги с Ansible. Подготовить стенд на Vagrant как минимум с одним сервером. На этом сервере используя Ansible необходимо развернуть nginx со следующими условиями:
- необходимо использовать модуль yum/apt
- конфигурационные файлы должны быть взяты из шаблона jinja2 с перемененными
- после установки nginx должен быть в режиме enabled в systemd
- должен быть использован notify для старта nginx после установки
- сайт должен слушать на нестандартном порту - 8080, для этого использовать переменные в Ansible
* Сделать все это с использованием Ansible роли

Домашнее задание считается принятым, если:
- предоставлен Vagrantfile и готовый playbook/роль ( инструкция по запуску стенда, если посчитаете необходимым )
- после запуска стенда nginx доступен на порту 8080
- при написании playbook/роли соблюдены перечисленные в задании условия
Пользователи и группы. Авторизация и аутентификация
рассмотрим механизмы авторизации и аутентификации. Узнаем какие бывают права у пользовталей. Научимся управлять правами с помощью sudo, umask. sgid, suid и более сложными инструментами как PAM и ACL, PolicyKit

Лабораторная работа: даем пользователю A возможность запускать скрипт, принадлежащий пользователю B
28 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
PAM. 1. Запретить всем пользователям, кроме группы admin логин в выходные и праздничные дни
2. Дать конкретному пользователю права рута
LDAP. Централизованная авторизация и аутентификация.
Что такое LDAP и зачем нужен. Разбираем базовую настройку LDAP на примере.
4 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
LDAP. 1. Установить FreeIPA
2. Написать playbook для конфигурации клиента
3*. Настроить авторизацию по ssh-ключам

В git - результирующий playbook
Мониторинг производительности
Мониторим занятые ресурсы: CPU, память, диск, сеть.
Изучаем инструменты ps, top , sar, htop, atop, netstat, ss, vmstat, iostat, iotop, pidstat
Смотрим, что находится в /proc
Узнаем, что делать с неотзывчивой системой
7 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
Linux Troubleshooting. 1. Написать playbook для первоначальной настройки хоста после инсталляции по всем прошедшим лекциям
- установка нужных инструментов для анализа и траблшутинга
- избавление ядра и сетевых настроек от "десктопности"
- установка разнообразных параметров ядра под работу в качестве сервера
2. Опубликовать ссылку на плейбук в общем чатике
3. Взять любой опубликованный плейбук, прокомментировать.
SELinux - когда все запрещено.
Разбираемся, что такое SELinux
11 марта, 20:00 — 21:30
Сбор и анализ логов.
Разбираем настройку логгирования с помощью rsyslog и logrotate.
Знакомимся с модными система логгирования - ELK, graylog
14 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
Настраиваем центральный сервер для сбора логов. в вагранте поднимаем 2 машины web и log
на web поднимаем nginx
на log настраиваем центральный лог сервер на любой системе на выбор
- journald
- rsyslog
- elk
настраиваем аудит следящий за изменением конфигов нжинкса

все критичные логи с web должны собираться и локально и удаленно
все логи с nginx должны уходить на удаленный сервер (локально только критичные)
логи аудита уходят ТОЛЬКО на удаленную систему


* развернуть еще машину elk
и таким образом настроить 2 центральных лог системы elk И какую либо еще
в elk должны уходить только логи нжинкса
во вторую систему все остальное
Мониторинг и алертинг
Изучаем Zabbix. Знакомимся с Prometheus
18 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
Настройка мониторинга. Настроить дашборд с 4-мя графиками
1) память
2) процессор
3) диск
4) сеть

настроить на одной из систем
- zabbix (использовать screen (комплексный экран))
- prometheus - grafana

* использование систем примеры которых не рассматривались на занятии
- список возможных систем был приведен в презентации

в качестве результата прислать скриншот экрана - дашборд должен содержать в названии имя приславшего
Резервное копирование.
Обсуждаем политики и методики резерного копирования. Работаем с инструментами rsync, tar, dd и bacula.
21 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
Настраиваем бэкапы. Настроить стенд Vagrant с двумя виртуальными машинами server и client.

Настроить политику бэкапа директории /etc с клиента:
1) Полный бэкап - раз в день
2) Инкрементальный - каждые 10 минут
3) Дифференциальный - каждые 30 минут

Запустить систему на два часа. Для сдачи ДЗ приложить list jobs, list files jobid=<id>
и сами конфиги bacula-*

* Настроить доп. Опции - сжатие, шифрование, дедупликация
Linux и сеть
Настраиваем и работаем с сетью в Linux. От хоста до маршрутизатора и брандмауэра.
Архитектура сетей.
Обзор Модели OSI. Протоколы ARP, IP, TCP/UDP. Протоколы прикладного уровня. Сетевые интерфейсы в Linux.
Освоим команды ip/tc/ss/nstat, вспомним ifconfig/netstat/route, заглянем в /etc/sysconfig/network-scripts, поснифферим через tcpdump и ngrep

Лабораторная работа: строим маршрутизацию между подсетями
25 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
разворачиваем сетевую лабораторию.
# otus-linux
Vagrantfile - для стенда урока 9 - Network

# Дано
https://github.com/erlong15/otus-linux/tree/network
(ветка network)

Vagrantfile с начальным построением сети
- inetRouter
- centralRouter
- centralServer

тестировалось на virtualbox

# Планируемая архитектура
построить следующую архитектуру

Сеть office1
- 192.168.2.0/26 - dev
- 192.168.2.64/26 - test servers
- 192.168.2.128/26 - managers
- 192.168.2.192/26 - office hardware

Сеть office2
- 192.168.1.0/25 - dev
- 192.168.1.128/26 - test servers
- 192.168.1.192/26 - office hardware


Сеть central
- 192.168.0.0/28 - directors
- 192.168.0.32/28 - office hardware
- 192.168.0.64/26 - wifi

```
Office1 ---\
-----> Central --IRouter --> internet
Office2----/
```
Итого должны получится следующие сервера
- inetRouter
- centralRouter
- office1Router
- office2Router
- centralServer
- office1Server
- office2Server

# Теоретическая часть
- Найти свободные подсети
- Посчитать сколько узлов в каждой подсети, включая свободные
- Указать broadcast адрес для каждой подсети
- проверить нет ли ошибок при разбиении

# Практическая часть
- Соединить офисы в сеть согласно схеме и настроить роутинг
- Все сервера и роутеры должны ходить в инет черз inetRouter
- Все сервера должны видеть друг друга
- у всех новых серверов отключить дефолт на нат (eth0), который вагрант поднимает для связи
- при нехватке сетевых интервейсов добавить по несколько адресов на интерфейс



DNS/DHCP - настройка и обслуживание
Настраиваем DHCP
Узнаем как завести домен
Как управлять зонами (bind/powerdns)
Как обслуживать свой домен самостоятельно
Разбираем dig/host/nslookup
Лабораторная работа: настраиваем свой кеширующий днс (мастер/слейв) со своей локальной зоной
28 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
настраиваем split-dns. взять стенд https://github.com/erlong15/vagrant-bind
добавить еще один сервер client2
завести в зоне dns.lab
имена
web1 - смотрит на клиент1
web2 смотрит на клиент2

завести еще одну зону newdns.lab
завести в ней запись
www - смотрит на обоих клиентов

настроить split-dns
клиент1 - видит обе зоны, но в зоне dns.lab только web1

клиент2 видит только dns.lab

*) настроить все без выключения selinux
Фильтрация трафика
Углубляемся в iptables/firewalld
разбираем цепочки и таблицы
учимся правильно защищать свою сеть
строим NAT, проксируем трафик, пробрасываем порты
Лабораторная работа: защищаем веб сервер от DOS атак
1 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Сценарии iptables. 1) реализовать knocking port
- centralRouter может попасть на ssh inetrRouter через knock скрипт
пример в материалах
2) добавить inetRouter2, который виден(маршрутизируется) с хоста
3) запустить nginx на centralServer
4) пробросить 80й порт на inetRouter2 8080
5) дефолт в инет оставить через inetRouter
Мосты, туннели и VPN
Разбираемся в терминах и протоколах - что такое мосты, туннели, VPN, PPP, PPTP, PPoE, IPoE, GRE, IPIP, IpSec, L2TP.
Строим VPN между линуксами, разбираем нюансы подключения к Cisco и Mikrotik.
Лабораторная работа: VPN через openvpn
4 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
VPN. 1. Между двумя виртуалками поднять vpn в режимах
- tun
- tap
Прочуствовать разницу.

2. Поднять RAS на базе OpenVPN с клиентскими сертификатами, подключиться с локальной машины на виртуалку

3*. Самостоятельно изучить, поднять ocserv и подключиться с хоста к виртуалке
Сетевые пакеты. VLAN'ы. LACP.
Изучаем UniCast/MultiCast/BroadCast/AnyCast.
Изучаем протокол LACP. Учимся аггрегировать интерфейсы через teaming и bonding.
Разбираемся что такое VLAN. Знакомимся с dot1q, macvlan
Осваиваем работу с nmcli
Лабораторная работа: аггрегируем интерфейсы в режиме active/active и failover
8 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
строим бонды и вланы. в Office1 в тестовой подсети появляется сервера с доп интерфесами и адресами
в internal сети testLAN
- testClient1 - 10.10.10.254
- testClient2 - 10.10.10.254
- testServer1- 10.10.10.1
- testServer2- 10.10.10.1

равести вланами
testClient1 <-> testServer1
testClient2 <-> testServer2

между centralRouter и inetRouter
"пробросить" 2 линка (общая inernal сеть) и объединить их в бонд
проверить работу c отключением интерфейсов

для сдачи - вагрант файл с требуемой конфигурацией
Разворачиваться конфигурация должна через ансибл

Статическая и динамическая маршрутизация
настраиваем простые маршруты с помощью route/ip/nmcli
разбираем что такое RIP/OSPF/BGP
настраиваем динамическую маршрутизацию с помощью bird и quagga
Лабораторная работа: настройка OSPF между 3мя сетями
11 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
OSPF. - Поднять три виртуалки
- Объединить их разными vlan
1. Поднять OSPF между машинами на базе Quagga
2. Изобразить ассиметричный роутинг
3. Сделать один из линков "дорогим", но что бы при этом роутинг был симметричным

Формат сдачи:
Vagrantfile + ansible
Сервисы на базе Linux
Мы научимся как запускать настраивать и поддерживать в Linux такие сервисы как WEB, почта, файловые хранилища, базы данных
Web сервера
Изучаем протоколы HTTP/HTTPS, HTTP 2.0
Разбираемся с SSL
Устанавливаем и настраиваем Apache и Nginx
Настраиваем vhosts
15 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Простая защита от DDOS. Написать конфигурацию nginx, которая даёт доступ клиенту только с определенной cookie.
Если у клиента её нет, нужно выполнить редирект на location, в котором кука будет добавлена, после чего клиент будет обратно отправлен (редирект) на запрашиваемый ресурс.

Смысл: умные боты попадаются редко, тупые боты по редиректам с куками два раза не пойдут

Для выполнения ДЗ понадобятся
https://nginx.org/ru/docs/http/ngx_http_rewrite_module.html
https://nginx.org/ru/docs/http/ngx_http_headers_module.html
Динамический веб контент
разбираем CGI/FCGI/WSGI/mod_xxx
настраиваем uwsgi/php_fpm
разбираемся с python/perl/php/ruby
18 апреля, 20:00 — 21:30
Почта: SMTP, IMAP, POP3
разбираем почтовые протоколы.
Устанавливаем и настраиваем Postfix и Dovecot
22 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
установка почтового сервера. 1. Установить в виртуалке postfix+dovecot для приёма почты на виртуальный домен любым обсужденным на семинаре способом
2. Отправить почту телнетом с хоста на виртуалку
3. Принять почту на хост почтовым клиентом

Результат
1. Полученное письмо со всеми заголовками
2. Конфиги postfix и dovecot

Всё это сложить в git, ссылку прислать в "чат с преподавателем"
Почта: безопасность и другие задачи
25 апреля, 20:00 — 21:30
PostgreSQL
Учимся администрировать PostgreSQL
Установка, настройка, создаем пользователей и роли
выдаем права, создаем базы,
мониторим, делаем бэкапы
29 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
PostgreSQL. - Настроить hot_standby репликацию с использованием слотов
- Настроить правильное резервное копирование

Для сдачи присылаем postgresql.conf, pg_hba.conf и recovery.conf
А так же конфиг barman, либо скрипт резервного копирования
PostgreSQL cluster
настраиваем кластер PostgreSQL
2 мая, 20:00 — 21:30
Mysql
Учимся администрировать mysql
Устанавливаем, запускаем, мониторим
Создаем схемы, делаем простые запросы
Учимся делать бэкап и репликацию
6 мая, 20:00 — 21:30
Домашние задания: 1
ДЗ
развернуть базу из дампа и настроить репликацию. В материалах приложены ссылки на вагрант для репликации
и дамп базы bet.dmp
базу развернуть на мастере
и настроить чтобы реплицировались таблицы
| bookmaker |
| competition |
| market |
| odds |
| outcome

* Настроить GTID репликацию

варианты которые принимаются к сдаче
- рабочий вагрантафайл
- скрины или логи SHOW TABLES
* конфиги
* пример в логе изменения строки и появления строки на реплике
MySQL - бэкап, репликация, кластер
Настраиваем политику инкрементального бэкапа
Настраиваем GTID репликацию и кластер с proxysql
Настраиваем NDB кластер
9 мая, 20:00 — 21:30
Домашние задания: 1
ДЗ
простая связь через sip/pjsip. установить астериск на сервере
для ус тановки воспользоваться ролью https://github.com/erlong15/tls-asterisk14-ansible
при установке создаются 3 номер 1100, 1101, 1102
подключить два телефона (можно использовать transport-tls, transport-udp, transport-tcp)
сделать звонок
в качестве ДЗ принимается лог SIP сессии

при использовании вагранта и внешних телефонов можно использовать варианты
- виртуалки с телефонами в одной приват сети с астериском
- бридж интерфейс для проброса во вне
Redis, Memcached, RabbitMQ
Разбираем что это такое и зачем нужны эти сервисы.
Устанавливаем и настраиваем их
Запускаем в работу.
13 мая, 20:00 — 21:30
Файловые хранилища - NFS, SMB, FTP
Строим файловое хранилище на основе Linux
16 мая, 20:00 — 21:30
Домашние задания: 1
ДЗ
Vagrant стенд для NFS или SAMBA. NFS или SAMBA на выбор:

vagrant up должен поднимать 2 виртуалки: сервер и клиент
на сервер должна быть расшарена директория
на клиента она должна автоматически монтироваться при старте (fstab или autofs)
в шаре должна быть папка upload с правами на запись
- требования для NFS: NFSv3 по UDP, включенный firewall

* Настроить аутентификацию через KERBEROS
Проектная работа
Будем учится строить высокодоступные кластера, настраивать балансировщики, динамические адреса, общие хранилища.


В течении модуля делаем курсовой проект. Создаем скрипты деплоя HA кластера на виртуалках. На кластере разворачиваем либо собственный веб проект, либо веб проект коллег с других курсов. Также приветствуются разворачивание любых систем, например: gitlab, wordpress, youtrack, bigbluebutton и других на ваш выбор
Балансировка нагрузки на основе HAproxy и VRRP (keepalived)
Изучаем протокол VRRP
Изучаем работу с haproxy
Настраиваем балансировку для вебсерверов
Разбираем конфиги
Проверяем работу балансировки на стенде
20 мая, 20:00 — 21:30
строим кластер - Pacemaker, Corosync, Heartbeat
23 мая, 20:00 — 21:30
ISCSI, multipath и кластерные файловые системы: GFS2
настраиваем ISCSI
настраиваем multipath

Лабораторная работа: разбираем работу системы на стенде, 2 таргета, 2 клиента, общая файловая система
27 мая, 20:00 — 21:30
Распределенные файловые системы: CEPH
30 мая, 20:00 — 21:30
Распределенные файловые системы: GlusterFS
3 июня, 20:00 — 21:30
Контейнеры - cgroups, LXC, docker
6 июня, 20:00 — 21:30
Docker
разбираем как писать Dockerfile
создаем docker-compose
запускаем docker swarm
10 июня, 20:00 — 21:30
Итоговое занятие
обсуждение вопросов
обсуждение проекта
13 июня, 20:00 — 21:30

Преподаватель

Леонид Альбрехт
RusLink
Системный инженер в холдинге компаний RusLink.
Опыт в отрасли более 10 лет. Работал как в частном секторе, так и в окологосударственном (Ростелеком).
Участвовал в разработке и внедрении новых продуктов и сервисов. Есть опыт в руководстве отделом тех. поддержки и администрирования.

Профессиональные навыки:
- знание современных клиентских и серверных ОС;
- установка и настройка различных СУБД (MS SQL, PostgreSQL, MySQL, MariaDB);
- администрирование веб-серверов Apache, Nginx;
- виртуализация и знание продуктов VMware, VirtualBox, Proxmox, Vagrant;
- написание скриптов на Bash;
- применение Ansible;
- знание активного сетевого оборудования Mikrotik, D-Link и др.
Преподаватель курсов:
Администратор Linux