AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 542554
Accepted
fajin yu
fajin yu
Asked: 2019-09-19 19:13:55 +0800 CST2019-09-19 19:13:55 +0800 CST 2019-09-19 19:13:55 +0800 CST

Obteve "erro de saída de entrada" ao executar qualquer comando

  • 772

Na manhã de segunda-feira passada, descobri que meu servidor não pode executar nenhum comando e mostra "erro de saída de entrada". Com tentado por meia hora, descobri que o único comando que pode ser executado é sudo poweroff -f(deve usar o sinalizador -fou recebi "erro de saída de entrada").
E eu inicializo o servidor manualmente e verifique o log do sistema, mas não tenho nada de especial. E fiz um teste smartctl para confirmar se há algum problema com o disco rígido. E passou sem erro.
Então nesta segunda-feira esse problema aparece novamente. Eu desliguei o servidor e inicializei manualmente, e parece que nada aconteceu. Então eu uso msmtest86 8.2 test se se o memory stick estiver ok. E certifique-se de que o cabo SATA e o disco rígido estejam em boas condições e conectados de forma confiável.
Eu acho que talvez seja o problema com o sistema operacional ou sistema de arquivos? Meu sistema operacional é o Debian 8.11. Voçê pode me dar algum conselho? Obrigado a todos!

debian
  • 2 2 respostas
  • 69048 Views

2 respostas

  • Voted
  1. Best Answer
    xwindows -on strike-
    2019-09-19T23:59:22+08:002019-09-19T23:59:22+08:00

    Descobri que meu servidor não pode executar nenhum comando e mostra "erro de saída de entrada"

    O código de erro EIO("Erro de entrada/saída") na inicialização do comando ocorreria quando seu sistema de arquivos estivesse danificado; ou pior, quando você está executando em um armazenamento defeituoso.

    Cruze seus dedos; de qualquer forma, esteja ciente de que, neste momento , você NÃO deve tentar ligar o servidor a menos que seja realmente necessário . 1

    O teste

    Existe uma maneira infalível de distinguir entre duas causas principais: conduzir uma varredura de leitura em nível de bloco no sistema e observar as mensagens do kernel.

    1. Inicialize seu sistema com o disco de inicialização de recuperação GNU/Linux.
    2. Altere o sistema para o console de texto simples (pressione Ctrl+Alt+F1); não use terminal gráfico para isso .
    3. Faça login como root.
    4. Execute dmesg -Epara habilitar a exibição de mensagens do kernel ao vivo no console.
    5. Execute dmesg -n debugpara deixar a mensagem do kernel de baixo nível.
    6. Execute blkidpara ver qual disco contém a partição do sistema. (Observe que blkidlistará as partições; retire o número do final do caminho da partição e você obterá o disco)
    7. Execute time -p dd if=/dev/sda of=/dev/null bs=4Mpara realizar um teste de leitura de disco inteiro (digite-o com cuidado). Se o disco do sistema não for /dev/sda, substitua-o adequadamente.
    8. Observe a tela (vai demorar um pouco)...

    Resultados

    • Na melhor das hipóteses, quando ddconcluído com sucesso e sem intercorrências, é provável que seja um problema no sistema de arquivos.

      • Se você se sente à vontade para fazer a verificação do sistema de arquivos a partir do disco de inicialização, pode fazê-lo agora (recomendado).
      • Se você preferir deixar o sistema classificá-lo sozinho, reinicie (também remova o disco de inicialização) e inicialize seu sistema usual, mas fsck.mode=forceanexado ao final da linha de comando do kernel. (Veja esta pergunta para detalhes)
      • Discutir o resultado da verificação do sistema de arquivos garantirá uma pergunta diferente.
    • No entanto, na pior das hipóteses , você veria mensagens do kernel como esta sendo lançadas na tela:

      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
      

      Procure as peças principais:

      • DRDY, ERRe UNCem colchetes
      • Medium Errorstatus
      • Unrecovered read errormensagem de sentido

      Se você olhou e os encontrou nas mensagens (mesmo uma vez), eles mostram que você está enfrentando um erro de disco físico.

      Quando este for o caso, não deixe ddterminar, pressione Ctrl+C para parar, AGORA ; desligue seu sistema e leve seu disco para uma loja de recuperação de dados de sua confiança.

    • Se você não encontrou os indicadores de pior caso acima e, em vez disso, encontrou esse tipo de mensagem do kernel repetida:

      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)
      

      Partes principais:

      • hard resetting link
      • link is slow to respond

      Então você está enfrentando um problema de link SATA (por exemplo, cabeamento ruim): pressione Ctrl + C para parar, desligue o sistema, conserte o cabo e a conexão do disco e tente novamente.

    Notas Laterais

    E fiz um teste smartctl para confirmar se há algum problema com o disco rígido. E passou sem erro.

    Cuidado que alguns discos rígidos contam mentiras diretas em seu status SMART (estou olhando para você, Toshiba); meu disco rígido anterior do laptop simplesmente parou ao ler, vomitando erros de leitura, e ainda dizia "nada está errado" em seus registros de status.

    Se o seu servidor for de missão crítica, você deve considerar a configuração baseada em RAID .


    • 1 Conto de advertência: Meu companheiro de casa uma vez ignorou este aviso e manteve o verificador do sistema de arquivos trabalhando em seu sistema desktop de qualquer maneira. Ele não esperou que eu verificasse até que ele finalmente falhou ao inicializar . Assim que tive a chance de verificá-lo, o dano do disco já estava além da recuperação (o disco de 500 GB mal conseguia ler em KB/s em ritmo de caracol, e não havia nenhuma área legível contínua significativa encontrada mesmo depois de vários dias).

      Por outro lado, em outro caso com o mesmo sintoma, o dono da máquina atendeu ao meu aviso e deixou a coisa desligada até que eu pudesse verificar. Claro, foi uma falha no disco rígido. Após meio dia de sessão GNU DDRescue e um novo disco rígido, eu trouxe uma boa notícia para ele de que seu sistema e dados estavam 100% recuperados no nível de bloco - ou seja, todos os arquivos intactos e prontos para inicializar novamente sem nenhuma modificação.

    • 9
  2. Wurstbrot24
    2020-10-20T13:10:10+08:002020-10-20T13:10:10+08:00

    Eu encontrei esse erro no meu servidor linux (executando o Debian 10) ao navegar pelas pastas e acessar os arquivos, apesar da unidade ter passado em todos os testes SMART. Não consegui resolver o problema usando nenhuma das respostas postadas no Stackexchange.

    Eu estava usando um HDD de 2,5" em um compartimento de unidade de 3,5" e acontece que a unidade vibrou do conector SATA. Desliguei o servidor e conectei a unidade novamente com firmeza e os erros desapareceram.

    • 2

relate perguntas

  • Configuração do GRUB para reconhecer diferentes ambientes de desktop (instalações) da mesma distribuição Linux

  • astyle não altera a formatação do arquivo de origem

  • Recebendo e-mail em um novo Debian fresco

  • Debian Stretch: gnome-software segfault em libgs_plugin_systemd-updates.so

  • Como digitar ü no Pinyin IME?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve