-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Content-ID:
En la lista de OT (y en muchas otras) se está comentando mucho esto. En las de XFS también ha salido el tema. XFS lleva desde el 95 (creo) y tenemos soluciones a esto en nuestros servidores (a nivel hardware) y algunas de las mejoras que va a introducir en ext4 ya las tenemos nosotros en XFS.
Te recomiendo leer el hilo que hay sobre este tema en la lista OT.
¿Y porqué rayos hablais de esas cosas que son ON topic en la lista OFF topic? Es que esa lista no tiene archivo, no se puede leer a posteriori cuando te avisan de algo interesante. Ya os vale.
Básicamente hay que tener en cuenta:
- los sistemas de ficheros "modernos" hacen un sync a disco tarde (delayed allocation). Es decir, guardan en buffers y cachés datos y no escriben a disco inmediatamente
- esto lo hacen porque el disco duro es MUUUUUUUUUUUUYYYYYY lento
Comparativamente, claro.
- el hardware suele ser de mala calidad, es decir, sobre todo memorias que fallan (típico de componentes de PC y no de servidor o de estación de trabajo), fuentes de alimentación poco fiables, no utilizar SAI, cachés de discos duros que no son fiables, ...
- cachés del disco duro que fallan, aka discos duros no enterprise
¿Por qué no ocurre con otros sistemas de ficheros? Respuestas:
Yo no he perdido datos con XFS. Tengo una SAI, cierto, pero tengo petadas de sistema, y ultimamente, problemas con el cableado de un disco: Mar 8 12:42:24 nimrodel kernel: hda: status error: status=0x00 { } Mar 8 12:42:24 nimrodel kernel: ide: failed opcode was: unknown Mar 8 12:42:24 nimrodel kernel: hda: drive not ready for command Mar 8 12:42:24 nimrodel kernel: hda: status error: status=0x00 { } ... Mar 8 12:42:24 nimrodel kernel: hda: DMA disabled Mar 8 12:42:24 nimrodel kernel: hdb: DMA disabled Mar 8 12:42:24 nimrodel kernel: hda: drive not ready for command Mar 8 12:42:24 nimrodel kernel: ide0: reset: master: error (0x7f?) Mar 8 12:42:24 nimrodel kernel: hda: status error: status=0x00 { } Mar 8 12:42:24 nimrodel kernel: ide: failed opcode was: unknown Mar 8 12:42:24 nimrodel kernel: hda: drive not ready for command Mar 8 12:42:24 nimrodel kernel: hda: status error: status=0x00 { } ... Mar 8 12:42:24 nimrodel kernel: ide: failed opcode was: unknown Mar 8 12:42:24 nimrodel kernel: hda: drive not ready for command Mar 8 12:42:24 nimrodel kernel: ide0: reset: master: error (0x2b?) Mar 8 12:42:24 nimrodel kernel: end_request: I/O error, dev hda, sector 321457739 Mar 8 12:42:24 nimrodel kernel: end_request: I/O error, dev hda, sector 321457747 Mar 8 12:42:24 nimrodel kernel: end_request: I/O error, dev hda, sector 321457755 Mar 8 12:42:24 nimrodel kernel: end_request: I/O error, dev hda, sector 321457763 Mar 8 12:42:24 nimrodel kernel: end_request: I/O error, dev hda, sector 321457771 ... Mar 8 12:42:25 nimrodel kernel: I/O error in filesystem ("hda11") meta-data dev hda11 block 0xc0487a ("xlog_iodone") error 5 buf count 3584 Mar 8 12:42:25 nimrodel kernel: xfs_force_shutdown(hda11,0x2) called from line 1007 of file fs/xfs/xfs_log.c. Return address = 0xfa1d47d4 Mar 8 12:42:25 nimrodel kernel: Filesystem "hda11": Log I/O Error Detected. Shutting down filesystem: hda11 Mar 8 12:42:25 nimrodel kernel: Please umount the filesystem, and rectify the problem(s) ... Mar 8 12:42:25 nimrodel kernel: end_request: I/O error, dev hda, sector 315405891 Mar 8 12:42:25 nimrodel kernel: end_request: I/O error, dev hda, sector 315405899 Mar 8 12:42:25 nimrodel kernel: printk: 3 messages suppressed. Mar 8 12:42:25 nimrodel kernel: Buffer I/O error on device hda20, logical block 4428121 Mar 8 12:42:25 nimrodel kernel: lost page write due to I/O error on hda20 Mar 8 12:42:25 nimrodel kernel: Buffer I/O error on device hda20, logical block 4428122 Mar 8 12:42:25 nimrodel kernel: lost page write due to I/O error on hda20 ... Mar 8 12:42:25 nimrodel kernel: lost page write due to I/O error on hda20 Mar 8 12:42:25 nimrodel kernel: end_request: I/O error, dev hda, sector 315917795 Mar 8 12:42:25 nimrodel kernel: end_request: I/O error, dev hda, sector 315917795 Mar 8 12:42:25 nimrodel kernel: REISERFS warning (device dm-4): sh-2029: %s: bitmap block (#%u) reading failed reiserfs_read_bitmap_block: reiserfs_read_bitmap_block Mar 8 12:42:25 nimrodel kernel: end_request: I/O error, dev hda, sector 316179939 Mar 8 12:42:25 nimrodel kernel: end_request: I/O error, dev hda, sector 316179939 Mar 8 12:42:25 nimrodel kernel: REISERFS warning (device dm-4): sh-2029: %s: bitmap block (#%u) reading failed reiserfs_read_bitmap_block: reiserfs_read_bitmap_block ... muchos más ... Mar 8 12:42:26 nimrodel kernel: end_request: I/O error, dev hda, sector 44886809 Mar 8 12:42:26 nimrodel kernel: Read-error on swap-device (3:0:44886817) Mar 8 12:42:26 nimrodel kernel: end_request: I/O error, dev hda, sector 44886817 El log sobrevive porque está en hdd, no afectado. Al final reboté, pero no perdí nada. La partición de la que protesta es reiser, pero había una xfs montada en ese disco (las encriptadas son ficheros en su mayor parte en hda, montadas con loop, y la partición "anfitrión" es xfs). Apago, quito y pongo los cables, enciendo, y hala. No es el cable, ya lo he cambiado, me temo que puede ser el conector de la placa (muy mal arreglo) o el del disco (si intento arreglarlo y me lo cargo, no puedo acceder a los datos). Me temo que tendré que cambiar de ordenador. Y por cierto, lo que he descubierto el otro dia, en mi partición de pruebas, es alucinante: empieza a soltarme los avisos de que no puede acceder a hda, aunque el teclado o el ratón todavía no se han bloqueado. Se me ocurre abrir la caja y apretar los conectores del disco y la placa, sin sacarlos, y... ¡funciona! Pude continuar trabajando un dia entero sin apagarlo. Hoy estoy con la 11.0 en otra partición, y no he tocado los cables. Se que fallará, falla todas las semanas, pero ahora, si me pilla delante, probaré lo mismo. ¿No es alucinante? :-O Ah, luego tuve que usar hdparm para reactivar el DMA en los discos. Todavía no me lo creo.
5.- hacer más backups
6.- volver a hacer backups
7.- jugar a la lotería, ganar y vivir una vida contemplativa ;)
8.- hacer backups
X'-)
9.- casi se me olvida: haced backups de vuestros datos
Eso, hacer backups. Por cierto... en la 11.0 mi sistema de backup "me lo han roto". Lo hago a disco externo via USB, con sistema de ficheros reiser... pues bien, da errores: Mar 6 00:19:04 nimrodel kernel: sd 1:0:0:0: [sda] Sense Key : No Sense [current] Mar 6 00:19:04 nimrodel kernel: Info fld=0x0 Mar 6 00:19:04 nimrodel kernel: sd 1:0:0:0: [sda] Add. Sense: No additional sense information que terminan por provocar la corrupción del sistema de ficheros que requiere un rebuild tree, que tarda varias horas (aunque fuera en disco interno sería lento).
Un consejo de colegas, si queréis "garantizar" que el dato se ha escrito a disco, teclead el comando:
sync
Tecleado unas 100 veces. Da igual el sistema de ficheros que uséis, el probelma con el que os vais a encontrar es la caché del propio disco duro y su firmware.
Basta con grabar un fichero a disco mayor que la caché del disco, que sólo en los buenos llegan a 32 megas. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkm6ajkACgkQtTMYHG2NR9W0YACeNwocAwcKhnsDSpk6pSluScfz +8EAoJLz+17RVyhCuyXmSpra3cNGSsLt =hp+E -----END PGP SIGNATURE-----