Помощник системного администратора linux

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

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

Совсем недавно (5-8 лет назад) системный администратор Linux был ограничен в средствах администрирования и автоматизации. Где-то можно было обойтись самописными скриптами на bash, Python, Perl, а где-то уже требовалось решение уровня энтерпрайз от таких гигантов, как IBM, Oracle или RedHat.

С развитием Open Source стала развиваться и автоматизация в администрировании. На замену самописным скриптам и программам пришли готовые решения. Эти средства появились не на пустом месте. Это были решения по автоматизации существующих задач любого системного администратора. Зачастую это решения, развиваемые по принципу KISS (акроним для «Keep it simple, stupid»), которые получали большие перспективы развития и распространения.

Конечно, лет 5-10 назад средства централизованного администрирования в Windows были развиты лучше, чем в Linux. Это было небезосновательно, т.к. Windows был широко распространён как среди домашних пользователей, так и в офисной/серверной среде. Microsoft, похоже, не предполагала что когда-то будет соперничать с Linux в серверном сегменте. Но не будем здесь углубляться в эти застойные времена для Microsoft, когда главой корпорации был Стив Балмер.

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

Одним из часто используемых средств администрирования мною и коллегами до появления ansible/puppet/chef был cssh (Cluster SSH).

Cluster SSH в работе

Работа с cssh была проста, не нужно было повторять одни и те же действия на каждом сервере по очереди, всё сводилось к мультиплексированию ввода в терминале на группу SSH подключений. У этого решения, конечно, были очевидные недостатки — необходимо было взаимодействие с администратором, его контроль. Сегодня средства автоматизации ушли намного дальше в своих возможностях и функциональности и зачастую расширяются плагинами.

13 сентября – 9 октября, Санкт-Петербург и онлайн, Беcплатно

Одно из наиболее распространённых средств автоматизации в администрировании — Ansible. Оно позволяет автоматизировать практически любые задачи системного администратора. Для работы достаточно SSH доступа к хостам. На сайте есть обзорная статья про Ansible, как его настроить и работать. Проект развивался независимо и вскоре был куплен компанией RedHat.

Мониторинг

После настройки сервера и введения его в эксплуатацию для обеспечения SLA и не только необходимо уделить внимание мониторингу.

Мы часто разделяем мониторинг на два отдельных компонента:

  • мониторинг с оповещениями,
  • статистика по показателям.

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

  1. Zabbix/Nagios/Icinga — используем для получения событий агентами и уведомлений по триггерам.
  2. Grafana + InfluxDB — в эту связку входят также Chronograf, Kapacitor, Telegraf.
    • InfluxDB — time series база данных, принимает на вход данные с различных источников. Имеет широкий функционал возможностей для работы с данными.
    • Chronograf — веб-панель с дашбордами и система управления Influxdb, Kapacitor.
    • Kapacitor — обработчик событий.
    • Telegraf — агент, отправляет данные с удалённых систем.
    • Grafana — всем известная система построения дашбордов/графиков.

Также в категории мониторинга стоит обратить внимание на Netdata. Это одновременно и агент, и система мониторинга в реальном времени с дашбордом для просмотра статистики, предварительно настроенными графиками и триггерами. После установки остаётся настроить лишь способы оповещений с указанием канала передачи.

Netdata — это «швейцарский нож» в системе мониторинга, обладает широкой функциональностью, поддержкой модулей на Python, Go и не только.

Централизованное управление пакетами

В качестве централизованного управления набором ПО и его обновлениями мы использовали RedHat Spacewalk.

Интерфейс RedHat Spacewalk

С выходом RHEL 7 RedHat провели обновление, вследствие чего заменили Spacewalk на RedHat Satellite, который во многом напоминает Foreman. Для перехода на RedHat Satellite необходимо было бы перенастраивать уже работающие с RedHat Spacewalk системы, отлаживать новое решение (RedHat Satellite) и почти гарантированно бороться с новыми проблемами.

Зачастую в госструктурах и энтерпрайзе широко использовались решения RedHat. И тут со второго плана выходит компания Oracle, которая занималась развитием дистрибутивов Oracle Enterprise Linux/Oracle Unbreakable Enterprise Kernel.

Это продукты, основанные на кодовой базе RedHat Enterprise Linux, но с большим количеством доработок под собственные нужды, в которые том числе входило создание и поддержка среды для, наверное, основного продукта компании Oracle — Oracle Databases.

