06 Oct, 2006
Pourquoi j’arrête le XFS !
Posted by: lionel In: Uncategorized
Il y a quelques années de cela, je m’étais penché sur les différents systèmes de fichiers existants sous Linux. J’avais retenu XFS pour deux points:
- il était largement plus performant avec un noyau 2.6 que le système plus traditionnel ext3
- il proposait de base les ACL (alors qu’il fallait à l’époque patcher son noyau pour pouvoir en disposer sur l’ext3).
J’avais rejeté reiserfs et jfs que je trouvais trop confidentiels.
Le site Debian Administration a publié un article complet sur les comparaisons des systèmes de fichiers existants. Il présente de manière bien plus complète que ce billet les avantages / inconvéniants de chacun.
Cela fait plusieurs fois que j’ai vu des systèmes de fichiers XFS se corrompre (jusque là, j’ai toujours récupéré la situation avec des xfs_repair), mais il y a quelques jours, j’ai vu avec stupéfaction dans mes logs d’un serveur un production :
Filesystem "sdb1": XFS internal error xfs_da_do_buf(2) at line 2273 of file fs/xfs/xfs_da_btree.c. Caller 0xf8a989e8 <f8a983e8> xfs_da_do_buf+0x3d8/0x920 xfs <f8a989e8> xfs_da_read_buf+0x58/0x60 xfs <f8a989e8> xfs_da_read_buf+0x58/0x60 xfs <f8ab1984> xfs_itobp+0x114/0x260 xfs <f8a989e8> xfs_da_read_buf+0x58/0x60 xfs <f8a9c3bd> xfs_dir2_block_getdents+0xad/0x360 xfs <f8a9c3bd> xfs_dir2_block_getdents+0xad/0x360 xfs <f8ad1ccf> xfs_access+0x4f/0x60 xfs <f8ad1ccf> xfs_access+0x4f/0x60 xfs <f8a8a025> xfs_bmap_last_offset+0xc5/0x130 xfs <f8a9b710> xfs_dir2_put_dirent64_direct+0x0/0xa0 xfs <f8a9b650> xfs_dir2_isblock+0x30/0x80 xfs <f8a9b710> xfs_dir2_put_dirent64_direct+0x0/0xa0 xfs <f8a9ae89> xfs_dir2_getdents+0xb9/0x160 xfs <f8a9b710> xfs_dir2_put_dirent64_direct+0x0/0xa0 xfs <f8ad52f0> xfs_readdir+0x60/0xc0 xfs <f8add7c6> linvfs_readdir+0x116/0x230 xfs <c0175687> vfs_readdir+0xa7/0xc0 <c0175980> filldir64+0x0/0x100 <c0175aee> sys_getdents64+0x6e/0xaa <c0175980> filldir64+0x0/0x100 <c01061eb> syscall_call+0x7/0xb
Pourtant, la machine n’avait pas rebooté violemment, rien de spécial à signaler. XFS est un système de fichier capable de se corompre en fonctionnement “normal” ! Problème similaire sur un portable où c’était la partition racine qui était concernée et où xfs_repair n’a pas été en mesure de réparer : il a fallu reformater et donc réinstaller !
Je ne suis pas le seul à avoir ce genre de considérations. Cet été, Martin f. Krafft a publié un billet sur son blog où il expliquait ses problèmes avec XFS.
Cela étant, maintenant, je crois que pour moi, ça sera de l’ext3 partout !