Проходил 20 апреля 2018 года в 20:00

День открытых дверей
Администратор Linux

День открытых дверей онлайн

Хотите узнать, почему OTUS – больше, чем просто образовательный портал?
Как OTUS дает возможность стать частью сообщества профессионалов и сделать новый шаг по карьерной лестнице?
Почему учиться – не обязанность, а удовольствие и почему тесное сплетение теории и практики в обучении дает эффект синергии?
Приходите к нам на День Открытых Дверей. Формат проведения – онлайн – подключиться можно из любой точки мира!

Запись

О курсе

Администратор Linux
60 000 ₽
5 месяцев
Начало 23 апреля
  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
  • {% safe_chunk 'lessons:visit_card_center-15' %}
...
Программа курса
Модуль 1
Архитектура Linux
Модуль 2
Управление, безопасность и мониторинг
Модуль 3
Linux и сеть
Модуль 4
Сервисы на базе Linux
Модуль 5
Проектная работа
Архитектура Linux
В этом модуле будут разбираться базовые компоненты OS Linux. Будем разбирать, что такое ядро и его модули, загрузчик, процессы, дисковая и файловая системы, inodes и daemons.
Научимся устанавливать и обновлять и восстанавливать OS, управлять загрузкой, создавать и изменять RAID массивы, управлять логическими томами

Проект на весь модуль: делаем свою загрузочную флешку readonly, со своим ядром
С чего начинается Linux
познакомиться с программой и группой,
объяснить, как работает ядро,
обновить ядро
Домашние задания: 1
ДЗ
Делаем собственную сборку ядра. Взять любую версию ядра с kernel.org
Подложить файл конфигурации ядра
Собрать ядро (попутно доставляя необходимые пакеты)
Прислать результирующий файл конфигурации
Прислать списк доустановленных пакетов, взять его можно из /var/log/yum.log
Устанавливать будем на следующем занятии =)
Дисковая подсистема
перечислить виды RAID массивов и их отличия,
получить информацию о дисковой подсистеме на любом сервере с ОС Linux,
собрать программный рейд и восстановить его после сбоя
30 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
работа с mdadm. . добавить в Vagrantfile еще дисков
сломать/починить raid
собрать R0/R5/R10 на выбор
прописать собранный рейд в конф, чтобы рейд собирался при загрузке
создать GPT раздел и 5 партиций

в качестве проверки принимаются - измененный Vagrantfile, скрипт для создания рейда, конф для автосборки рейда при загрузке
* доп. задание - Vagrantfile, который сразу собирает систему с подключенным рейдом
** перенесети работающую систему с одним диском на RAID 1. Даунтайм на загрузку с нового диска предполагается. В качестве проверики принимается вывод команды lsblk до и после и описание хода решения (можно воспользовать утилитой Script).
Файловые системы и LVM
LVM - облегчаем себе жизнь управления файловыми системами.
архитектура файловой системы Linux: суперблок, блоки, inodes, журналы.
разбираемся в многообразии файловых систем
7 мая, 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
Bash, awk, sed, grep и другие
писать скрипты на языка bash
14 мая, 20:00 — 21:30
Домашние задания: 1
ДЗ
Пишем скрипт. написать скрипт для крона
который раз в час присылает на заданную почту
- X IP адресов (с наибольшим кол-вом запросов) с указанием кол-ва запросов c момента последнего запуска скрипта
- Y запрашиваемых адресов (с наибольшим кол-вом запросов) с указанием кол-ва запросов c момента последнего запуска скрипта
- все ошибки c момента последнего запуска
- список всех кодов возврата с указанием их кол-ва с момента последнего запуска
в письме должно быть прописан обрабатываемый временной диапазон
должна быть реализована защита от мультизапуска
Управление процессами
Рассмотрим, что такое процесс, его атрибуты, жизненный цикл процесса.
Чем потоки отличаются от процессов.
Узнаем как мониторить процессы, в каком они состоянии, понимать чем они сейчас заняты.
Рассмотрим команды ps/top, подсистему /proc, а также команды gdb/strace/ltrace
Научимся менять приоритеты с мощью команд nice, ionice
Научимся посылать различные сигналы процессам.
17 мая, 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 как средство дистрибьюции, преимущества и недостатки.
21 мая, 20:00 — 21:30
Домашние задания: 1
ДЗ
Размещаем свой RPM в своем репозитории. 1) создать свой RPM (можно взять свое приложение, либо собрать к примеру апач с определенными опциями)
2) создать свой репо и разместить там свой RPM
реализовать это все либо в вагранте, либо развернуть у себя через nginx и дать ссылку на репо

