Администратор Linux

Напомнить о начале
О курсе

Администраторы – люди, в задачи которых входит не только обеспечение бесперебойной работы системы, но зачастую и эксплуатация приложений в этой системе, резервное копирование, строительство сетей и многое другое.
Регулярно, особенно в начале карьеры, у нас возникают вопросы:
- Что случилось с системой - как понять?
- Перезагрузил сервер после трех лет аптайма и не загружается - что делать?
- loadAvg 50 это нормально или надо что-то делать?
- Apache повис и не реагирует ни на что - что делать?
- Надо срочно поставить 50 машин, что делать?!
- Как настраивать хостинг без регистрации и SMS?

Эти и другие вопросы будут рассмотрены в ходе курса. Помимо ответов на вопрос «Что делать?», мы будем учиться искать виноватых - процессы, пользователей и т.д.
Будут затронуты вопросы Linux в Highload:
- Load balancing/failover
- Подстройка системы
- Выбор ПО.
Для выполнения домашних заданий мы будем использовать виртуальные машины virtualBox, образы будем готовить вместе или они будут предоставляться преподавателем.

Программа курса
1
Linux internals
2
Linux и сеть
3
Управление и обслуживание
4
Мониторинг и диагностика
5
Linux + WEB
6
Linux в Highload
В этом модуле будут разбираться базовые аспекты linux. Такие как установка, управление дисковой подсистемой и файловыми системами, загрузка, удаленный доступ и управление софтом и сервисами.
Занятие 1: Мелкие хитрости с ssh
Делаем тестовый стенд, настраиваем ключи, учимся использовать agent forward, учимся использовать port forward

ДЗ

Настройка удаленного доступа. Настроить дома самостоятельно все так, чтобы можно было из хостовой машины попасть в C через A и B не вводя пароля.
Поднять на A httpd на 127.0.0.1 и соединиться с ним с хостовой машины
Занятие 2: Дисковая подсистема
Знакомимся с raid: плюсы и минусы.

ДЗ

Работа с raid. На готовом образе починить raid
На готовом образе собрать R1, R5, R10
Занятие 3: Дисковая подсистема
Файловые системы, lvm
Занятие 4: Загрузка системы
Процесс загрузки, загрузчики, initrd

ДЗ

Настройка initrd. Модифицировать initrd для вывода определенного сообщения
Занятие 5: Запуск системы
Обзор sysV и systemd. Пишем модули.

ДЗ

Написать свой unit. Написать свой unit для инициализации:
- некоего демона
- недемонизируемого процесса
Написать для того же самого инит-скрипт
Занятие 6: Управление процессами
/proc и ps/pgrep
Занятие 7: Управление пакетами
yum, rpm

ДЗ

Работа с rpm. Сделать свой репозиторий rpm и положить туда свои rpm'ки
Этот модуль целиком посвящен сетевым возможностям Linux и его взаимодействию с сетью. Будут рассмотрены как общие вопросы по архитектуре сетей, так и взаимодействие Linux с сетью.
Занятие 8: Архитектура сетей
Краткий обзор архитектуры сетей: уровни и протоколы.

ДЗ

Разворачивание виртуальной лаборатории.
Занятие 9: Сетевые возможности linux
Bond, dummy, tunnels,pni. Настройки сети в linux

ДЗ

Настройка туннелей, возможно bond'ов, dummy интерфейсов на машинах лаборатории.
Занятие 10: Маршрутизация: динамическая статическая

ДЗ

- Настройка динамической маршрутизации на машинах лаборатории
- Настройка виртуальных адресов на машинах лаборатории
Занятие 11: DNS: организация, настройка и обслуживание

ДЗ

- Настройка DNS-сервера
- HighlyAvailable DNS-сервер
Занятие 12: Практика по сети
Практика по сети
Занятие 13: Фильтрация трафика

ДЗ

Настройка iptables для разных задач:
- стандартный на сервере
- маршрутизатор
- защита от DoS
Занятие 14: Фильтрация трафика vol. 2
Занятие 15: Фильтрация трафика. vol 3
В этом модуле будут рассмотрены вопросы автоматизации настройки системы и управления несколькими системами, использование таких программных продуктов как ansible/salt, а также будут затронуты вопросы настройки аутентификации и резервного копирования.
Занятие 16: Автоматизация управления конфигурацией: salt/ansible

ДЗ

- Развертывание salt/ansible
- Перевод управления конфигурацией в тестовой лаборатории под salt и ansible
Занятие 17: Безопасность в системе
AAA, PAM/pam, scripts

ДЗ

Написание своих pam-модулей с помощью pam-scripts
Занятие 18: Безопасность в системе
LDAP, nsswitch

ДЗ

- Развертывание ldap-сервера
- Настройка аутентификации через ldap
Занятие 19: Резервное копирование
Теория, tar, dump

ДЗ

"Изобретение велосипеда" - написание своих скриптов РК
Занятие 20: Резервное копирование: bacula

ДЗ

- Развертывание bacula
- Настройка РК тестовой лаборатории
Модуль о самом краеугольном камне эксплуатации системы - диагностике неисправностей. Будем учиться гадать на LoadAvg, читать top и не только.
Занятие 21: Диагностика системы
Top, sar. Логи - учимся читать и делать выводы.
Занятие 22: Обзор систем мониторинга

ДЗ

Развертывание системы мониторинга на тестовой лаборатории
Занятие 23: Мониторинг: сбор информации о системе

ДЗ

Настройка системы мониторинга
Занятие 24: Мониторинг
Графики. Откуда еще можно доставать информацию

ДЗ

Эксперименты с graphite
Львиная доля запросов к linux-админам это подкрутить хостинг. Будь то просто хостинг любимого сайта-визитки, или почтовой системы в офисе. В общем здесь, используя навыки из предыдущих модулей, мы будем разбирать наиболее популярные и не только вопросы относительно хостинга.
Занятие 25: LAMP: обзор, HTTP
Занятие 26: LAMP: nginx+apache

ДЗ

Разворачиваем nginx/apache в лаборатории
Занятие 27: LAMP: cgi/fastcgi

ДЗ

Пишем простейшие скрипты на cgi
Занятие 28: LAMP: php/python/perl, mysql

ДЗ

- Подключаем php/python/perl
- Разворачиваем готовые приложения
- Установка mysql
Занятие 29: MAIL: протоколы

ДЗ

Разворачиваем базовую почтовую систему, настраиваем доставку локальным пользователям
Занятие 30: MAIL: postfix

ДЗ

Разворачиваем webmail
Занятие 31: MAIL: dovecot

ДЗ

Настраиваем виртуальные домены в постфиксе
Занятие 32: MAIL: виртуальные домены

ДЗ

Настраиваем виртуальные домены в dovecot
Занятие 33: MAIL: Безопасность

ДЗ

Настраиваем спаморез и аутентификацию для отправки почты извне
В этом модуле мы постараемся прикоcнуться к миру highload’а для linux и рассмотрим основные вопросы которые возникают при построении High Available систем на базе linux.
Занятие 34: VRRP - failover

ДЗ

Делаем отказоучтойчивые сервисы:
- роутер
- web
Строим модель кластера
Занятие 35: Linux HA - heartbeat
Занятие 36: Балансировка: механизмы
Занятие 37: ScaleOut
Расписание
Дата и время
Событие
Группа
Администратор Linux-2017-10
19 декабря, вторник
20:00 — 21:30
Автоматизация управления конфигурацией: salt/ansible
Администратор Linux-2017-10
Администратор Linux-2017-10
22 декабря, пятница
20:00 — 21:30
Безопасность в системе
AAA, PAM/pam, scripts
Администратор Linux-2017-10
Администратор Linux-2017-10
26 декабря, вторник
20:00 — 21:30
Безопасность в системе
LDAP, nsswitch
Администратор Linux-2017-10
Администратор Linux-2017-10
29 декабря, пятница
20:00 — 21:30
Резервное копирование
Теория, tar, dump
Администратор Linux-2017-10
Преподаватели
Дмитрий Молчанов
В области информационных технологий работает с 1997 года. Администратор с двадцатилетним стажем, быстро прошел путь от мальчика-эникейщика до ведущего администратора.
С 2004 по 2015 года работал в интернет-проектах, в основном администрируя FreeBSD и Linux: строил кластеры, запускал автономные системы, строил сети, искал проблемы, помогал разработчикам, растил администраторов и не забывал решать различные побочные задачи от монтажа СКС, перевода офисной телефонии на VoIP и настройки офисной АТС до запуска новых офисов компаний. Работал в НГС, в Mail.ru Group.

Инженер по инфраструктуре/devops в технологическом центре Дойче Банка в России.
Преподаватель Технопарка Mail.ru с 2014 года.
Автор курса "Базовое администрирование Linux".
Григорий Ожегов
В области информационных технологий работает с 2012 года.
Опыт программирования 5 лет
Работу программистом всегда совмещал с эксплуатацией кода на множестве языков и фреймворков с использованием различных сервисов: Lua (Tarantool), PHP (Yii, Laravel), Python (Django, aiohttp), MySQL, PostgreSQL, MongoDB, Sphinx.
Работал в отделе эксплуатации инфраструктурных сервисов Mail.Ru Group, создавал и поддерживал инфраструктуру боевых проектов с тысячами пользователей (russiancodecup.ru, park.mail.ru) и рабочую среду двух команд разработки.

В 2017 году закончил магистратуру МГТУ им. Н. Э. Баумана с красным дипломом по специальности «Информатика и вычислительная техника»
Выпускник Технопарка Mail.Ru и открытого курса «Базовое администрирование Linux» в Технопарке Mail.Ru
Соавтор курса «Базовое администрирование Linux»
Сооснователь веб-студии KTS.
Работодатели