Linux no eMMC - Sistema de arquivos corrompidos

0

Hoje, o sistema de arquivos raiz do meu hardware que executa o Ubuntu estava configurado como readonly, porque o sistema de arquivos tinha algum problema interno.

Eu encontrei isso com dmesg

[18471.780031] sdhci: Timeout waiting for Buffer Read Ready interrupt during tuning procedure, falling back to fixed sampling clock
[18481.816797] mmc0: Timeout waiting for hardware interrupt.
[18481.818821] ------------[ cut here ]------------
[18481.818866] WARNING: CPU: 1 PID: 0 at /build/linux-W6HB68/linux-4.4.0/drivers/mmc/host/sdhci.c:1017 sdhci_send_command+0x714/0xc30 [sdhci]()
[18481.818877] Modules linked in: xhci_plat_hcd nls_iso8859_1 dwc3 udc_core ulpi intel_rapl intel_powerclamp coretemp kvm_intel kvm irqbypass punit_atom_debug crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd input_leds uas usb_storage lpc_ich shpchp snd_intel_sst_acpi snd_intel_sst_core snd_soc_sst_mfld_platform snd_soc_core mei_txe snd_compress ac97_bus snd_pcm_dmaengine mei snd_pcm dwc3_pci snd_seq_midi snd_seq_midi_event snd_rawmidi snd_seq dw_dmac snd_seq_device dw_dmac_core 8250_fintek snd_timer snd intel_hid sparse_keymap soundcore i2c_designware_platform i2c_designware_core tpm_crb spi_pxa2xx_platform pwm_lpss_platform 8250_dw pwm_lpss int3400_thermal int3403_thermal int340x_thermal_zone acpi_thermal_rel mac_hid acpi_pad parport_pc
[18481.819271]  ppdev lp parport autofs4 hid_generic usbhid hid mmc_block i915 i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm r8169 mii fjes video sdhci_acpi sdhci pinctrl_cherryview
[18481.819423] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G        W       4.4.0-62-generic #83-Ubuntu
[18481.819435] Hardware name: AAEON UP-CHT01/UP-CHT01, BIOS UPC1BM0S 06/04/2016
[18481.819447]  0000000000000086 7f0cf1c4636dff29 ffff88017fc83d28 ffffffff813f7c63
[18481.819468]  0000000000000000 ffffffffc0047460 ffff88017fc83d60 ffffffff810812d2
[18481.819487]  ffff88017aa2f540 ffff880176779ad8 0000000000000010 0000000000000001
[18481.819506] Call Trace:
[18481.819521]  <IRQ>  [<ffffffff813f7c63>] dump_stack+0x63/0x90
[18481.819571]  [<ffffffff810812d2>] warn_slowpath_common+0x82/0xc0
[18481.819588]  [<ffffffff8108141a>] warn_slowpath_null+0x1a/0x20
[18481.819612]  [<ffffffffc0044914>] sdhci_send_command+0x714/0xc30 [sdhci]
[18481.819634]  [<ffffffff81404dbb>] ? __const_udelay+0x2b/0x30
[18481.819656]  [<ffffffffc0041d49>] ? sdhci_reset+0x59/0xc0 [sdhci]
[18481.819679]  [<ffffffffc0044f32>] sdhci_finish_data+0x102/0x350 [sdhci]
[18481.819702]  [<ffffffffc0045180>] ? sdhci_finish_data+0x350/0x350 [sdhci]
[18481.819724]  [<ffffffffc00451fb>] sdhci_timeout_timer+0x7b/0xc0 [sdhci]
[18481.819746]  [<ffffffff810ecd55>] call_timer_fn+0x35/0x120
[18481.819768]  [<ffffffffc0045180>] ? sdhci_finish_data+0x350/0x350 [sdhci]
[18481.819785]  [<ffffffff810ed70a>] run_timer_softirq+0x23a/0x2f0
[18481.819808]  [<ffffffff81085db1>] __do_softirq+0x101/0x290
[18481.819828]  [<ffffffff810860b3>] irq_exit+0xa3/0xb0
[18481.819847]  [<ffffffff8183b0a2>] smp_apic_timer_interrupt+0x42/0x50
[18481.819868]  [<ffffffff81839362>] apic_timer_interrupt+0x82/0x90
[18481.819876]  <EOI>  [<ffffffff816cb5d1>] ? cpuidle_enter_state+0x111/0x2b0
[18481.819913]  [<ffffffff816cb7a7>] cpuidle_enter+0x17/0x20
[18481.819934]  [<ffffffff810c4522>] call_cpuidle+0x32/0x60
[18481.819950]  [<ffffffff816cb783>] ? cpuidle_select+0x13/0x20
[18481.819969]  [<ffffffff810c47e0>] cpu_startup_entry+0x290/0x350
[18481.819989]  [<ffffffff81051784>] start_secondary+0x154/0x190
[18481.820005] ---[ end trace 3081f620d5ceb477 ]---
[18481.822972] mmcblk0: error -110 sending stop command, original cmd response 0x0, card status 0x400900
[18481.823076] mmcblk0: error -110 transferring data, sector 26544216, nr 136, cmd response 0x0, card status 0x0
[18481.823131] blk_update_request: I/O error, dev mmcblk0, sector 26544216
[18481.823156] blk_update_request: I/O error, dev mmcblk0, sector 26544224
[18481.823173] blk_update_request: I/O error, dev mmcblk0, sector 26544232
[18481.823202] blk_update_request: I/O error, dev mmcblk0, sector 26544240
[18481.823219] blk_update_request: I/O error, dev mmcblk0, sector 26544248
[18481.823234] blk_update_request: I/O error, dev mmcblk0, sector 26544256
[18481.823250] blk_update_request: I/O error, dev mmcblk0, sector 26544264
[18481.823291] blk_update_request: I/O error, dev mmcblk0, sector 26544272
[18481.823309] blk_update_request: I/O error, dev mmcblk0, sector 26544280
[18481.823336] blk_update_request: I/O error, dev mmcblk0, sector 26544288
[18481.823622] Aborting journal on device mmcblk0p2-8.
[18481.827415] EXT4-fs error (device mmcblk0p2): ext4_journal_check_start:56: Detected aborted journal
[18481.827446] EXT4-fs (mmcblk0p2): Remounting filesystem read-only
[18481.829542] EXT4-fs error (device mmcblk0p2): ext4_journal_check_start:56: Detected aborted journal

