Время от времени я сталкиваюсь с подсказкой «режим обслуживания», и мне также приходится прокручивать журнал на наличие ошибок. Так как journalctl использует less в качестве пейджера, вы должны иметь возможность применять меньше ярлыков к вашему поиску.
Как правило, я полагаюсь на функцию поиска (/ )и ищу что-либо эквивалентное «ошибке», «предупреждению» или «сбою». И обязательно -i для принудительного поиска без учета регистра.
Таким образом, мои нажатия клавиш будут иметь вид:
-i (case insensitive)
g (move to start)
/error
nnnn (skip through results)
g (move to start)
/fail
nnnn (skip through results)
g (move to start)
/warn
nnnn (skip through results)
Технически это не исчерпывающий или точный поиск точной проблемы, но я никогда не пропускал проблемы с загрузкой таким образом.
Некоторые связанные сочетания клавиш ниже:
http://www.thegeekstuff.com/2010/02/unix-less-command-10-tips-for-effective-navigation/
I found my server can't run any command, and it shouws "input output error"
Код ошибкиEIO
(«Ошибка ввода/вывода» )при запуске команды может произойти, если ваша файловая система повреждена; или еще хуже, когда вы работаете на неисправном хранилище.
Скрестите пальцы; в любом случае имейте в виду, что в этот момент вам НЕ следует пытаться включать сервер без крайней необходимости . 1
Существует один верный -способ различить две основные причины :провести сканирование системы на уровне блоков -и следить за сообщениями ядра.
dmesg -E
, чтобы включить отображение оперативных сообщений ядра на консоли. dmesg -n debug
, чтобы разрешить сообщение ядра -низкого уровня. blkid
, чтобы узнать, какой диск содержит системный раздел. (Обратите внимание, что blkid
будет перечислять разделы; уберите номер с конца пути к разделу, и вы получите диск)time -p dd if=/dev/sda of=/dev/null bs=4M
, чтобы провести весь-диск тест чтения (пожалуйста, вводите внимательно ).Если ваш системный диск не /dev/sda
, замените соответственно. В лучшем случае, когда dd
завершился успешно и без происшествий, скорее всего, проблема в файловой системе.
fsck.mode=force
в конце командной строки ядра. (Подробнее см. в этом вопросе )Однако, в худшем случае , вы увидите сообщения ядра, подобные этому, извергающиеся на экран:
ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata2.00: irq_stat 0x40000001
ata2.00: failed command: READ DMA EXT
ata2.00: cmd 25/00:08:78:15:c5/00:00:6c:00:00/e0 tag 0 dma 4096 in
res 51/40:00:78:15:c5/00:00:6c:00:00/e0 Emask 0x9 (media error)
ata2.00: status: { DRDY ERR }
ata2.00: error: { UNC }
ata2.00: configured for UDMA/100
sd 1:0:0:0: [sda] Unhandled sense code
sd 1:0:0:0: [sda]
Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 1:0:0:0: [sda]
Sense Key : Medium Error [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
6c c5 15 78
sd 1:0:0:0: [sda]
Add. Sense: Unrecovered read error - auto reallocate failed
sd 1:0:0:0: [sda] CDB:
Read(10): 28 00 6c c5 15 78 00 00 08 00
end_request: I/O error, dev sda, sector 1824855416
Buffer I/O error on device sda, logical block 228106927
ata2: EH complete
Ищите ключевые части:
DRDY
, ERR
и UNC
в фигурных скобках Medium Error
статус Unrecovered read error
смысловое сообщение Если вы заглянули и нашли их в сообщениях (хотя бы один раз ), они показывают, что вы столкнулись с ошибкой физического диска.
В этом случае не позволяйте dd
закончить, нажмите Ctrl+C, чтобы остановить, СЕЙЧАС ; выключите систему и отнесите диск в мастерскую по восстановлению данных , которой вы доверяете.
Если вы не обнаружили вышеперечисленных контрольных сигналов в наихудшем -случае, а обнаружили повторяющиеся сообщения ядра такого типа:
ata2: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xe frozen
ata2: irq_stat 0x00000040, connection status changed
ata2: SError: { CommWake DevExch }
ata2: hard resetting link
ata2: link is slow to respond, please be patient (ready=0)
Ключевые детали:
hard resetting link
link is slow to respond
Тогда вы скорее столкнулись с проблемой соединения SATA (, например. плохой кабель ):нажмите Ctrl+C, чтобы остановить, выключите систему, исправьте кабель и подключение к диску и повторите попытку.
And I made a smartctl test to confirm if there is any promblem with hard disk. And it passed without error.
Имейте в виду, что некоторые жесткие диски откровенно лгут в своем статусе S.M.A.R.T.(Я смотрю на вас, Toshiba ); мой предыдущий жесткий диск ноутбука просто останавливался при чтении, извергая ошибки чтения, и он все еще говорил «все в порядке» в своих регистрах состояния.
Если ваш сервер является -критически важным, вам следует рассмотреть возможность установки на основе RAID -.
1Предостережение:Мой сосед по дому однажды проигнорировал это предупреждение и все равно продолжал проверять файловую систему на своей настольной системе. Он не стал ждать, пока я его проверю, пока он не смог загрузиться . Как только я получил возможность проверить это, повреждение диска было уже невозможно восстановить (500-гигабайтный диск едва читался со скоростью улитки -КБ/с, и не было обнаружено значительной непрерывной читаемой области даже после нескольких дней ).
С другой стороны, в другом случае с тем же симптомом владелец машины прислушался к моему предупреждению и не выключил устройство до тех пор, пока я не проверю. Конечно, это был сбой жесткого диска. После полдня сеанса GNU DDRescue и одного нового жесткого диска я сообщил ему хорошие новости о том, что его система и данные были восстановлены на 100% на блочном уровне -, т.е. все файлы целы и готовы к использованию. загрузитесь снова без каких-либо изменений.