* реализовать дополнительно пакет через docker
Загрузка системы
Как происходит загрузка системы. В чем разница между BIOS/UEFI. Знакомимся GRUB2 и учимся его настраивать. Управляем initrd с помощью dracut. Знакомимся с udev. Учимся восстанавливать сломанный загрузчик
24 мая, 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
Инициализация системы. Systemd и SysV.
Учимся писать сценарии автозагрузки демонов. Изучаем разницу между systemd и SysV. учимся обращаться с systemctl и journalctl.
28 мая, 20:00 — 21:30
Лектор: Александр Румянцев
Домашние задания: 1
ДЗ
Systemd. 1. Написать сервис, который будет раз в 30 секунд мониторить лог на предмет наличия ключевого слова. Файл и слово должны задаваться в /etc/sysconfig
2. Из epel установить spawn-fcgi и переписать init-скрипт на unit-файл. Имя сервиса должно так же называться.
3. Дополнить юнит-файл apache httpd возможностьб запустить несколько инстансов сервера с разными конфигами
4*. Скачать демо-версию Atlassian Jira и переписать основной скрипт запуска на unit-файл
Задание необходимо сделать с использованием Vagrantfile и proviosioner shell (или ansible, на Ваше усмотрение)
Управление, безопасность и мониторинг
В этом модуле мы рассмотрим задачи и рабочие инструменты для управления системой, обеспечения безопасности, контроля прав и доступов. Также мы рассмотрим инструменты для мониторинга, логгирования и анализа проблем производительности и сбоев. Будем учится решать проблемы и производить ретроспективный анализ.
Автоматизация администрирования. Ansible.
Автоматизируем рутинные задачи администрирования. Изучаем ansible - хосты, модули, плейбуки, роли, переменные. Знакомися с другими инструментами - chef/puppet/salt.

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

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

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

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

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

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

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

в качестве результата прислать скриншот экрана - дашборд должен содержать в названии имя приславшего
Сбор и анализ логов.
Разбираем настройку логгирования с помощью rsyslog и logrotate.
Знакомимся с модными система логгирования - ELK, graylog
18 июня, 20:00 — 21:30
Домашние задания: 1
ДЗ
Настраиваем центральный сервер для сбора логов. в вагранте поднимаем 2 машины web и log
на web поднимаем nginx
на log настраиваем центральный лог сервер на любой системе на выбор
- journald
- rsyslog
- elk
настраиваем аудит следящий за изменением конфигов нжинкса

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


* развернуть еще машину elk
и таким образом настроить 2 центральных лог системы elk И какую либо еще
в elk должны уходить только логи нжинкса
во вторую систему все остальное
Мониторинг производительности
Мониторим занятые ресурсы: CPU, память, диск, сеть.
Изучаем инструменты ps, top , sar, htop, atop, netstat, ss, vmstat, iostat, iotop, pidstat
Смотрим, что находится в /proc
Узнаем, что делать с неотзывчивой системой
21 июня, 20:00 — 21:30
Лектор: Александр Румянцев
Docker
разбираем как писать Dockerfile
создаем docker-compose
запускаем docker swarm
25 июня, 20:00 — 21:30
Домашние задания: 1
ДЗ
Docker, docker-compose, dockerfile. Описание ДЗ в документе
SELinux - когда все запрещено.
Разбираемся, что такое SELinux
28 июня, 20:00 — 21:30
Лектор: Александр Румянцев
Linux и сеть
Настраиваем и работаем с сетью в Linux. От хоста до маршрутизатора и брандмауэра.
Архитектура сетей.
Обзор Модели OSI. Протоколы ARP, IP, TCP/UDP. Протоколы прикладного уровня. Сетевые интерфейсы в Linux.
Освоим команды ip/tc/ss/nstat, вспомним ifconfig/netstat/route, заглянем в /etc/sysconfig/network-scripts, поснифферим через tcpdump и ngrep
9 июля, 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

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

Формат сдачи:
Vagrantfile + ansible
Фильтрация трафика
Углубляемся в iptables/firewalld
разбираем цепочки и таблицы
учимся правильно защищать свою сеть
строим NAT, проксируем трафик, пробрасываем порты
Лабораторная работа: защищаем веб сервер от DOS атак
19 июля, 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
23 июля, 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
26 июля, 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 отключением интерфейсов

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

IPv6
Изучаем особенности работы протоколы
30 июля, 20:00 — 21:30
Сервисы на базе Linux
Мы научимся как запускать настраивать и поддерживать в Linux такие сервисы как WEB, почта, файловые хранилища, базы данных
Web сервера
Изучаем протоколы HTTP/HTTPS, HTTP 2.0
Разбираемся с SSL
Устанавливаем и настраиваем Apache и Nginx
Настраиваем vhosts
2 августа, 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
6 августа, 20:00 — 21:30
Домашние задания: 1
ДЗ
Роль для настройки веб сервера.
1. Написать playbook для первоначальной настройки хоста после инсталляции по всем прошедшим лекциям
- установка нужных инструментов для анализа и траблшутинга
- избавление ядра и сетевых настроек от "десктопности"
- установка разнообразных параметров ядра под работу в качестве сервера
2. Опубликовать ссылку на плейбук в общем чатике
3. Взять любой опубликованный плейбук, прокомментировать.


