USD 94.32 ЕВРО 100.28

18 правил системного администрирования

Аналитика

Этот набор правил поможет вам и вашим пользователям



Правила жизни

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

Никогда не делайте ничего необратимого

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

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

Избегайте внесения изменений по пятницам

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

Определите главные причины

Докопайтесь до первопричины проблемы, с которой вы столкнулись. Если вы сомневаетесь, используйте правило «пяти почему». Крашнулся сервер. Почему? Потому что у него закончилась память. Почему? Потому что какой-то процесс ведет себя неправильно. Почему? Потому что он зациклился. Почему? Потому что была ошибка в конфигурационном файле. Почему? Потому что я отредактировал файл перед тем, как покинул офис в пятницу вечером, и забыл запустить тесты, чтобы убедиться, что все работает хорошо.

Проверьте на практике планы аварийного восстановления

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

Никогда не полагайтесь на скрипт, который вы не протестировали внимательно.

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

Автоматизируйте все, что вам приходится делать больше, чем три раза.

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

Документируйте работу

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

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

Обратите внимание на свои ошибки

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

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

Будьте немного параноиком

Всегда задавайте себе такие вопросы: «можно ли злоупотребить этим?», «кто-то может сломать это?» и «уязвим ли этот сервис?» Используйте ограниченные разрешения для всех скриптов, которые никто, кроме админов не должен видеть. Мысли о защите помогут сохранить вам много нервных клеток. Когда дело доходит до администрирования серверов, паранойя — это добродетель!

Будьте инициативным

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

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

Уделяйте большое внимание безопасности

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

Не игнорируйте лог-файлы

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

Делайте резервное копирование всего

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

Цените время каждого, как свое собственное

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

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

Найдите способ нравиться коллегам

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

Никогда не прекращайте получать новые навыки

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

Старайтесь найти баланс в жизни

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