Le manuel de l'option de montage «barrière» est le suivant:
barrière = 0 / barrière = 1
Ceci désactive / active l'utilisation des barrières d'écriture dans le code jbd.barrier = 0 désactive, barrière = 1 active (par défaut). Cela nécessite également une pile d'E / S qui peut prendre en charge les barrières, et si jbd obtient une erreur sur une écriture de barrière, il désactivera à nouveau les barrières avec un avertissement. Les barrières d'écriture imposent un bon ordre sur disque des validations de journal, ce qui rend les caches d'écriture sur disque volatiles sûrs à utiliser, avec une certaine pénalité de performance. Si vos disques sont alimentés par batterie d'une manière ou d'une autre, la désactivation des barrières peut améliorer les performances en toute sécurité.
Mais je ne sais pas ce que signifie la phrase " bon ordre sur disque des commits de journaux ".
Supposons un ordre normal - journal 1, données 1; journal 2, données 2.
Lequel des résultats de commande suivants se produira si je règle barrier=0
?
- journal 2, données 2; journal 1, données 1;
- données 1, journal 1; données 2, journal 2.
barrier=1
, et ça marche assez vite pour moi. À moins que vous ne fassiez de vrais trucs lourds, je le laisserais. Vous avez des tampons ram, donc les choses seront écrites quand cela sera possible, sans ralentir les applications. Et très peu de retard dans l'écriture sur le disque. Si vous souhaitez voir à quel point les tampons ram accélèrent, ajoutez sync = 1 à votre répertoire personnel et essayez d'utiliser votre système pendant un jour ou deux.Réponses:
La plupart des systèmes de fichiers modernes sont des systèmes de fichiers journalisés, ce qui signifie qu'ils gardent une trace des modifications qui n'ont pas encore été écrites sur le disque dans une structure de données interne appelée journal. En cas de plantage, ce journal sera relu pour s'assurer que toutes les écritures ont été effectuées avec succès, empêchant la corruption de fichiers.
Lors de l'écriture effective des données sur le disque, le cache d'écriture réordonnera les écritures pour essayer de maximiser le débit, mais il doit s'assurer que les données du fichier réel sont écrites sur le disque avant les métadonnées, pour s'assurer qu'en cas de panne se produit, les métadonnées ne seront pas obsolètes avec les données.
Le problème est que de nombreux disques ont leurs propres caches qui peuvent également réorganiser les écritures. Certains systèmes de fichiers supposent que cela se produira et forceront le disque à vider le cache à certains moments pour éviter cela, et sont appelés
write barriers
par exemple ext4 et Linux en général.Pour les disques modernes, le sacrifice de performances pour ce faire est cependant négligeable, et vous ne devez pas désactiver les barrières d'écriture à moins que cela ne soit absolument nécessaire.
la source
De cet article LWN :
la source