Nous gérons un site Web qui affiche actuellement 3 à 5 millions de pages vues. Notre site est un site de partage de fichiers et contient donc 250 000 fichiers et quelques milliers de liens symboliques.
Le disque dur est un disque SATA de 1500 Go.
En utilisant, hdparm
nous avons appris que la vitesse de notre disque dur a été réduite à 15-20 Mo / s, soit 80 Mo / s.
Alors maintenant, nous voulons exécuter fsck
pour résoudre le problème de disque.
- Will
fsck
résoudra ce problème? - Combien de temps faudra-t-il
fsck
pour terminer (nous voulons simplement calculer le temps d'arrêt que nous allons avoir)?
hard-drive
linux
kernel
fsck
capacity-planning
khizar ansari
la source
la source
Réponses:
La dégradation de la vitesse est à prévoir à mesure que le nombre de fichiers accédés simultanément augmente. Les disques durs n'aiment pas être accessibles en parallèle: chaque fois que la tête de lecture / écriture doit changer de cylindre, vous perdez plusieurs millisecondes. Même si deux fichiers se trouvent sur le même cylindre, ou même sur la même piste, vous devrez peut-être encore attendre une rotation pour passer de l'un à l'autre. Si vous mesurez les performances du lecteur en mégabits par seconde, attendez-vous à une baisse exponentielle à mesure que l'accès parallèle augmente.
fsck
n'aidera pas à cela: il ne répare que les dommages à la structure du répertoire, il n'effectue aucune optimisation.La solution idéale serait de passer au stockage à semi-conducteurs car cela n'a aucune des limites physiques des plateaux tournants. Mais c'est probablement prohibitif.
Le prochain meilleur serait d'utiliser un RAID optimisé pour l'accès parallèle. Gardez à l'esprit que les RAID peuvent être configurés pour de nombreux profils de performances différents, vous devrez donc prendre un certain temps pour apprendre les paramètres de tout matériel et pilotes RAID donnés.
Vous pourrez peut-être réduire le problème en utilisant une mise en cache agressive du système de fichiers. Si votre système a suffisamment de RAM, Linux devrait déjà le faire assez bien. Exécutez un programme comme
top
pour voir combien de RAM libre il y a. Mais si les fichiers les plus couramment utilisés ne tiennent pas dans la RAM (ou dans toute RAM que vous êtes susceptible d'acquérir), cela n'aidera pas vraiment.La solution de contournement pour un pauvre serait de diviser vos fichiers sur plusieurs disques durs physiques différents (et pas seulement sur différentes partitions sur le même lecteur). Ce n'est pas vraiment une solution évolutive à long terme et finirait par vous coûter plus cher qu'un RAID décent. Mais cela pourrait être une solution rapide si vous avez des disques qui traînent.
Pour toute solution impliquant des disques durs, assurez-vous qu'ils ont une vitesse de rotation rapide et une faible latence de recherche.
J'ai écrit un article avec des informations générales sur les performances du disque dur ici:
Conseils UNIX - Systèmes de fichiers
la source
hdparm
indice de référence avoir beaucoup à voir avec "l'accès parallèle". Pour moi, cela ressemble plus à un disque défaillant. C'était plus rapide dans le passé et maintenant ce n'est pas le cas. Probablement parce qu'il s'agit de délocaliser des secteurs.hdparm
tests ont-ils été effectués et les résultats étaient-ils en "mégabits" ou "mégaoctets" par seconde?Je m'attendrais à 5 heures pour que le fsck se termine.
Je considérerais plutôt (cela signifie: testing, testing et testing) une migration vers reiserfs.
la source
la source
hdparm effectue une lecture séquentielle. Votre disque de serveur de fichiers devrait faire beaucoup de recherches comme l'ont dit les autres gars.
Si vous obtenez des erreurs HD, elles devraient apparaître quelque part dans votre / var / log /.
Pourquoi n'essayez-vous pas "smartctl -t short / dev / sda" puis "smartctl -t long / dev / sda" ?? ... Avec la plupart des nouveaux disques durs, vous pouvez exécuter cette commande même lorsque vous utilisez le disque dur . Smart vous donnera quelques résultats. Vous pouvez lire la santé de votre disque dur en utilisant "smartctl --all / dev / sda" ..
Si vous envoyez un hdparm vers un disque dur monté avec un accès simultané, cela pourrait être la raison pour laquelle vos résultats sont beaucoup moins qu'auparavant.
Je devrais déplacer vos données vers une configuration RAID dès que possible.
la source