Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Системный подход в работе системного администратора

Немоляев А. В., Екатеринбург, 2015, vk.com/linuxbergi

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

Предпосылки

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

Есть два типа организаций: с хорошо организованной работой IT отдела, и с плохо организованной. Здесь я хочу рассказать о своём видении решения проблем, правильной организации работы IT отдела и системного администратора в частности.

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

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

Системотехника, как дисциплина

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

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

В качестве примера системы, можно привести управленческое подразделение предприятия. Цель управленческого подразделения - вырабатывать указания по управлению предприятием. Что является системой, а что подсистемой, зависит от точки зрения, с которой мы смотрим на ситуацию. Управленческое подразделение является подсистемой по отношению к предприятию целиком. А информационная инфраструктура - подсистема по отношению к управленческому подразделению. Управленцы объединены в систему и используют IT структуру для выработки более качественных управленческих решений. Современное управленческое подразделение - человеко-машинная система. Человек может выступать в качестве компонента системы. Вообще системы подразделяются на организационные, технические и организационно-технические. Современное управленческое подразделение = это пример организационно-технической системы.

Не системный подход

А теперь рассмотрим, в какую ситуацию попадает системный администратор в первом случае, когда у руководства не системный подход к IT области.

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

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

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

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

Системный подход

Рассмотрим, как работает администратор при правильном, системном подходе. Статус системного администратора - важнейший фактор успеха его деятельности. Информационная инфраструктура - это область компетенций системного администратора и у него должны быть полномочия по её управлению. В успешных организациях руководитель IT отдела - это уровень заместителя директора или главного инженера, но не уровень младшего обслуживающего персонала. Из этого факта логически вытекает необходимость внутрифирменных, нормативных документов регулирующих его деятельность. Это средство для предотвращения конфликтов и неясностей. Сисадмин совершенствует информационную инфраструктуру, поддерживает её работоспособность, обеспечивает её живучесть и эффективную эксплуатацию. Сисадмин предоставляет сотрудникам ресурсы вычислительной инфраструктуры, совместно с руководством согласует требования к системе и методы её совершенствования. Хочется обратить внимание, что в информационную инфраструктуру входят технические и программные средства, накопленные данные, обученный персонал, административные правила взаимодействия пользователей с системой. Все эти составляющие взаимозависимы и одинаково важны для успешного функционирования IT структуры.

Системный подход в действии

Сейчас рассмотрим принципы и приёмы удачного администрирования.

Нужно документировать систему, не должно быть тёмных мест. Информация о системе должна быть доступна в короткое время и удобна для восприятия. Хорошо хранить сведения о пользователях, рабочих станциях и серверах в файлах какой-либо настольной СУБД.

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

Не допускать частые и необоснованные изменения в системе. Система должна "устояться". Руководством к внесению изменений должны служить реальные задачи предметной области, а не компьютерная мода. Хотя производители программного и аппаратного обеспечения в своей рекламе часто убеждают, что если не купить их продукцию, то наступит смерть. К примеру, старая операционная система OS/2 эксплуатируется многими серьёзными фирмами, список можно посмотреть на http://www.ecomstation.com/ .

Резервирование и дублирование. Чаще нужно задаваться вопросом: "А что если, такая то подсистема выйдет из строя, как я буду действовать?" Главное, что нужно уяснить, успех системного администрирования заключается в действиях на предупреждение, а не на устранение последствий. Если сисадмин будет ориентироваться на свою эрудицию, а не на системный подход, то он потерпит неудачу.

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

Централизованность. Идеальным вариантом для администрирования, является одна большая машина, с множеством терминалов. Одну машину, хотя и большую, легче держать под контролем, чем множество. Да и дублировать проще. Но не всегда возможно это реализовать. Реальнее организовать централизованное хранение данных. Некоторые руководители задаются вопросом "А зачем файловый сервер, когда диски такие дешёвые?". А затем, что бы держать под контролем самое ценное организации, его данные.

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

Нужно чётко понимать разницу между резервным копированием и архивированием данных. Дополнительно, в централизованном хранилище проще организовать автоматический поиск. Дальнейшее развитие принципов управления данными приводит к идее создания корпоративной СУБД, но это отдельная тема.

Централизованное хранение данных позволяет квалифицированно решить ещё одну задачу. Информация в системе условно делится на две категории по скорости изменения, на программы и данные. Данные меняются быстрей и уникальны, программы хотя и меняются, но значительно реже. Поэтому всю информацию на рабочей станции нужно разделить на программы и данные. Данные хранятся на сервере и за ними пристальный присмотр. А дистрибутивы и версии программ должны быть известны и хранится у сисадмина. Если случится крах рабочей станции, можно установить на рабочее место заранее подготовленный системный блок, с нужными программами. Но естественно, этот блок должен быть заранее подготовлен. Для OC Windows хорошим приёмом является периодическое резервирование реестра. Практика показывает, что именно реестр, чаще всего является причиной сбоев и отказов.

Факторы нестабильности и угрозы. Нужно представлять себе факторы, вызывающие нестабильную работу и отказы. По моему убеждению, причиной 80 % отказов компьютера является некорректная работа программного обеспечения. Основная причина - это распространённое вредоносное программное обеспечение. Имеется некоторое недопонимание опасности malware. Так как программы устанавливаются и функционируют нелегально или полулегально, то косвенно, они могут вызвать нестабильную работу компьютера, и это помимо их прямого вреда. Распространены программы с двойным назначением, одна функция регламентируется, а другая нет, но рядовые пользователи не знают о теневой стороне используемых ими программ.

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

Второе важное средство защиты - это работа пользователей с обычной учётной записи. Это очень эффективно в борьбе со spyware и adware. Вредоносная программа, запущенная с правами обычного пользователя, а не администратора, будет сильно ограничена в своих вредоносных возможностях, в то время как программа, запущенная с правами администратора, может установить драйвер, фактически - программный код, работающий в пространстве ядра.

Если своими силами не удаётся добиться стабильной работы ПК, можно воспользоваться простейшим приёмом. Установить вторую операционную систему, не удалив прежней. Предложить пользователю работать на свежей системе, с возможностью запускать старую систему. Такой подход успокаивает пользователей, когда они видят, что прежняя система никуда не делась. Конечно, нужно установить дополнительный диск, или создать раздел, сдвинув существующие разделы. Дело ещё и в том, что по мере интенсивной эксплуатации Windows, ОС может деградировать, в ней накапливаются множественные нарушения. Начинающие пользователи любят устанавливать новые программы. Они не понимают, что не всегда установка и удаление программы остаётся без последствий.

Отдельная тема - это автоматическое обновление программного обеспечения через интернет, которое может привести к нарушению работоспособности. Установка программного обеспечения должна выполняться только системным администратором.

Хорошее средство против malware - это Linux. Сам, и дома и на службе, работаю c Linux. Эту статью набирал в MS Word, запущенный в Linux c помощью Wine.

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

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

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

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

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

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

Выводы

Проблемы в работе системного администратора - это следствие плохой организации работы IT отдела.

  • Для правильной организации его работы нужно понимать некоторые принципы и подходы, которые могут показаться не очевидными.
  • Информационная инфраструктура состоит из людей, программ и аппаратуры и всё это должно эффективно и устойчиво взаимодействовать.
  • Работа системного администратора - это работа с людьми и требует организационных навыков.
  • На работу системы влияет множество неблагоприятных факторов, которые нужно выявлять и предотвращать, или снижать потери от их воздействия.
  • Администрировать нужно систему целиком, учитывая и связи, а не изолированно, отдельные компоненты системы.
  • Умело комбинируя компоненты с ограниченной отказоустойчивостью, можно добиться построения отказоустойчивой системы.