ext3 fsck time versus partition size

9

Je fais la configuration pour une batterie de serveurs de stockage à grande échelle, et pour éviter d'avoir besoin de fscks d'un mois, mon plan est de diviser le stockage en de nombreux systèmes de fichiers plus petits (c'est très bien, car j'ai une arborescence de fichiers bien compartimentée , donc je peux facilement avoir monté sur différents systèmes de fichiers 1/, 2/, 3/, 4/, etc.).

Ma difficulté est de trouver une énumération de ce qu'est une taille "raisonnable" pour un système de fichiers, pour garder les temps fsck de même "raisonnables". Bien que je sache parfaitement que le temps absolu pour une taille donnée dépendra en grande partie du matériel, je n'arrive pas à trouver de description de la forme de la courbe pour les temps fsck ext3 avec différentes tailles de système de fichiers, et quelles sont les autres variables ( un système de fichiers plein de fichiers dans un seul répertoire prend-il plus d'un avec 10 fichiers dans chacun des milliers de répertoires dans une arborescence; gros fichiers vs petits fichiers; système de fichiers complet vs système de fichiers vide; et ainsi de suite).

Quelqu'un at-il des références à des chiffres bien documentés à ce sujet? À défaut, toute anecdote sur ces questions devrait au moins aider à guider ma propre expérimentation, si cela était nécessaire.

EDIT : Pour clarifier: quel que soit le système de fichiers, si quelque chose ne va pas avec les métadonnées, il devra être vérifié. Que les re-fscks basés sur le temps ou le montage soient activés ou nécessaires n'est pas en cause, et la seule raison pour laquelle je demande des chiffres concernant spécifiquement ext3 est parce que c'est le système de fichiers le plus probable à choisir. Si vous connaissez un système de fichiers qui a un processus fsck particulièrement rapide, je suis ouvert aux suggestions, mais il doit être une option robuste (prétend que "le système de fichiers X n'a ​​jamais besoin de fscking!" Sera ri et longuement ridiculisé) . Je suis également conscient du besoin de sauvegardes, et le désir de fsck ne remplace pas les sauvegardes, mais simplement jeter le système de fichiers et restaurer à partir de la sauvegarde quand il pépine, plutôt que de le fscking, semble vraiment,

womble
la source

Réponses:

6

Selon un article de Mathur et al. (p. 29), le temps e2fsck augmente de façon linéaire avec la quantité d'inodes sur un système de fichiers après un certain point. Si le graphique est quelque chose à parcourir, vous êtes plus efficace avec des systèmes de fichiers jusqu'à 10 millions d'inodes.

Le passage à ext4 serait utile - à condition que votre système de fichiers ne soit pas chargé à ras bord, où le gain de performances (en raison de la non vérification des inodes marqués comme inutilisés) n'a aucun effet perceptible.

Towo
la source
Merci pour cette référence, a aidé à confirmer certaines choses pour moi. J'ai également effectué mon propre benchmarking, ce qui confirme la croissance linéaire indiquée dans cet article.
womble
2

Je pense que vous allez devoir faire votre propre analyse comparative. Une recherche rapide sur google n'a rien révélé, sauf que les extsc fscks sont beaucoup plus rapides que ext3.

Donc, créez des partitions ext3, 100 Go, 200 Go, etc. jusqu'à la taille de disque que vous utiliserez. Remplissez-les ensuite de données. Si vous pouvez utiliser des données qui ressemblent à vos données de production (fichiers par répertoire, distribution de la taille des fichiers, etc.), ce sera le meilleur. Notez que la simple copie de fichiers à partir d'une autre partition ou d'un périphérique de sauvegarde les placera sur le disque parfaitement disposés et défragmentés et donc vos tests manqueront beaucoup de temps de recherche de tête de disque qui proviendront de beaucoup d'écriture / modification / suppression.

Vous devrez également réfléchir aux fscks parallèles. Voir les deux derniers champs dans / etc / fstab. Les partitions sur le même disque physique doivent être effectuées en séquence; plusieurs disques sur le même contrôleur peuvent être créés en parallèle, mais veillez à ne pas surcharger le contrôleur et à les ralentir.

pgs
la source
-1

y a-t-il une raison pour laquelle vous ne pouvez pas utiliser un système de fichiers qui ne vous impose pas de temps ou de fscks basés sur le nombre de montages lorsque vous redémarrez?

(Les fscks basés sur le temps me dérangent vraiment - pour un serveur à longue disponibilité, il garantit à peu près que vous devrez faire un fsck complet chaque fois que vous mettez à niveau le noyau).

de toute façon, XFS est l'un des systèmes de fichiers de journalisation qui ne force pas un fsck. vaut le détour.

cas
la source
une autre option est d'utiliser Nexenta (noyau opensolaris, debian userland), qui vous donnerait ZFS. <A href=" nexenta.org/"> http://www.nexenta.org/</A >
ČAS
3
Lorsqu'un système de fichiers est corrompu, indépendamment de ce qu'il est (extN, XFS, ZFS, peu importe), ou que vous ayez basé le temps / le nombre de montages, il a besoin d'un fsck. Je veux m'assurer qu'un seul système de fichiers corrompu ne prend pas trop de temps pour fsck.
womble
1
oui, bien sûr, un fs a besoin d'un fsck s'il a été corrompu. utiliser un fs comme XFS ne les éliminera pas, et vous ne devriez pas essayer ou même le vouloir. Je n'ai rien dit qui puisse raisonnablement être interprété autrement. Mon point était que forcer un fsck simplement parce qu'il a fallu X jours ou Y plusieurs montages depuis le dernier fsck est inutile et ennuyeux et peut-être même "limitant la carrière", surtout si vos utilisateurs ou votre entreprise attendent que le serveur vienne retour. vous pouvez éliminer ces fscks inutiles, ce qui est une bonne chose.
cas
Aussi bonne soit-elle (ou non), elle ne répond pas à la question posée.
womble