Системное администрирование серверов linux

Содержание
  1. Обучение администрированию Linux: основы, лучшие курсы и уроки
  2. Основы администрирования Linux
  3. Как подключиться
  4. Проверка сети
  5. Контроль элементов системы
  6. Функциональность сервисов
  7. Роль системного администратора в «Линукс»
  8. Курсы по администрированию серверов Linux
  9. Подборка лучших книг по изучению основ
  10. Уроки для начинающих сисадминов
  11. Лекции Технотрека. Администрирование Linux
  12. Лекция 1. Основы
  13. Лекция 2. Пользовательское окружение Linux
  14. Лекция 3. Linux и сеть (основы)
  15. Лекция 4. Управление пользовательским окружением
  16. Лекция 5. Веб-сервисы
  17. Лекция 6. Хранение данных
  18. Лекция 7. Сервисы инфраструктуры
  19. Лекция 8. Резервное копирование
  20. Лекция 9. Резервное копирование (часть 2)
  21. Лекция 10. Инфраструктура электронной почты
  22. Лекция 11. Распределение ресурсов системы
  23. Администрирование Linux
  24. Администрирование Linux
  25. Удаленный доступ к серверу Linux
  26. Диагностика сети Linux
  27. Мониторинг ресурсов системы
  28. Проверка работоспособности сервисов
  29. Просмотр логов
  30. Установка программного обеспечения
  31. Выводы

Обучение администрированию Linux: основы, лучшие курсы и уроки

Умение использовать «Линукс» становится необходимым навыком во многих профессиях. Открытое ПО приветствуется различными компаниями, и понимание основ администрирования «Линукс» открывает путь к стабильному заработку.

Основы администрирования Linux

Компьютерная грамотность делает сотрудника востребованным, позволяет быстрее справляться с поставленными задачами и эффективнее взаимодействовать с коллегами. Обучение администрированию Linux — возможность обрести уверенность в работе с открытым программным обеспечением и получить новые навыки.

Администрирование Linux — широкая сфера, включающая немало задач. Сисадмину необходимо четкое понимание происходящих процессов. Открытое ПО повсюду — устройства Android, сервера в интернете. Специализированные программы в основном создаются под «Линукс». Особенность этой ОС — более высокая скорость операций при взаимодействии со значительным массивом данных, чем у Windows или Mac OS.

Разобраться в «Линуксе» реально и собственными силами, однако когда речь заходит про изучение Linux для администраторов, без поддержки грамотно выстроенных видеокурсов уже не обойтись. Случается, начинающие сдаются на первых этапах, не сумев полностью освоить операционную систему, понять принцип работы с командной строкой. Только скачать справочный материал не помогает, полезными оказываются курсы системного администратора Linux — существует большой выбор учебных программ.

Задачи, встающие перед каждым администратором «Линукс»:

  • организация удаленного доступа — подключение к сети;
  • проведение диагностики соединения;
  • изучение системных ресурсов;
  • мониторинг работоспособности сервисов и работа с логами.

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

Как подключиться

Гибкая ОС, обладающая значительным потенциалом в персонализации и настройке, требует от администрирующего ее человека понимания проходящих внутри процессов. «Линукс» категорически отличается от «Виндовс», и подходить к ее рассмотрению как к привычному графическому интерфейсу нельзя.

Получая удаленный доступ к серверу, опытный системный администратор Linux, обучение которому не нужно, свободно пользуется протоколами SSH, FTP. Новички не всегда воспринимают разницу между ними:

  • FTP предлагает загружать файлы, помогает перемещать и задавать новые названия;
  • SSH используется как для передачи файлов, так и для выполнения отдельных команд.

Основы администрирования «Линукс» предполагают изучение протокола SSH и умение его использовать. Потребуется разобраться и с установлением прав на чтение, копирование и изменение файлов.

Проверка сети

Диагностика сети — важный момент в администрировании. Команда ping помогает проверить передачу пакетов на удаленный компьютер. Однако если наблюдается потеря пакетов, потребуется устранить причину. Уроки Linux по администрированию позволят разобраться с масками сети, шлюзами и сетевой конфигурацией, а главное — с тем, как работать с возможными проблемами.

Контроль элементов системы

Безопасность и четкость работы системы зависит от использования ею ресурсов. Когда соединение по SSH-протоколу замедляется, сервер откликается хуже, приходится проводить мониторинг ресурсов. Потребуется проверить, куда они тратятся, и заняться переключением процессов и оптимизацией. Обучение администрированию Linux рассматривает утилиты htop, iotop, помогающие контролировать элементы системы и добиваться оптимального взаимодействия.

Функциональность сервисов

Основы администрирования «Линукс» подразумевают управление сервисами и службами операционной системы, просмотр активности и команд по перезапуску. Сисадмину необходимо читать логи и расшифровывать их, чтобы быстро находить неполадки.

Когда стандартный лог не дает администратору достаточно информации, программу переводят в режим отладки, где демонстрируются полные данные о функционировании. Оформление сервисов различное, однако стандартные команды для работы с ними едины.

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

Роль системного администратора в «Линукс»

Системному администратору необходимо отлично понимать операционную систему, с которой приходится работать. Каждая ОС отличается положительными и негативными чертами, дистрибутивами, предустановленными программами, и браться за работу без знаний в этой области не стоит. Основы администрирования Linux включают базовые понятия по работе с серверами, сетевыми соединениями и прочим инструментарием.

Работа на Windows основана на графическом интерфейсе, и переход на консоль становится непростым моментом, о который спотыкаются новички. Командная строка в ОС открывает доступ ко многим задачам, ускоряет выполнение и делает их проще, чем привычное графическое представление.

Сисадмину придется осваивать навыки администрирования системы без работы с панелью или с частичной опорой на нее. Отличия в архитектуре операционных систем нужно запомнить и понять.

Читайте также:  После удаления язык возвращается windows 10

У «Линукса» нет привычных для «Виндовс» драйверов, система отличается монолитным ядром, либо поддерживающим оборудование, либо нет. Потому не возникает ситуаций, когда срочно требуется драйвер, а диск с ним исчез или нет возможности подключиться к интернету, чтобы загрузить последнюю версию.

Курсы по администрированию серверов Linux

У операционной системы огромные возможности, и чтобы научиться ими пользоваться, требуются курсы по администрированию Linux. Современные версии ОС более открыты пользователям, чем пяти- или шестилетней давности. Настроить систему сразу после установки не так сложно, как прежде, однако начинающим необходимы уроки по администрированию Linux с нуля.

Сисадмин должен уметь использовать не только повседневные возможности ОС, как это бывает с Windows, но и охватить большую сферу, позволяющую в дальнейшем обращаться ко всем существующим функциям. Краткий бесплатный курс помогает разобрать основы администрирования «Линукс», а также дает толчок к самостоятельному изучению.

Подборка лучших книг по изучению основ

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

  • «Командная строка Linux» — руководство по работе с главным инструментом ОС;
  • «Linux. Карманный справочник» — книга содержит фрагменты программ и скриптов для решения возникших проблем;
  • «Linux глазами хакера» — издание касается безопасности, настройки и оптимизации системы;
  • «Linux Bible» — полное руководство по работе с открытой операционной системой.

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

Уроки для начинающих сисадминов

У новичков нередко возникает множество вопросов, которые не получится задать бумажным или электронным изданиям. Разобраться в нюансах работы с открытой операционной системой можно на специализированных курсах.

Источник

Лекции Технотрека. Администрирование Linux

Представляем вашему вниманию очередную порцию лекций Технотрека. В рамках курса будут рассмотрены основы системного администрирования интернет-сервисов, обеспечения их отказоустойчивости, производительности и безопасности, а также особенности устройства ОС Linux, наиболее широко применяемой в подобных проектах. В качестве примера будут использоваться дистрибутивы семейства RHEL 7 (CentOS 7), веб-сервер nginx, СУБД MySQL, системы резервного копирования bacula, системы мониторинга Zabbix, системы виртуализации oVirt, балансировщика нагрузки на базе ipvs+keepalived. Курс ведёт Сергей Клочков, системный администратор в компании Variti.

Лекция 1. Основы

В начале лекции вы узнаете об истории появления и развития Linux. Затем проводится экскурс по экосистеме Linux, рассказывается о некоторых различиях между дистрибутивами. Далее обсуждается иерархия файловой системы, рассматривается основной рабочий инструмент в этой ОС — командная строка. Подробно рассказывается о Bash-скриптах, о двух основных сущностях в системе — пользователях и группах. Затем обсуждаются регулирование прав доступа к файлам и директориям, рассматриваются привилегии пользователей и в завершение лекции затрагивается тема удалённого доступа.

