Unidade USB torna-se somente leitura após um tempo

1

Nossa "solução" de backup inclui a conexão de uma unidade USB ao servidor de backup e a execução de um script personalizado que rsync s envia os dados para a unidade USB. No entanto, depois de um tempo, a unidade se torna somente leitura. Aqui está a saída do dmesg:

[2502923.708171]  sdb: sdb1
[2502923.742767] sd 36:0:0:0: [sdb] Attached SCSI disk
[2502980.368020] kjournald starting.  Commit interval 5 seconds
[2502980.482705] EXT3 FS on sdb1, internal journal
[2502980.482705] EXT3-fs: recovery complete.
[2502980.488709] EXT3-fs: mounted filesystem with ordered data mode.
[2590744.432168] usb 1-2: USB disconnect, address 36
[2590744.432655] sd 36:0:0:0: [sdb] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK,SUGGEST_OK
[2590744.432784] end_request: I/O error, dev sdb, sector 795108447
[2590744.432857] Buffer I/O error on device sdb1, logical block 99388548
[2590744.432925] lost page write due to I/O error on sdb1
[2590744.433002] Buffer I/O error on device sdb1, logical block 99388549
[2590744.433070] lost page write due to I/O error on sdb1
[2590744.433139] Buffer I/O error on device sdb1, logical block 99388550
[2590744.433207] lost page write due to I/O error on sdb1
[2590744.433275] Buffer I/O error on device sdb1, logical block 99388551
[2590744.433343] lost page write due to I/O error on sdb1
[2590744.433410] Buffer I/O error on device sdb1, logical block 99388552
[2590744.433478] lost page write due to I/O error on sdb1
[2590744.433545] Buffer I/O error on device sdb1, logical block 99388553
[2590744.433613] lost page write due to I/O error on sdb1
[2590744.433681] Buffer I/O error on device sdb1, logical block 99388554
[2590744.433749] lost page write due to I/O error on sdb1
[2590744.433817] Buffer I/O error on device sdb1, logical block 99388555
[2590744.433884] lost page write due to I/O error on sdb1
[2590744.433953] Buffer I/O error on device sdb1, logical block 99388556
[2590744.434021] lost page write due to I/O error on sdb1
[2590744.434089] Buffer I/O error on device sdb1, logical block 99388557
[2590744.434157] lost page write due to I/O error on sdb1
[2590744.443942] sd 36:0:0:0: [sdb] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK,SUGGEST_OK
[2590744.447945] end_request: I/O error, dev sdb, sector 795108687
[2590744.452065] Aborting journal on device sdb1.
[2590744.452065] __journal_remove_journal_head: freeing b_committed_data
[2590744.452410] EXT3-fs error (device sdb1) in ext3_ordered_writepage: IO failure
[2590744.453795] __journal_remove_journal_head: freeing b_committed_data
[2590744.454481] ext3_abort called.
[2590744.454548] EXT3-fs error (device sdb1): ext3_journal_start_sb: Detected aborted journal
[2590744.454697] Remounting filesystem read-only
[2590744.457033] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #11968705 offset 0
[2590776.909451] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #122881 offset 0
[2590777.637030] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #30015490 offset 0
[2590949.026134] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #2 offset 0
[2591121.070802] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #2 offset 0
[2591211.109072] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #2 offset 0
[2591300.269439] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #2 offset 0
[2591357.322837] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #2 offset 0
[2591418.664452] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #2 offset 0
[2591572.792037] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #2 offset 0
[2591667.952082] EXT3-fs error (device sdb1): ext3_find_entry: reading directory #2 offset 0
[2591669.639597] __ratelimit: 3981 messages suppressed
[2591669.639658] Buffer I/O error on device sdb1, logical block 61014530
[2591669.639698] lost page write due to I/O error on sdb1

Eu não estou desmontando a unidade dentro do meu script; Alguém pode sugerir o que estaria causando isso, para que eu possa consertá-lo?

    
por Glen Solsberry 11.02.2010 / 17:31

2 respostas

3

Quando isso acontece comigo com um disco fixo, isso significa que o disco está morrendo. Muito provavelmente é isso que está acontecendo aqui. Se esta for uma unidade de backup que é repetidamente conectada / desconectada / transportada entre locais, é muito possível que um choque ou alterações térmicas repetidas tenham resultado em uma falha. A maioria dessas unidades USB não é especialmente protegida contra quedas / choques ou trocas térmicas, elas são apenas uma unidade SATA padrão em uma caixa de plástico USB para SATA.

Minha regra geral para discos, especialmente quando se trata de backups, é: se houver uma dúvida, jogue fora.

Para descartar a infraestrutura USB, você pode executar o disco extensivamente em outro computador, o que não resolve o problema, pois ainda é necessário fazer o backup do computador.

    
por 11.02.2010 / 17:36
0

Mais informações sobre David Mackintosh acima (sua resposta é muito boa). O sistema de arquivos em si tem a opção de dizer ao kernel para remontá-lo somente leitura quando encontrar um erro.

Da página man do mount (8):

errors=continue / errors=remount-ro / errors=panic

Define the behaviour when an error is encountered. (Either ignore errors and just mark the file system erroneous and con‐ tinue, or remount the file system read-only, or panic and halt the system.) The default is set in the filesystem superblock, and can be changed using tune2fs(8).

Eu garantiria que, se você não estiver montando com erros = remount-ro, o sistema de arquivos tem esse conjunto como uma opção (amostra do meu dumpe2fs abaixo)

# dumpe2fs /dev/md0 | grep Error
dumpe2fs 1.41.3 (12-Oct-2008)
Errors behavior:          Continue

Você pode descobrir o que a SMART acha errado com a unidade executando smartctl

smartctl -a /dev/<your drive>

Eu concordaria com David, levaria seriamente em consideração a substituição da unidade. Não haverá nada pior do que ter que recuperar todos os seus dados apenas para descobrir que é ilegível.

    
por 12.02.2010 / 03:58