Загрузил idobukhov06

Administrator Linux. Professional

реклама
Полная программа
Administrator
Linux.
Professional
Курс об администрировании
систем на базе Linux, который
направлен на получение знаний и
формирование навыков
построения и обслуживания
высоконадежных
высокодоступных систем
Длительность курса: 232 часа
Модуль 1. Архитектура Linux
Тема 1
С чего начинается
Linux
Цель занятия
познакомиться с программой и группой;
узнать, как работает ядро, как программы взаимодействуют с ядром.
Краткое содержание
вводная ознакомительная лекция;
краткая история Unix и Linux;
краткий обзор архитектуры x86 в свете операционных систем;
многозадачность и её реализация в Linux;
системные вызовы и сигналы;
версии Linux;
сборка ядра.
Домашние задания
Настройка ПК
Цель
настроить рабочее место;
Тема 2
Vagrant
Цель занятия
обсудить о том, как сделать тестовый стенд на своем локальном
компьютере и какие компоненты для этого понадобится;
обсудить разницу между контейнеризацией и виртуализации;
рассмотреть системы виртуализации и контейнеризации;
обсудить работу с инструментом автоматизации vagrant, его
особенностях и принципах работы.
Краткое содержание
виртуальная машина;
описание Vagrant;
установка Vagrant;
создание и конфигурирование BM.
Домашние задания
Обновить ядро в базовой системе
Цель
Получить навыки работы с Git, Vagrant;
Обновлять ядро в ОС Linux.
Тема 3
Автоматизация
администрирования.
Ansible-1
Цель занятия
автоматизировать рутинные задачи администрирования;
изучить ansible - инвентори, модули, плейбуки, роли, переменные;
понимать разницу с другими инструментами - chef/puppet/salt.
Краткое содержание
лабораторная работа: пишем сценарий для установки и настройки
ПО.
Домашние задания
Первые шаги с Ansible
Цель
Написать первые шаги с Ansible.
Тема 4
Автоматизация
администрирования.
Ansible-2
Цель занятия
писать ansible роли;
использовать циклы и массивы;
использовать ansible-vault.
Краткое содержание
роли;
переменные, циклы, условия;
Ansible Vault/Debug.
Тема 5
Дисковая подсистема
Цель занятия
перечислить виды RAID массивов и их отличия;
получить информацию о дисковой подсистеме на любом сервере с
ОС Linux;
собрать программный рейд и восстановить его после сбоя.
Краткое содержание
задачи дисковой системы;
программный и аппаратный RAID. RAID 0/1/5/6/10/60;
получение информации о дисковой системе системе с помощью
dmidecode, dmesg, smartctl;
MBR и GPT. Команды gdisk/fdisk/parted/partprobe.
Домашние задания
Работа с mdadm
Цель
научиться использовать утилиту для управления программными
RAID-массивами в Linux
Тема 6
Файловые системы и
LVM - 1
Цель занятия
облегчить себе жизнь управления файловыми системами;
архитектура файловой системы Linux: суперблок, блоки, inodes,
журналы;
разобраться в многообразии файловых систем.
Краткое содержание
LVM: основные понятия, управление и конфигурирование,
практические примеры.
файловые системы;
блок, суперблок;
айноды;
настройки ядра;
журналирование;
блок, суперблок;
айноды;
настройки ядра;
журналирование;
иерархия.
Домашние задания
Работа с LVM
Цель
создавать и работать с логическими томами;
Тема 7
Файловые системы и
LVM - 2
Цель занятия
управлять дисковым пространством с помощью различных
инструментов;
Краткое содержание
LVM Snapshots;
LVM Thin Provision;
LVM Cache;
LVM MIrror;
Тема 8
ZFS
Цель занятия
установить и настроить ZFS;
понимать преимущества и недостатки использования для
конкретных задач .
Краткое содержание
плюсы и минусы;
установка;
RAIDZ;
компрессия;
дедупликация;
ARC / L2ARC;
ZIL / SLOG;
команды: zpool, zfs.
Домашние задания
Практические навыки работы с ZFS
Цель
Научится самостоятельно устанавливать ZFS, настраивать пулы,
изучить основные возможности ZFS.
Тема 9
NFS, FUSE
Цель занятия
монтировать файловые системы с помощью FUSE;
настраивать и использовать NFS.
Краткое содержание
NFS - версии, процесс, протокол взаимодействия;
параметры сервера;
параметры клиента;
FUSE - принципы работы;
SSHFS - как пример FUSE;
NFS-ganesha.
Домашние задания
Vagrant стенд для NFS
Цель
Развернуть сервер с NFS и подключить на клиенте сетевую
директорию.
Тема 10
Управление пакетами.
Дистрибьюция софта
Цель занятия
устанавливать софт в Linux;
собирать пакеты (deb и rpm) из исходников;
репозитории;
работа с dnf, yum, rpm, apt и dpkg.
Краткое содержание
сборка пакетов (deb и rpm) из исходников;
создание собственного репозитория с пакетами rpm;
Домашние задания
Сборка RPM-пакета и создание репозитория
Цель
Научиться собирать RPM-пакеты.
Создавать собственный RPM-репозиторий.
Тема 11
Загрузка системы
Цель занятия
объяснить как происходит загрузка системы, в чем разница между
BIOS/UEFI;
настраивать GRUB2;
управлять initrd с помощью dracut;
работать с udev;
восстанавливать сломанный загрузчик.
Краткое содержание
порядок загрузки системы;
GRUB 2;
параметры ядра;
initrd;
dracut.
Домашние задания
Работа с загрузчиком
Цель
Научиться попадать в систему без пароля;
Устанавливать систему с LVM и переименовывать в VG.
Тема 12
Инициализация
системы. Systemd
Цель занятия
понимать различие систем инициализации;
использовать основные утилиты systemd;
изучить состав и синтаксис systemd unit;
Краткое содержание
история и SystemV;
что такое systemd;
компоненты и утилиты;
создание systemd unit;
Домашние задания
Systemd - создание unit-файла
Цель
Научиться редактировать существующие и создавать новые unitфайлы;
Тема 13
Bash
Цель занятия
писать скрипты на языка bash.
Краткое содержание
профайл;
переменные;
логические операции;
массивы;
условия;
циклы;
функции.
Домашние задания
Пишем скрипт
Цель
Написать скрипт на языке Bash;
Тема 14
grep, sed, awk и
другие
Цель занятия
работать с многочисленными консольными утилитами в Linux,
такими как grep, find, set, cut, tr, vim и так далее;
писать скрипты на awk.
Краткое содержание
регулярные выражения - grep, egrep
команда find
скрипты на awk
изменения файлов с помощью sed
другие вспомогательные утилиты линукс
Тема 15
Управление
процессами
Цель занятия
знать, что такое процесс, его атрибуты, жизненный цикл процесса;
понимать, чем потоки отличаются от процессов;
мониторить процессы, в каком они состоянии, понимать чем они
сейчас заняты;
использовать команды ps/top, подсистему /proc, а также команды
gdb/strace/ltrace;
менять приоритеты с мощью команд nice, ionice;
посылать различные сигналы процессам.
Краткое содержание
процесс и его атрибуты;
жизнь процессов;
процессы и потоки;
получение информации о процессе;
управление процессом.
Домашние задания
Работа с процессами
Цель
Работать с процессами;
Тема 16
Работа с памятью
Цель занятия
разобраться, как работают механизмы управления памятью в Linux;
находить какие процессы занимают память;
разобраться в статистической информации по памяти.
Краткое содержание
эволюция адресации памяти;
виртуальная память;
кэш;
грязные страницы;
анонимные страницы;
overcommit_memory;
swappiness;
Тема 17
Механизмы изоляции
и аккаунтинга Linux
(namespaces и
cgroups)
Цель занятия
использовать технологий контейнеризации осознанно;
изолировать процессы друг от друга встроенными в
дистрибутив средствами;
Краткое содержание
цели контейнеризации;
два механизма, на которых строится вся контейнеризация на базе
linux;
управление и мониторинг без использования систем управления
контейнерами;
простейшая система контейнеризации на базе systemd-nspawn.
Модуль 2. Управление, безопасность и
мониторинг
Тема 1
SELinux - когда все
запрещено
Цель занятия
объяснить, что такое системы принудительного контроля доступа;
объяснить, как работает система SELinux;
работать с системой SELinux.
Краткое содержание
краткая история создания системы SELinux;
основные термины и понятия связанные с системой SELinux;
основные приемы работы с политиками SELinux.
Домашние задания
Практика с SELinux
Цель
работать с SELinux: диагностировать проблемы и модифицировать
политики SELinux для корректной работы приложений, если это
требуется;
Тема 2
Docker: основы
работы с
контейнеризацией
Цель занятия
изучить основные понятия контейнеризации;
написать Dockerfile;
запустить контейнер;
запустить docker-compose;
Краткое содержание
контейнеризация;
виртуализация;
docker;
docker-compose;
Домашние задания
Docker
Цель
Разобраться с основами docker, с образом, эко системой docker в
целом;
Тема 3
Docker: Volumes and
Networks
Цель занятия
изучить работу docker-registry;
рассмотреть возможности управления Docker и Docker-compose;
Краткое содержание
docker-registry;
docker;
docker-compose;
Тема 4
Мониторинг
производительности
Цель занятия
мониторить занятые ресурсы: CPU, память, диск, сеть;
изучить инструменты ps, top , sar, htop, atop, netstat, ss, vmstat, iostat,
iotop, pidstat;
посмотреть, что находится в /proc;
объяснить, что делать с неотзывчивой системой.
Краткое содержание
методологии и антиметодологии поиска проблемы;
инструменты observability;
инструменты benchmark;
инструменты tuning;
Тема 5
Prometheus
Цель занятия
узнать, из чего состоит экосистема Prometheus;
собирать и смотреть метрики
Краткое содержание
архитектура системы мониторинга prometheus;
обзор базовой конфигурации системы;
настройка dashboard;
Домашние задания
Настройка мониторинга
Цель
научиться настраивать дашборд;
Тема 6
Zabbix
Цель занятия
развернуть "песочницу” с Zabbix;
администрировать Zabbiх;
настраивать автообнаружение;
настраивать уведомления об авариях;
Краткое содержание
архитектура системы мониторинга Zabbix;
обзор базовой конфигурации системы;
основные настройки (items, triggers, templates) Discovery и Actions
Тема 7
Пользователи и
группы. Авторизация
и аутентификация
Цель занятия
рассмотреть механизмы авторизации и аутентификации;
объяснить какие бывают права у пользовталей;
управлять правами с помощью sudo, umask. sgid, suid и более
сложными инструментами как PAM и ACL, PolicyKit.
Краткое содержание
лабораторная работа: даем пользователю A возможность запускать
скрипт, принадлежащий пользователю B.
Домашние задания
PAM
Цель
научиться создавать пользователей и добавлять им ограничения;
Тема 8
Основы сбора и
хранения логов
Цель занятия
понять зачем нужны логи и как их собирать;
освоить принципы логирование с помощью rsyslog;
понять возможности logrotate для задач ротации логов;
научиться работать с journald и auditd;
Краткое содержание
особенности и методы сбора и хранения логов;
принципы работы rsyslog и logrotate;
приемы работы и возможности journald;
приемы работы с auditd;
Домашние задания
Настраиваем центральный сервер для сбора логов
Цель
научится проектировать централизованный сбор логов;
рассмотреть особенности разных платформ для сбора логов.
Тема 9
Сбор и анализ логов:
ELK
Цель занятия
установить и настроить стек ELK;
понять основные принципы работы компонентов стека.
Краткое содержание
схема работы стека ELK;
установка и настройка базы Elasticsearch;
установка и настройка Logstash;
базовое описание фильтров и паттернов;
приемы работы с интерфейсом Kibana.
Тема 10
Резервное
копирование
Цель занятия
использовать политики и методики резерного копирования;
работать с инструментами rsync, tar, dd и bacula.
Краткое содержание
введение и базовые понятия;
создание резервных копий;
Bacula;
Borg;
Домашние задания
Настраиваем бэкапы
Цель
Настроить бэкапы.
Модуль 3. Linux и сеть
Тема 1
Архитектура сетей
Цель занятия
понимать как строятся сети передачи данных;
ориентироваться в сетевых протоколах;
осуществлять базовую настройку сети;
Краткое содержание
обзор Модели OSI;
инкапсуляция;
ARP;
IP;
TCP;
UDP;
протоколы ARP, IP, TCP/UDP;
протоколы прикладного уровня;
сетевые интерфейсы в Linux.
Домашние задания
Разворачиваем сетевую лабораторию
Цель
Научиться менять базовые сетевые настройки в Linux-based
системах;
Тема 2
DHCP, PXE
Цель занятия
понимать принцип работы спецификации PXE;
знать, какую роль в ней играют протоколы dhcp, tftp;
рассмотреть, как происходит загрузка в ОС по сети и как это
используется для сетевой установки;
Краткое содержание
вспомним как происходит загрузка в ОС и в чём специка загрузки в
ОС по сети;
спецификация PXE;
протокол DHCP;
настройка dhcp-сервера;
протокол tftp;
загрузчик pxelinux;
загрузка по сети;
установка ОС через PXE;
Домашние задания
Настройка PXE сервера для автоматической установки
Цель
Отработать навыки установки и настройки DHCP, TFTP, PXE
загрузчика и автоматической загрузки
Тема 3
Фильтрация трафика
- iptables
Цель занятия
понимать путь прохождения пакетов;
настраивать базовые правила фильтрации;
настраивать наборы правил через ipset;
Краткое содержание
подсистема netfilter;
цепочки и таблицы;
синтаксис iptables;
использование IPset
Домашние задания
Сценарии iptables
Цель
Написать сценарии iptables.
Тема 4
Фильтрация трафика
- firewalld
Цель занятия
работата с утилитой и сервисом firewalld;
настраивать шлюз средствами iptables;
Краткое содержание
архитектура firewalld;
настройка через firewalld-cmd;
настройка пересыки пакетов;
настройка шлюза в iptables;
Тема 5
Фильтрация трафика
- nftables
Цель занятия
изучить настройку сетевого фильтра nftables;
научиться использовать утилиту nft и сохранять правила;
Краткое содержание
сравнение iptables и nftables;
настройка базового сетевого фильтра с помощью nftables;
новые возможности фильтрации и управления трафиком.
Тема 6
Статическая и
динамическая
маршрутизация,
OSPF
Цель занятия
понять принцип работы multicast;
описать назначение loopback-интерфейса;
понять основные принципы работы протокола OSPF;
настроить динамическую маршрутизацию с помощью программных
маршрутизаторов Quagga, FRR и BIRD.
Краткое содержание
Aggregate и specific сети;
куда ведет blackhole;
принципы маршрутизации с помощью loopback;
что такое multicast;
отличия статической и динамической маршрутизации;
как работает OSPF.
Домашние задания
OSPF
Цель
Создать домашнюю сетевую лабораторию;
Научится настраивать протокол OSPF в Linux-based системах.
Тема 7
BGP
Цель занятия
познакомимся с протоколом динамической маршрутизации BGP.
Краткое содержание
назначение протокола BGP;
автономные системы и как они используются для маршрутизации;
основные приемы управления трафиком с помощью BGP;
основные моменты настройки BGP на примере программных
маршрутизаторов BIRD и FRR.
Тема 8
Мосты, туннели и VPN
Цель занятия
описать разницу между мостами и туннелями;
настраивать мосты и туннели между сетями;
разобраться в различных типах реализаций мостов и туннелей.
Краткое содержание
Bridge;
IPsec;
PPTP;
openVPN;
TUN/TAP;
WireGuard.
Домашние задания
VPN
Цель
Создать домашнюю сетевую лабораторию. Научится настраивать
VPN-сервер в Linux-based системах.
Тема 9
DNS - настройка и
обслуживание
Цель занятия
узнать как завести домен;
управлять зонами (bind/powerdns);
обслуживать свой домен самостоятельно;
разобрать dig/host/nslookup.
Краткое содержание
DNS;
терминология;
типы серверов;
типы записей;
зона;
PTR;
репликация;
SplitDNS.
практическая работа: настраиваем свой кеширующий днс (мастер/
слейв) со своей локальной зоной.
Домашние задания
Настраиваем split-dns
Цель
Создать домашнюю сетевую лабораторию;
Изучить основы DNS;
Научиться работать с технологией Split-DNS в Linux-based системах.
Тема 10
Сетевые пакеты.
VLAN'ы. LACP
Цель занятия
изучить UniCast/MultiCast/BroadCast/AnyCast;
изучить протокол LACP;
аггрегировать интерфейсы через teaming и bonding;
VLAN;
познакомиться с dot1q, macvlan;
освоить работу с nmcli;
Краткое содержание
агрегируем интерфейсы в режиме active/active и failover.
Домашние задания
Строим бонды и вланы
Цель
Научиться настраивать VLAN и LACP;
Тема 11
LDAP.
Централизованная
авторизация и
аутентификация
Цель занятия
объяснить, что такое LDAP и зачем нужен;
разобрать базовую настройку LDAP на примере.
Краткое содержание
AAA;
NSS;
LDAP;
централизация управления доступом.
Домашние задания
LDAP
Цель
Научиться настраивать LDAP-сервер и подключать к нему LDAPклиентов;
Тема 12
IPv6
Цель занятия
объяснить как работает протокол Ipv6;
знать правила формирования адреса;
отличать типы адресов;
знать особенности работы и преимущества использования;
настраивать маршрутизацию и файрвалл;
Краткое содержание
адресация IPv6;
динамическое выделение адресов SLAAC и DHCPv6;
протокол NDP;
утилиты управления адресами.
Модуль 4. Сервисы Linux
Тема 1
Web: протоколы
Цель занятия
разобрать работу протоколов HTTP/HTTPS, HTTP 2.0,3.0.
Краткое содержание
HTTP
HTTPS
Let`s Encrypt + Certbot.
Тема 2
Nginx
Цель занятия
настраивать upstream, proxy_pass;
настраивать кэш.
Краткое содержание
директивы и контексты;
базовый конфиг и Include;
порядок обработки запроса listen;
server_name;
location;
proxy_pass, fcgi, uwsgi;
return, rewrite, try_les;
сжатие трафика;
кэширование трафика;
njs-модуль.
Тема 3
Динамический веб
Цель занятия
разбираться в CGI/FCGI/WSGI/mod_xxx;
настраивать uwsgi/php_fpm;
понимать Ajax/Long Pooling/Websockets.
Краткое содержание
взаимодействие между клиентом и сервером по unix/tcp сокету;
история развития динамических интерфейсов; CGI/FCGI/WSGI/;
сравниваем на практике работу prefork_mpm/event_mpm;
настройки php_fpm;
настройки uwsgi;
логику работы Ajax/LongPooling/Websockets.
Домашние задания
Развертывание веб приложения
Цель
Получить практические навыки в настройке инфраструктуры с
помощью манифестов и конфигураций;
Отточить навыки использования ansible/vagrant/docker;
Тема 4
MySQL
Цель занятия
устанавливать, настраивать, тестировать mysql;
понимать, на что влияют различные настройки;
понимать, как работает СУБД;
понимать какие файлы и их назначение используются mysql;
настраивать базовую репликацию.
Краткое содержание
установка mysql;
пароли и пользователи;
создание схемы, таблицы;
тестирование производительности через sysbench;
архитектура mysql;
параметры настройки;
кодировки;
репликация.
Тема 5
MySQL: Backup +
Репликация
Цель занятия
снимать резервные копии;
восстанавливать базу после сбоя;
настраивать master-slave репликацию.
Краткое содержание
задачи резервного копирования;
уровни резервного копирования;
вопросы для планирования РК;
конфигурация;
репликация;
backup;
Домашние задания
Репликация mysql
Цель
Поработать с реаликацией MySQL.
Тема 6
PostgreSQL
Цель занятия
установить и настроить СУБД PostgreSQL;
Краткое содержание
знакомство с архитектурой;
установка PostgreSQL;
инициализация базы данных, создание пользователей и ролей;
разбор параметров конфигурационных файлов и настройка СУБД;
Тема 7
Postgres: Backup +
Репликация
Цель занятия
создавать резервные копий;
настраивать репликации;
Краткое содержание
создание резервных копий с помощью Barman;
настройка потоковой репликации Master-Slave;
Домашние задания
Репликация postgres
Цель
Научиться настраивать репликацию и создавать резервные копии в
СУБД PostgreSQL;
Тема 8
Почта: SMTP, IMAP,
POP3
Цель занятия
разбирать почтовые протоколы;
устанавливать и настраивать Postfix и Dovecot;
оценить настройки безопасности.
Краткое содержание
протокол SMTP;
DKIM, DMARC, SPF.
Модуль 5. Проектная работа
Тема 1
Выбор темы и
организация
проектной работы
Цель занятия
выбрать и обсудить тему проектной работы; спланировать работу над
проектом; ознакомиться с регламентом работы над проектом.
Краткое содержание
правила работы над проектом и специфика проведения итоговой
защиты; требования к результату проекта и итоговой документации.
Домашние задания
Проект
Цель
Закрепить и продемонстрировать полученные знания и навыки;
Создать веб-проект;
Подготовить портфолио для работодателя;
Тема 2
Защита проектных
работ
Цель занятия
защитить проект и получить рекомендации экспертов.
Краткое содержание
презентация проектов перед комиссией;
вопросы и комментарии по проектам.
Тема 3
Подведение итогов
курса
Цель занятия
узнать, как получить сертификат об окончании курса, как
взаимодействовать после окончания курса с OTUS и
преподавателями, какие вакансии и позиции есть для выпускников
(опционально - в России и за рубежом) и на какие компании стоит
обратить внимание.
Краткое содержание
организационные вопросы;
рынок вакансий по направлению;
статистика курса и вопросы по курсу.
Скачать