В качестве ДЗ принимается ансибл роль и Vagrantfile
с развернутым wordpress
+ виртуалка yandex tank для нагрузочного тестирования
Почта: SMTP, IMAP, POP3
разбираем почтовые протоколы.
Устанавливаем и настраиваем Postfix и Dovecot
изучаем настройки безопасности
9 августа, 20:00 — 21:30
Лектор: Александр Румянцев
Домашние задания: 1
ДЗ
установка почтового сервера. 1. Установить в виртуалке postfix+dovecot для приёма почты на виртуальный домен любым обсужденным на семинаре способом
2. Отправить почту телнетом с хоста на виртуалку
3. Принять почту на хост почтовым клиентом

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

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

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

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

варианты которые принимаются к сдаче
- рабочий вагрантафайл
- скрины или логи SHOW TABLES
* конфиги
* пример в логе изменения строки и появления строки на реплике
MySQL - бэкап, репликация, кластер
Настраиваем политику инкрементального бэкапа
Настраиваем GTID репликацию и кластер с proxysql
Настраиваем NDB кластер
23 августа, 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
Разбираем что это такое и зачем нужны эти сервисы.
Устанавливаем и настраиваем их
Запускаем в работу.
27 августа, 20:00 — 21:30
Лектор: Александр Румянцев
Файловые хранилища - NFS, SMB, FTP
Строим файловое хранилище на основе Linux
30 августа, 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
Настраиваем балансировку для вебсерверов
Разбираем конфиги
Проверяем работу балансировки на стенде
10 сентября, 20:00 — 21:30
строим кластер - Pacemaker, Corosync
Понять устройства кластера на основе pacemaker. Построить тестовый кластер с плавающим ип и вебсервисом.
13 сентября, 20:00 — 21:30
ISCSI, multipath и кластерные файловые системы: GFS2
разобрать принципы работы ISCSI
разобраться что такое multipath
настроить общее хранилище для двух нод
17 сентября, 20:00 — 21:30
Распределенные файловые системы: CEPH
понимать устройство распределенного хранилища CEPH и требования для его развертывания,
получить практический опыт создания кластера с нуля, его использования с точки зрения клиентского доступа,
протестировать отказоустойчивость, надежность и скорость работы
20 сентября, 20:00 — 21:30
Распределенные файловые системы: GlusterFS
построить распределенное хранилище GlusterFS
24 сентября, 20:00 — 21:30
Механизмы изоляции и аккаунтинга Linux (namespaces и cgroups)
27 сентября, 20:00 — 21:30
Лектор: Александр Румянцев
Итоговое занятие
обсуждение организационных вопросов
фидбэк по курсу
обсуждение проекта
1 октября, 20:00 — 21:30
Защита проектных работ
4 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Проектная работа.

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

Александр Румянцев
Postgres Professional
Database administrator в компании Postgres Professional. Большой опыт руководства отделами администраторов в Wikimart, Rambler и Ru-Center. В отрасли более 15 лет: из них 10 – в highload и более 5 лет на позиции руководителя
Преподаватель курсов:
Администратор Linux
Алексей Цыкунов
Системный архитектор, Oracle DBA, разработчик perl/python, опыт в отрасли - 20 лет
В настоящее время работает на аутсорсе. Работал в интернет-провайдерах и телекоме. Имел опыт внедрения и разработки продуктов в госструктурах, таких как минздрав и соцфонд. Был главным разработчиком стартап проекта Ipstudio AMBS (биллинг для VoIP). Участвовал в проектировании и разработке OLTP систем. Проектировал и развертывал серверные системы в датацентрах.

Закончил Кыргызско-Российский Государственный Университет, 2001, Инженер автоматизированных систем.
Собственный технический блог на - dbadmins.ru
Преподаватель курсов:
Администратор Linux

F.A.Q.: Наиболее часто задаваемые вопросы:

Нужно ли оплачивать обучение до Дня открытых дверей, если я хочу гарантированно попасть в группу?
Да, мы рекомендуем заранее оплатить обучение, чтобы гарантированно попасть в группу. В период проведения Дня открытых дверей резко возрастает количество желающих обучаться, поэтому может случиться так, что к окончанию Дня открытых дверей мест в группе не останется
Кто будет проводить День открытых дверей?
Проводить День открытых дверей будет преподаватель курса.
Как принять участие в Дне открытых дверей?
Для того, чтобы принять участие в Дне открытых дверей, оставьте свой e-mail в поле регистрации на мероприятие. Перед началом Дня открытых дверей мы пришлем вам ссылку, пройдя по которой, вы сможете присоединиться к вебинару.
Какие вопросы будем обсуждать на Дне открытых дверей?
На дне открытых дверей мы поговорим о проекте OTUS (о программе курса, почему мы не принимаем в группы новичков, почему учиться у нас интересно, но сложно), карьерных перспективах выпускников (почему вероятность карьерного роста у лучших студентов стремится к 100%), учебном процессе (оплатах, оценке знаний, сертификатах и прочих аспектах). Также ведущий мероприятия с радостью ответит на все ваши вопросы.