история

Клиент позвонил в панике: "Ваш сервер сломался! Никто не может зайти на сайт!" Я проверил свой мониторинг — все сервисы в норме, сервер отвечает, база данных работает. Зашел с телефона через мобильный интернет — сайт открывается. Что происходит?

Я спросил у клиента его IP-адрес и проверил геолокацию — он находился в другом городе. Значит, проблема не глобальная, а локальная для его сети. Первое подозрение — проблемы с DNS. Но когда я попросил его выполнить nslookup example.com, он получил правильный IP-адрес моего сервера.

Последнее обновление чуть не стоило мне работы. Я выполнил стандартную команду sudo apt update && sudo apt upgrade -y, перезагрузил сервер и... он не поднялся. BIOS прошел, но система не загружалась дальше initramfs. На экране мигало: "ALERT! /dev/sda1 does not exist. Dropping to shell!"

Холодный пот покатился по спине. Это был продакшн-сервер с сайтом, который приносил компании деньги каждый час простоя. Я подключился через KVM, оказался в emergency shell initramfs. Стандартные команды не работали, файловая система не смонтирована.

Первым делом проверил доступные диски: ls /dev/sd*. Вместо ожидаемого /dev/sda там был /dev/nvme0n1. Ага! Проблема в том, что после обновления initramfs изменил способ именования дисков. Раньше был SATA-диск как /dev/sda, а теперь система видит NVMe-диск как /dev/nvme0n1.

Опубликовано в Unix

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

Первое, что я проверил — работает ли сам сервер. Ввел ping 8.8.8.8 (это DNS Google). Ответы были. Значит, интернет на сервере есть. Следующий шаг — проверить, слушает ли веб-сервер порт 80. Команда netstat -tuln | grep :80 показала, что ничего не слушает на этом порту. Nginx упал. 

Я попытался перезапустить его: sudo systemctl restart nginx. Система ответила ошибкой: "Job for nginx.service failed". Теперь нужно смотреть логи. Я перешел в папку логов: cd /var/log/nginx и открыл последний файл ошибок: sudo tail -50 error.log. Там было написано: "bind() to 0.0.0.0:80 failed (98: Address already in use)". 

Помните ваш первый день за Linux-сервером? У меня это было пять лет назад. Мне дали доступ к тестовому серверу с фразой "настрой там веб-сервер для проекта". Я знал Windows как свои пять пальцев, но Linux для меня был темной комнатой с выключенным светом. 

Первое, что я сделал — попытался кликнуть правой кнопкой мыши. Сервер, конечно, не отреагировал. Тогда я открыл терминал и напечатал "help". Система ответила "command not found". Я начал паниковать. Потом случайно нажал Tab дважды и увидел список команд. Это был мой первый прорыв. Самая частая проблема новичков — боязнь сломать что-то. Я тоже боялся. Поэтому мой первый совет: всегда работайте на тестовом сервере или в виртуальной машине. Я установил VirtualBox на домашний компьютер и там учился основам. Это спасло мне от многих ошибок. 

Опубликовано в Unix

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

Тогда я вспомнил совет старого администратора: "Когда все показывает нормально, но система работает плохо — смотри на диски". Мы проверили iostat — вроде бы нормально. Но когда я начал смотреть глубже, в детали операций ввода-вывода, картина изменилась. Среднее время ответа диска было 15мс, но 10% запросов выполнялись больше 200мс. Это как если бы в офисе один сотрудник всегда опаздывал на встречи, но статистика общего времени работы показывала норму. 

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

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

Telegram

@biglan_ru - наш телеграм
канал о крипте и заработке
на ней!
 
FEDN.RU - сайт с описанием
множества полезных
сервисов и сайтов!  
 
KALOBOK.RU - супер
развлекательный портал!

 

 

Поиск

Лучшая биржа, БОНУСЫ от нас

регистрируйся!

 

Криптокошелёк от производителя!

Свежие статьи