Estou usando o owncloud com o PostgreSQL no hardware.

Qual poderia ser a raiz desse problema?

Aconteceu pela terceira vez em dois dias ...

Por favor me diga, se você precisar de mais informações (cat / proc / ???)

A partição /dev/mmcblk0p2 é o sistema de arquivos raiz (eMMC).

Eu acho que eu era muito ingênuo. Parece que executar o linux no eMMC precisa de algumas considerações especiais: link

Eu acho que o PostgreSQL faz operações demais no sistema de arquivos, também deixa o sistema de arquivos no eMMC "louco".

Este é o meu hardware: Intel Cherry Trail x5-Z8350, a bordo de memória DDR3L de 4GB, a bordo 32GB eMMC de armazenamento link

Pergunta

Como posso saber se o hardware está quebrado?

Ou está rodando linux com postgres no eMMC uma idéia ruim em geral?

Atualizar

Depois de seguir as dicas de esta resposta , eu poderia sincronizar via owncloud por horas, e nenhum erro do sistema de arquivos ocorre. Isso não é uma grande surpresa, já que agora poucas operações de io ocorrem no eMMC. Aqui está o que eu fiz:

  • anexe disco rígido de tradição externa
  • coloque postgres e / var / log no disco externo
  • desativar troca
  • use o ramfs para / tmp

Mas as perguntas acima ainda permanecem.

    
por guettli 07.02.2017 / 21:43

1 resposta

1

Seu SD pode estar corrompido ou ter problemas. Abra um terminal (Applications-Accessories-Terminal) e dê o comando sudo fsck -a / dev / mmcblk0p1 (Substitua / dev / mmcblk0p1 pelo dispositivo de partição real do cartão micro SD). fsck = Arquivo Systen ChecKer.

Se o fsck for bem sucedido, ele não retornará nenhuma saída. Nesse caso, tentaria formatá-lo novamente.

meus 2 centavos

    
por Alex Barchiesi 07.02.2017 / 23:10