Но, в отличие от RedHat, дистрибутив которого скачать можно было только по подписке (лицензировании), не говоря уже об обновлениях, Oracle предоставляет это бесплатно. Именно Oracle взялся поддерживать и продолжать развитие Oracle Spacewalk, который вскоре был обновлён в Oracle Linux Manager.

Логирование

С увеличением количества обслуживаемых хостов возникает необходимость централизованного сбор логов. Для этих задач отлично подходят уже готовые Open Source решения, которые мы используем:

Агенты — rsyslog, syslog-ng (доступны в большинстве дистрибутивов)

При небольшом количестве администрируемых хостов можно обойтись syslog-ng как централизованным хранилищем для файлов логов, который будет принимать сообщения на 514 UDP порт. Он умеет раскладывать сообщения по директориям в зависимости от источника (FQDN/IP-адреса), сервиса, дате и прочее.

Резервное копирование

Для резервного копирования выбор достаточно прост. Где-то достаточно rsync + tar (синхронизации и сжатия), а где-то требуется Bacula/Bareos.

В резервном копировании есть достаточно хорошие проприетарные решения, например, «Veeam backup». Если вы используете виртуализацию VMWare, то здесь Veeam упрощает резервное копирование и предоставляет поддержку.

Также в своих решениях мы используем резервное копирование для /etc директории — etckeeper. Он позволяет автоматизировать сохранение содержимого каталога /etc в хранилище системы контроля версий (VCS), отслеживает, когда ваш пакетный менеджер сохраняет изменения в /etc при установке или обновлении пакетов.

Читайте также:  Не грузит загрузочную флешку windows

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

Иногда случается так, что подготовленный к установке/обновлению пакет программ может перезаписать существующие файлы в /etc , т.к. некоторые заказчики пользуются сторонними службами/пакетами. Etckeeper умеет фиксировать конфигурацию перед установкой пакетов и после, что значительно облегчает работу.

Постскриптум

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

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Источник

Как стать системным администратором — пособие для начинающих (часть 1)

Так получилось, что эту весну я провёл в поисках/собеседованиях людей аж на четыре вакансии, связанные с системным администрированием. Я пообщался с несколькими десятками людей и заметил характерные ошибки и проблемы, с которыми они сталкиваются. Излагаю то, что заметил, а так же свои мысли, как эти проблемы решить.

scope: начинающие системные администраторы, помощники системных администраторов и т.д. Опытным администраторам, а так же тем, кто имеет вполне конкретную специализацию будет если и интересно, то бесполезно.

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

Какие бывают системные администраторы?

Если очень огрублять, сисдамины бывают со специализацией, и без специализации. Обычно карьеру начинают без специализации, потом имеют несколько «загнувшихся» веток развития и одну-две-три, в которой проходит дальнейшая жизнь (классические «билды» персонажей в RPG очень хорошо соответствуют этому). Сисадмин без специализации — эникейщик-переросток (я этот тезис разберу чуть ниже). Однако, востребованность сисадмина узкой специализации ниже (если считать в штуках вакансий), чем сисадминов универсалов (этот тезис я тоже раскрою ниже). Однако, при меньшем количестве вакансий, реальная потребность в квалифицированных специалистах много выше, чем есть самих специалистов, то есть чем выше квалификация, тем меньше конкуренция. В какой-то момент у вас будет лежать несколько предложений от разных компаний, хоть вы и не планируете уходить из текущей.

(Забегая чуть вперёд — чем выше квалификация, тем дольше ищется новая работа, для топового спеца искать работу пол-года — это вполне нормально. Характерно это не только для админов, но и для других профессий с высокой ответственностью и узкой специализацией).

Кому нужны сисадмины?

Поскольку сисадмин — профессия, то за неё платят деньги. Деньги обычно платят компании сотрудникам. Значит, компаниям нужны сисадмины.

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

Начнём с непрофильных. Непрофильный работодатель — это компания, которая НЕ занимается IT, или занимается ею в далёкой от сисадмина области. Яркие «антиподы» IT-шности: туристические агенства, компании, работающие с недвижимостью, автодиллеры и т.д. Для них администратор — это такой «электрик/завхоз по компьютерам». Им не нужна сложная инфраструктура, они знать не знают про то, что делают сисадмины, что там есть сложного и что простого. Они не могут проконтролировать качество работы сисадмина, а единственным признаком его успешности является «работает» или «нет». Точный уровень развития компании очень сильно варьируется и может сводиться к «настроить принтеры и аську» до сопровождения довольно экзотических программ (этим особо страдают медицинские учреждения). В любом случае, айтишная сложность их конфигурации чаще всего минимальная, и говорить про реальное «хозяйство» сисадмина не приходится.

Отдельно нужно упомянуть компании с высокой степенью айтизации не-айтишного бизнеса. (Яркий пример — торговые сети, банки). Чаще всего в такой компании таки есть человек, который способен оценить качество работы и сложность решения, он же обычно способен говорить с сисадмином на нормальном языке, а не изъясняться птичьими словами про «не работает интернет», «процессор под столом пищит» и т.д. Однако, не смотря на возможную сложность конфигурации, она вполне ограничена бюджетом и потребностями компании, и обычно не требует выходить за рамки минимума для работы. Потребности IT-отдела воспринимаются как чистая обуза, которую нужно на этом самом птичьем языке отстаивать.

Второй тип работодателей, это профильные компании. Большинство крупных интернет-сайтов являются такими, к таковым же относятся хостеры, дата-центры (если они занимаются чем-то, кроме аренды юнитов/dedicated), компании, у которых бизнес завязан на компьютерные технологии (сотовые компании, процессинговые центры). Заметим, что у профильных компаний так же бывают непрофильные администраторы (которые занимаются обслуживанием рабочих мест в back-office’е), при трудоустройстве нужно точно для себя выяснить, чем именно вы будете заниматься.

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

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

Кто такой системный администратор-универсал?

На самом деле такой профессии не существует. Так сложилось, что многие компании хотят иметь в штате человека, который будет отвечать «за всё компьютерное». Обычно это непрофильные компании. Причём хотят они одного-двух, а не три десятка сертифицированных специалистов. (Для тех, кто хочет рассказать про своё блестящее настоящее в лице администратора Oracle и т.д. — повторю, речь про ситуацию на рынке). Отсюда простое правило: от вас будут хотеть всего сразу же. Причём, в будущем вы обнаружите, что поверхностные знания обо всём не особо ценятся. Однако, такие рабочие места — отличное место для начала — вы можете попробовать всё и понять, что вам нравится больше всего.

Читайте также:  Asus x540sa recovery windows 10

Таким образом имеется явное противоречие между работой начинающего системного администратора (точнее, теми требованиями, которые к нему предъявляют) и дальнейшим карьерным ростом. Это противоречие появляется не сразу же, а через некоторое время, когда человек осваивается с работой.

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

Что подразумевают под системным администрированием?

(речь про сисадминов-универсалов, конечно)

  • Администрирование сети. В минимальном виде это «гуру конфигурации десктопного wi-fi роутера», в максимальном — человек, который спланирует сеть на 1000 человек с филиалами в пяти городах. В это входит: топология сети (какую железку в какую втыкать и зачем), планирование СКС (где и сколько розеток), конфигурация nat’ов и vpn’ов и т.д. В эту же кучу идут и всякие сервисы контроля доступа в интернет — squid, IIS, умные и тупые файрволы, IDS и т.д.
  • Администрирование рабочих станций. Сгоревшие БП, переустановка виндов, решение проблемы с очередным банк-клиентом, починка отвалившейся печати, решение проблемы «чем мне открыть этот файл», борьба с вирусами для windows и т.д. Минимальный уровень — установить офис, максимальный — разработать групповую политику для автоматического накатывания новой версии софта, которая не имеет msi (самому делать придётся). Заодно решаются проблемы с автоматическим деплоем рабочих станций, бэкапов, безопасного удаления и т.д.
  • Централизованная авторизация. Обычно в этом качестве выступает Active Directory. Одна из самых «чистых» дисциплин, она же одна из самых сложных. Минимальный уровень — добавить/удалить пользователей, вогнать рабочую станцию в домен. Максимальный — реализовать автоматическое назначение политик на пользователей заданного OU в случае доступа к компьютеру в одном из узлов соседнего дерева в лесу (мы все любим эту терминологию, да).
  • Почта. Условно делится на три мира: мелкие виндовые почтовые сервера (класса Kerio), могучий и ужасный Exchange, нормальный linux/freebsd сервер с любым вменяемым почтовым сервером (postfix, exim, sendmail и т.д.). Минимальный уровень: добавить почтовый ящик, добавить ещё один домен и добавить дополнительный емейл пользователю. Максимальный уровень: настроить почтовую тикет-систему, список рассылки, фильтрацию спама, автоматическое заведение ящиков и т.д.
  • Базы данных — чаще всего является частью другой инфраструктуры. Специализированные администраторы баз данных — совсем отдельная лига. Минимальный уровень: установить, перезапустить, подключить в приложении, добавить/удалить БД. Обычно так же умение сделать бэкап и его восстановить (что сложнее). Максимального уровня нет, т.к. если вы хорошо знаете какую-либо СУБД, SQL, способны развернуть сервер с активной асинхронной подпиской на другую БД, то это уже не совсем «универсальный системный администратор». Условным потолком можно считать способность починить побившуюсь MyISAM базу данных.
  • 1C. Не смотря на то, что 1C — это такая фирма, выпускающая игрушки и обучающие диски, под «1С» обычно подразумевают 1C: Предприятие, 1С: Бухгалтерию и прочие кошмарные порождения извращённого соития бухгалтерии и программирования. Человек, который много про «это» знает, называется «программист 1С» (не путать с нормальными программистами). Минимальный уровень: создать новую базу, завести/удалить пользователя. Максимальный уровень: поправить конфигурацию, добавить поле в отчёт, разбираться с тем, как 1С возлежит с SQL.
  • Сайты. Под этим может подразумеваться почти что угодно — от «заказать shared-хостинг» до «решить проблему производительности в django-orm при работе с postregsql». Запросто в эту область может оказаться включенным копирайтинг, поисковый спам (SEO), веб-дизайн, веб-программирование и т.д. Минимальный уровень: уметь чуть-чуть верстать в html, максимального не существует, т.к. перечислены разные профессии. Кстати, среди них есть и настоящая систадминская: администратор web-сервера — load ballancing, failover, high avablility, кластеры и т.д., что опять же выходит за категорию «универсальности».
  • Системы контроля доступа и видеонаблюдение. Чаще всего их делают специализированные организации, однако, бывает, что приходится возиться и системному администратору. Минимальный уровень: подцепить ещё одну камеру, прописать карточку доступа. Максимальный уровень: автоэкспорт видео в архив, синхронизацию всех видов контроля. Будущее с большой вероятностью не админское, насколько я знаю, эту область администраторы обычно не любят.
  • АТС. Ещё одна область, которая попадает в системное администрирование случайно. Минимальный уровень: добавить переадресацию, подключить дополнительную входящую линию. Максимальный уровень: поднять свой астериск с голосовым меню на 300 пунктов, sip-skype гейтом, маршрутизацией, способной перкидываться между IP, медью и E1 в зависимости от условий. Ещё сюда часто попадает телефонная legacy, «обстучать крон», разбираться в всяких плезиосинхронных входящих линиях, E1 и т.д. Повторю, это не админская специализация — вообще этим занимаются телефонисты.
  • Печать/сканирование. Чаще всего тривиальная задача, пока не приходится делать принтеры сетевыми и решать проблемы всяких промышленных принтеров. Минимальный уровень: подцепить принтер; Максимальный уровень — решить проблему цветовых профилей, подключить принтер этикеток в качестве сетевого, автоматически назначать принтеры при входе пользователя на компьютер.

Помимо этого есть множество специфичных областей: терминальные серверы, различные ERP/CMS, служебный софт для обслуживания сети и т.д.

Подводя итог: невозможно быть не то, что профессионалом, но хотя бы более-менее хорошо знать всё это. Но знать надо. Именно на этом противоречии и строится карьера начинающего администратора.

Читайте также:  Установка новых компонентов windows

Отдельно нужно сказать о тех, с кем вы столкнётесь при собеседовании. В отличие от остальных случаев, собеседовать вас будут с 99% вероятностью люди, далёкие от компьютеров. И проверять они будут не ваши знания, а вашу адекватность и «бойкость ответов». Если вы их закидаете умными словами, вас не воспримут адекватно.

Кто такой помощник системного администратора?

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

Основные вещи, которые обычно делает эникейщик:

  • helpdesk — стол вспоможения. Отвечать на телефонные звонки сотрудников, показывать как нажимать any key, помогать найти кнопку сортировки столбцов и выковыривать застрявший в приводе диск.
  • Подготовка рабочих станций — установка, подключение, укладывание проводов, установка ОС и софта и т.д.
  • Решение всякой неизлагаемой словами фигни с пользовательскими приложениями — особенно это касается софта из налоговой и банк-клиентов.
  • Исправление СКС (новые розетки, перенос существующих), диагностика проблем, коммутация, если стоят кроссы, то их расшитие.

Если в компании нет эникейщика, то его обязанности исполняет системный администратор.

Заметим, «помощник системного администратора» чаще всего практически расходный материал с высокой текучкой. В одной компании дело доходило до того, что начальник отдела не знал по именам всех помощников администраторов (3 шт), ибо хоть кто-то но раз в месяц-полтора уходил.

С точки зрения эникейщика — такая работа — это трамплин в системное администрирование, но никак не основная профессия.

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

Кто идёт в эникейщики?

Мой опыт говорит, что туда идут обычно люди без профильного образования. Чаще всего молодые, хотя я собеседовал дядю 42 лет на должность «помощник системного администратора». Не смотря на то, что описанные выше обязанности вроде бы являются почти тривиальными, для многих это самый сложный шаг. Стать администратором из помощника администратора легче, чем стать помощником сисадмина.

Основная причина: от вас будут хотеть знаний, которые сравнимы с администратором. Причём, половина из этих знаний не изложена нигде в книгах и является переходящим опытом (например, возня с банк-клиентами). Ещё одной важной особенностью является «чувство компьютеров», я встречал на собеседованиях много людей, они просто не могли оценить естественность того, что происходит в компьютере, что сильно им мешало в анализе ситуации. Это невербальный опыт, он появляется после долгой работы с компьютерами.

Карьера

Типичная карьера выглядит так: помощник системого администратора (или администратор в маленькой компании с 5-8 человеками), администратор, администратор (может быть ещё 2-3 раза администратор), начало настоящей специализации. Специализация может быть двух видов: повышение технического уровня (вместо поверхностных знаний обо всём, глубокие знания о немногом), и административная карьера — начальник IT-отдела, CIO (ИТ-директор) и т.д. Это два совершенно разных направления — первое связано с компьютерами, второе — с людьми, управлением персоналом, планированием, бюджетированием, совещаниями и т.д.

Переход с этапа на этап определяется несколькими факторами: 1) Теоретическими знаниями 2) Практическими навыками 3) Знанием реалий 4) Связями и отношениями с другими людьми (как внутри компании, так и за её пределами).

Среди этого не очень понятным выглядит третий пункт. Что такое «реалиии»?

Знание реалий

Речь идёт про знание того, чем обычно пользуются в компаниях, сколько это стоит и как работает. Условно говоря, это человек, который знает, что современные офисы кладут 5e, а не ThickEthernet (как было описано в книжке 1993 года), что класть 6ую катеорию неоправданно (хоть это и советует буклет производителя), что за программистами нужен глаз да глаз, иначе компания окажется намертво завязана на конкретного человека и т.д. Другими словами, знание реалиий — это способность сказать, что именно нужно в терминах, которые будут понятны и поставщику, и окружающим.

До определённого момента решают почти всё. Без некоторого набора навыков никакие теоретические знания не помогут. Включает в себя просто «много километров за рулём» — решение множества проблем, навыки работы с консолью и типовым софтом, знание симптомов проблем, знание типовых решений для типовых случаев.

Теория

На первых порах теоретические знания не очень важны, поскольку у вас нет должного ощущения от компьютеров, чтобы правильно их воспринять. Однако, если не вкладывать своё время и усилия в теоретические знания, то вы быстро не заметите, как застряните на своём уровне. Зарплата будет по чуть-чуть расти, возможно, будет карьера, но ит-шный мир вокруг перестанет меняться. Те же технологии, те же глюки. Отсутствие теоретических знаний не мешает работать — оно мешает понимать, как работает и как чинить неработающее. Опыт сильно подменяет теорию в смысле решения проблем, но не даёт сил увидеть ситуацию в общем, найти настоящую причину (вместо повода).

Связи

Да, они значат очень много, особенно, в случае карьеры IT-директора. Единственный метод избежать необходимости иметь много знакомых и играть в офисные игры «царь горы» — это профессионализм (читай, опыт и теория). Если нет — то только личные связи, знание людей, умение их ощущать, умение им приказывать и всячески иначе руко водить. По моим наблюдениям примерно 30% эникейщиков находят первую работу по знакомству.

Для узкоспециальных администраторов связи значат уже совсем другое. Чем уже специализация — тем меньше ассортимент работодателей, тем больше вероятность знать всех или почти всех. Наличие примелькавшегося имени сильно сокращает время поиска работы. В этом случае речь идёт не о «связях» в бытовом смысле, а о профессиональной известности.

Источник

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