Лекция 2. Пользовательское окружение Linux

Сначала подробно рассказывается об этапах загрузки системы и ОС, обсуждается ядро Linux. Объясняется, что собой представляет «процесс», как он использует оперативную память. Вы узнаете, что такое дескрипторы и для чего они нужны, как процессор потребляет ресурсы. Затем рассматриваются системные вызовы, сигналы, лимиты процессов, переменные окружения. Обсуждается вопрос размножения процессов и подробно анализируется работа процесса. В завершение вы узнаете о подсистеме perf и логах.

Лекция 3. Linux и сеть (основы)

Вы узнаете, что такое сетевой стек и модель OSI. Вспомните, что такое Ethernet и как с ним работает Linux. Дальше будут освежены ваши знания об использовании IPv4, особенностях IPv4-пакетов и сетей. Затем рассматривается ICMP, мультикаст в IPv4. Далее переходим к IPv6, обсуждаются заголовки IPv6-пакетов, UDP, TCP-соединения. Затрагивается тема TCP congestion control. Потом рассказывается о NAT, протоколах уровня приложения, DNS, NTP, HTTP и URL. Разбираются коды HTTP-ответа (успешные ответы и ошибки).

Лекция 4. Управление пользовательским окружением

Вы узнаете о том, что такое менеджер пакетов RPM и как его использовать. Далее рассматривается классический init, системный менеджер systemd. Разбирается пример init-файла. Обсуждаются основные типы Unit’ов, рассказывается про системный логгер и ротацию логов. В заключение вы узнаете об основах конфигурации сетевых интерфейсов.

Лекция 5. Веб-сервисы

Сначала рассматривается типовая архитектура веб-сервиса. Рассказывается о том, что такое фронтенд, что такое сервер приложений. Разбирается вопрос хранения данных веб-приложениями. Подробно разбирается работа и использование протокола HTTP. Обсуждаются виды HTTP-запросов. Затрагивается тема создания шифрованных туннелей с помощью SSL. Затем рассматриваются примеры установки СУБД MySQL с созданием БД и пользователя. Разбирается работа с PHP-FPM, конфигурирование nginx, установка и настройка wiki-движка.

Лекция 6. Хранение данных

Перечисляются основные проблемы хранения данных, рассматриваются достоинства и недостатки разных устройств хранения, их интерфейсы. Затем вы узнаете, как определять состояние жёсткого диска, какова его производительность, что такое RAID, какие бывают RAID-массивы и как их создавать. Сравниваются разные типы RAID, а также программные и аппаратные массивы. Обсуждаются LVM-снепшоты, рассматриваются разные файловые системы. Затрагивается вопрос удалённого хранения данных и использование протокола ISCSI.

Лекция 7. Сервисы инфраструктуры

Рассматривается DNS-сервер bind, NTP-сервер. Обсуждается централизованная аутентификация на основе LDAP. Разбирается DHCP, задача установки ОС по сети с помощью kickstart, а в завершение рассматривается система управления конфигурацией Salt.

Читайте также:  Windows operating system win 10

Лекция 8. Резервное копирование

Начало лекции посвящено продолжению рассказа о системе управления конфигурацией Salt. Рассказывается, как её установить, как осуществляется управление конфигурацией Linux, разбирается её пример. Вы узнаете, что такое «зёрна» и зачем они нужны. Далее переходим к теме резервного копирования: какие данные нужно копировать, каковы основные трудности, какие бывают виды резервных копий. Обсуждается задача резервного копирования ОС. Рассказывается об использовании системы резервного копирования bacula.

Лекция 9. Резервное копирование (часть 2)

В начале лекции рассказывается о резервном копировании БД. Обсуждаются различные стратегии резервного копирования — mysqldump, mylvmbackup. Вы узнаете, для чего нужен мониторинг и как его выполнять, какие есть средства мониторинга. Рассматриваются разные виды проверок. Обсуждаются шаблоны проверок. В заключение рассказывается об элементах данных, о выполнении веб-мониторинга.

Лекция 10. Инфраструктура электронной почты

Вы узнаете, что такое электронная почта, познакомитесь с основными понятиями. Затем рассматривается процесс доставки и выдачи почты. Обсуждается использование протоколов SMTP, POP3 и IMAP. Разбирается применение SMTP-сервера postfix, IMAP-сервера Dovecot. Рассказывается о том, как ходят письма по сети и что такое MX-записи. Наконец, обсуждается защита от спама, разбираются SPF-записи, DKIM и Spamassassin.

Лекция 11. Распределение ресурсов системы

Лекция посвящена продвинутым вопросам администрирования Linux. Сначала вы узнаете, как управлять параметрами ядра ОС. Затем рассматриваются модули ядра, как ими управлять. Обсуждается выделение ресурсов приложения. Далее рассказывается о планировщике задач, об алгоритмах шедулинга, о приоритетах процессов. Разбирается шедулер CFS, политики шедулинга. Вы узнаете, что такое NUMA и как с ней работать. Познакомитесь с планировщиками ввода/вывода. Далее рассказывается о контрольных группах, об управляемых ресурсах, об управлении контрольными группами и лимитами ввода/вывода.

Плейлист всех лекций находится по ссылке. Напомним, что актуальные лекции и мастер-классы о программировании от наших IT-специалистов в проектах Технопарк, Техносфера и Технотрек по-прежнему публикуются на канале Технострим.

Другие курсы Технотрека на Хабре:

Информацию обо всех наших образовательных проектах вы можете найти в недавней статье.

Источник

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

Операционная система Linux развивается уже больше двадцати пяти лет и за это время она набрала большую популярность среди системных администраторов и программистов. Из-за своей архитектуры Linux чаще всего применяется на серверах и других подобных платформах для размещения проектов. Как и любая другая операционная система, Linux нуждается в обслуживании, настройке и решении проблем.

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

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

Администрирование Linux — это очень обширная область и, естественно, что мы не сможем полностью охватить ее в этой статье. Но попытаемся охватить основные задачи, которые возникают перед администратором будь то сервера или домашнего компьютера. Вот основные задачи, которые мы рассмотрим:

  • Удаленный доступ;
  • Диагностика сети;
  • Мониторинг ресурсов системы;
  • Проверка работоспособности сервисов;
  • Просмотр логов;
  • Установка программного обеспечения.

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

Удаленный доступ к серверу Linux

Чаще всего веб-мастера и администраторы используют для удаленного доступа и загрузки файлов на сервер протокол SSH и FTP. По SSH вы не только передавать файлы, но и выполнять на сервере различные команды Linux. Протокол FTP позволяет лишь загружать файлы на сервер, перемещать и переименовывать их. Если кратко, то, например, чтобы перенести файлы сайта с одного сервера на другой, сначала мы создаем архив с помощью tar:

tar cvzf backup.tar.gz /папка/с/файлами

Обратите внимание, что опцию p передавать не нужно, чтобы права на файлы не сохранились, затем, вам нужно будет установить права вручную. Когда архив готов, используем копирование scp для передачи его на сервер:

scp backup.tar.gz user@ip_сервера:/var/www/public_html/

Затем авторизуемся на сервере и распаковываем архив:

ssh user@ip_сервера
$ cd /var/www/public_html/
$ tar xvzf backup.tar.gz

После этого останется сменить владельца для распакованных данных на имя пользователя веб-сервера:

chown -R www-data /var/ww/public_html/project/

Большинство действий по администрированию сервера вам придется выполнять так что лучше понять как пользоваться ssh.

Диагностика сети Linux

Этот момент администрирования Linux серверов подходит больше для компьютеров, к которым у вас есть физический доступ, но может в некоторых случаях полезным и на сервере. Самый простой способ проверить есть ли доступ к сети на компьютере, это выполнить команду ping:

Если команда правильно отрабатывает, и вы видите передачу пакетов на удаленный узел, значит все хорошо. Если же нет, хотелось бы понять причину. Проверьте, указан ли ip адрес и маска сети для этого подключения:

Читайте также:  Lan network adapter windows 10

Убедитесь, что правильно задан шлюз доступа к сети:

Обычно, это может подсказать вам, что конфигурация сети выполнена неверно, например, компьютер не получает нужные данные по протоколу DHCP или заданы неправильные статические настройки. Также проблема может быть в DNS. Возможно, сеть есть, но сервер не может получить ip адрес на основе доменного имени, для проверки вы можете выполнить ping какого-либо внешнего ip:

Если же сеть не работает, и она настроена правильно, то можно еще попытаться узнать на каком узле обрывается соединение. Для этого используется команда traceroute:

Все эти данные помогут понять в чем была ошибка и как ее решить.

Мониторинг ресурсов системы

Часто может случится, что сервер начинает работать очень медленно, веб-службы начинают очень долго отвечать на запросы и даже соединение по SSH работает медленно. Скорее всего, причиной этому может стать перегрузка ресурсов процессора или памяти. Если вся память будет занята, система будет сбрасывать данные на диск, в раздел подкачки, что тоже сильно замедляет работу сервера. Чтобы посмотреть сколько памяти осталось доступно используйте команду free:

Естественно, что если свободно только 40-50 Мб, то этого системе очень мало и все будет работать очень медленно. Следующим шагом будет выяснить какой процесс потребляет больше всего памяти, для этого можно использовать команду htop:

В утилите вы можете сортировать процессы по загрузке процессора, колонка %CPU% или по потреблению памяти %MEM%. Так вы можете очень просто понять в чем проблема и кто перегружает систему. Например, веб-сервер Apache потребляет слишком много памяти, поэтому, возможно, будет эффективнее использовать Nginx.

Также в некоторых случаях нас может интересовать загрузка диска Linux и какие именно процессы перегружают жесткий диск. Для этого применяется утилита iotop. Просто выполните утилиту без параметров:

Проверка работоспособности сервисов

В системное администрирование linux также входит управление сервисами. Сейчас в большинстве дистрибутивов, в качестве системы инициализации используется systemd. Соответственно, управление службами linux выполняется с помощью нее. Чтобы посмотреть запущена ли служба, например, веб-сервер nginx, выполните:

sudo systemctl status httpd

В многочисленном выводе утилиты вы должны увидеть сообщение Active (running), это означает, что все хорошо и служба работает так как нужно. Возможно, также вам придется перезапустить службу:

sudo systemctl restart httpd

Или запустить ее, если она не была запущена до этого:

sudo systemctl start httpd

Если служба не запустилась, то вы можете посмотреть информацию об этом с помощью команды status или же выполнить:

Просмотр логов

Если какой-либо сервис или системный компонент не работает, то первое что нужно сделать — это смотреть логи. Если не помогает — включить режим отладки и смотреть логи. В 90% вы найдете ответ почему ничего не работает в логах программы. Логи всех служб и системные логи находятся в папке /var/log/. Некоторые службы создают отдельные папки для своих файлов, например, /var/log/nginx или /var/log/apache.

Если в обычном логе вы не нашли решение, то можно переключить программу в режим отладки или включить отображение максимально подробной информации. Обычно это дается в конфигурационном файле программы. Приводить конкретные примеры нет смысла, поскольку у каждого сервиса все по-другому. Но рассмотрим несколько команд, которые вы можете использовать:

tail -f /путь/к/лог/файлу

С помощью этой команды вы можете в реальном времени просматривать изменения в конце лог файла. Если опцию -f не указывать, то команда tail покажет десять последних строк из лога:

Также для просмотра лог файла вы можете использовать любой текстовый редактор или утилиту cat.

Установка программного обеспечения

Установка программного обеспечения, одна из распространенных задач администрирования. В Linux большинство программ можно установить из официальных или сторонних репозиториев. Некоторые программы нужно собирать из исходников. Для установки софта из репозиториев используется пакетный менеджер. Существуют два основных пакетных менеджера, которые применяются на серверах, это yum, который используется в CentOS и apt, который применяется в Ubuntu. Работают пакетные менеджеры похожим образом и все их мы рассматривали в отдельных статьях, смотрите установка программ CentOS и установка программ Ubuntu. Например, чтобы установить пакет в Ubuntu используйте такую команду:

sudo apt install имя_пакета

А в CentOS/RedHat:

sudo yum install имя_пакета

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

Выводы

В этой статье мы рассмотрели в общих чертах администрирование Linux для начинающих, это очень обширная тема, поэтому сложно охватить ее в одной статье. Мы рассмотрели диагностику сети, установку пакетов, просмотр логов и другие основные действия. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

Оцените статью