Вечер поднятия сервера


Ничто не предвещало беды в прекрасный воскресный вечер…
Однако случилось то, что случилось, раздался телефонный звонок, сообщающий что с серваком что-то случилось. Как оказалось — сервак не пинговался, был недоступен по ssh и радостно улыбался мне из далекой германии :) Санкции, подумал я и начал разбираться.

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

Лайфчат на сайтике вежливо вылез с предложением помочь выбрать тариф/проконсультировать о заказе, и я конечно же решил воспользоваться им — спросил что там с нашим 19 датацентром :) Меня обрадовали, сказав что трафик перенаправили по резервному каналу, и что все должно уже работать.. Но мой сервер продолжал лежать. Написал тикет в техподдержку, уточнил, это у хьюстона проблемы или у меня? :)

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

Время шло, клиенты, хостящиеся на этом сервере начинали звонить и уточнять что случилось ;) прошел примерно час с момента даунтайма.

Дело  тухло, попросил проверить доступность сервера из ДЦ, заодно запросил KVM для подключения к серверу :) Примерно через 30 минут после запроса KVM предоставили, на удивление получилось подключиться к серверу. Слегка напрягло что консоль была какой-то странноватой (странное имя хоста), но поскольку раньше я не подключался никуда через kvm то подумал что это может быть какой-то фишкой этого вида подключения :) мало ли что бывает.

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

ifconfig — выдал мне информацию о том, что ip адрес сервера совсем не мой… напрягся еще больше, посмотрел что в домашней папке — не мое… покопался в /var/www/ — не моё.. то есть мне дали kvm, подключенную к другому (абсолютно чужому) серверу, на котором я волею судьбы сбросил рутовый пароль.. sorry mates, я не специально. Копаться в чужом говне не стал, хоть и интересно иногда. Но шел третий час даунтайма и нужно было что-то срочно предпринимать.
Благополучно отключился, написал в тикет что kvm конечно замечательная, но не моя ) и что случайно сбросил там рутовый пароль) пацаны в техподдержке вообще ребята. Хотя они молодцы и сбросили пароль обратно сразу же после инцидента.

В течение часа они приходили в себя и через 1.5 часа родили, что «неприятно получилось, сейчас запросим kvm заново. »

Еще около часа KVM доступ рожали, время тикало, клиенты копили ненависть.
Когда, наконец, родили — попал на свой сервер, который висел в консоли grub rescue> с ошибкой

symbol not found: 'grub_divmod64_full'

Ошибка вызвана в принципе моими же кривыми руками при обновлении grub’a, но и не только моими )
Погуглив около 15 минут понял что решить проблему без liveCD достаточно геморройно. Поэтому решил загрузиться в специальный режим восстановления от хостера — аналог liveCD. Загрузился, сделал все по мануалу для ubuntu (хотя сервер на debian), кстати вот и сама инструкция что делать после того как загрузились с livecd.

1.Boot from the live CD.

2.In Live session open terminal.

3. In Terminal tpye sudo fdisk -l
It will display all partiton of the disk.
The partation which have Linux under System column is your drive in which ubuntu linux is installed. In screenshot ubuntu partition drive is /dev/sda11.

4. Mount the ubuntu partition drive
sudo mount /dev/sdXX /mnt (example ‘sudo mount /dev/sda11 /mnt’ ,don’t miss the spaces.)

5.Only if you have a separate boot partition:
sudo mount /dev/sdYY /mnt/boot.

6. Mount the virtual filesystems:
sudo mount —bind /dev /mnt/dev
sudo mount —bind /proc /mnt/proc
sudo mount —bind /sys /mnt/sys

7. To ensure that only the grub utilities from the LiveCD get executed, mount /usr
sudo mount —bind /usr/ /mnt/usr
sudo chroot /mnt

8. If there is no /boot/grub/grub.cfg or it’s not correct, create one using
update-grub
or update-grub2

9.Now reinstall Grub
grub-install /dev/sdX (e.g. grub-install /dev/sda. Do not specify the partition number.

10. Verify the install
sudo grub-install —recheck /dev/sdX

11. Exit chroot : CTRL-D on keyboard.

12. Unmount virtual filesystems:
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys

If you mounted a separate /boot partition:
sudo umount /mnt/boot

13. Unmount the LiveCD’s /usr directory:
sudo umount /mnt/usr

14. Unmount last device:
sudo umount /mnt

15. Reboot.
sudo reboot.

Ребутнулся, все заработало :) Полез в логи — оказалось что сервак был тупо вырублен от питания в определенный момент. На вопрос как же так случилось получил ответ (орфография сохранена):

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

P.S. Специально не называют имен и названий компаний, бывает и не такое :) На 1 час работ в итоге вышло 5 часов ожидания и 6 часов даунтайма =(


Один комментарий на «“Вечер поднятия сервера”»

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *