I found my server can't run any command, and it shouws "input output error"
Код ошибки
EIO
(«Ошибка ввода/вывода» )при запуске команды может произойти, если ваша файловая система повреждена; или еще хуже, когда вы работаете на неисправном хранилище.Скрестите пальцы; в любом случае имейте в виду, что в этот момент вам НЕ следует пытаться включать сервер без крайней необходимости . 1
Испытание
Существует один верный -способ различить две основные причины :провести сканирование системы на уровне блоков -и следить за сообщениями ядра.
- Загрузите систему с загрузочного диска восстановления GNU/Linux.
- Измените систему на обычную старую текстовую консоль (нажмите Ctrl+Alt+F1 ); не используйте для этого графический терминал .
- Войдите в систему как пользователь root.
- Запустите
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% на блочном уровне -, т.е. все файлы целы и готовы к использованию. загрузитесь снова без каких-либо изменений.
Я не пользуюсь eduroam, но полагаю, что проблемы с 802.1x относятся и к вам. Ищите это:
Oct 30 17:17:42 gandalf.lightspeed.com.sg wpa_supplicant[953]: SSL: SSL3 alert: write (local SSL3 detected an error):fatal:protocol version Oct 30 17:17:42 gandalf.lightspeed.com.sg wpa_supplicant[953]: OpenSSL: openssl_handshake - SSL_connect error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol Oct 30 17:17:43 gandalf.lightspeed.com.sg wpa_supplicant[953]: wlp4s0: CTRL-EVENT-EAP-FAILURE EAP authentication failed
Если это так, исправление можно найти здесь.:https://fedoraproject.org/wiki/Changes/StrongCryptoSettings2-Это разрешит подключения TLS1.0. Meraki и другие сломанные серверы радиуса по-прежнему настаивают на SSLv3/TLS1.0, но обращение к сетевому администратору с просьбой исправить это займет много времени. В командной строке введите строку ниже, затем перезагрузите ThinkPad-
обновить -крипто -политики --установить ПО УМОЛЧАНИЮ :FEDORA32