Принудительная перезагрузка Linux

18 Oct 2016 | Автор: dd |

Начал дурковать один из серверов – с периодичностью в месяц залипал намертво, т.ч оживляла только перезагрузка. Учитывая, что на серваке заведено несколько /24 сеток, то каждый раз подъем занимал какое то время + время простоя.

Оттрейсить причину никак не получалось. Точнее я пришел сначала к выводу, что все дело в ip-спуфинге; но перезаточка сервера и обновление софта от которого все могло идти, особой проблемы не решило, т.к сервер стабильно отработал два месяца и снова начал падать с заветной периодичностью.

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

В одно из падений, полез смотреть диск. Т.к на подключенную партицию система ругалась что чекать не может
/dev/sda2 is mounted
e2fsck: Cannot continue, aborting
то пришлось проглядеть, что и как в режиме просмотра:
# fsck -nf /dev/sda2
где n – только проверять без правок,
f – форсить выполнение

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

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

И тут вылезло прекрасное, ибо на большую часть команд сервер отвечал Input/output error
-bash: /bin/vi: Input/output error
-bash: /bin/cat: Input/output error

Тут уже четко было ясно, что “новый” диск посыпался, т.ч еще до запуска fsck было понятно что диск надо менять. Запуск сканера лишь подтвердил эту уверенность, ибо полетели нечитаемые области.

Решил ребутнуть сервер, но перезагрузка тоже выдавала ошибки IO
# reboot
bash: /sbin/reboot: Input/output error

Так что пришлось ребутить жестко и принудительно через sysrq (машина естественно под линем, CentOS):
сначала включаем System Request Key
# echo 1 > /proc/sys/kernel/sysrq
говорим принудительно перегрузить ядро без синхронизации и размонтирования
# echo b > /proc/sysrq-trigger

если сервак надо не ребутнуть, а выключить, то вместо b посылаем o, более подробно на офф.сайте.

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

В этом раз я правда поглядел, что за диск мне дали, с помощью smartmontools. Но это уже другая история.

VN:F [1.9.21_1169]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.21_1169]
Rating: +2 (from 2 votes)
Принудительная перезагрузка Linux, 10.0 out of 10 based on 2 ratings

Теги:

Ваш отзыв