Page suivante - Page précédente - Table des matières

16. Bric-à-brac

C'est une section où vont tous les paragraphes que je n'ai pas pu caser ailleurs: ils y restent plus ou moins longtemps.

16.1 Combiner le swap et /tmp

On a discuté dans les forums linux au sujet de systèmes de fichiers spécialisés pour le stockage temporaire. Un peu comme tmpfs sur les machines *BSD et Solaris, et swapfs sur les machines NeXT.

Combiner le swap et la partition /tmp permet de gagner de la place. Ce système de fichiers spécialisé n'est rien d'autre qu'un RAM disk qu'on peut swapper, et qui n'est mis sur le disque que lorsque la place est limitée, ce qui revient à metter les fichiers temporaires sur la partition de swap.

Il y a pourtant un hic. Ce schéma interdit d'agir en parallèle sur le swap et sur la partition /tmp ce qui peut effondrer les performances. Autrement dit, on échange de la place disque contre de la vitesse.

Il y a aussi un problème de sécurité vis-à-vis des utilisateurs qui tentent d'effondrer une machine en remplissant le répertoire /tmp.

16.2 Disques de swap entrelacés.

Les partitions de swap sont accédées par la méthode du colibri (c'est-à-dire dans le désordre), afin de répartir grosso modo la charge entre plusieurs disques. Linux offre en plus la possibilité d'attribuer des priorités aux disques, ce qui est utile si on a des disques de vitesse différente. Voir man 8 swapon et man 2 swapon pour les détails.

16.3 Faut-il avoir ou non une partition de swap ?

Dans de nombreux cas vous n'avez pas besoin d'une partition, par exemple si vous avez beaucoup de mémoire vive, mettons 64 Mo, et si vous êtes le seul utilisateur de la machine. Dans ce cas vous pouvez essayer de tourner dans partition de swap et voir (par exemple avec les rapports du système ou avec la commande top) s'il y a des moments où vous n'avez plus de mémoire libre.

Enlever la partition de swap a deux avantages:

  • Vous gagnez de la place disque
  • Vous gagnez sur le temps moyen d'accès car la partition de swap aurait occupé le milieu du disque (qui est plus rapide)

Au total, avoir une partition de swap est comme avoir des toilettes chauffées: on n'en a pas besoin la plupart du temps, mais c'est bien agréable parfois. (ndT: Ah qu'en termes galants ces choses-là sont mises !)

16.4 Points de montage et /mnt

Dans une ancienne version de ce document, je proposais de mettre toutes les partitions montées sur des sous-répertoires de /mnt. C'est cependant une mauvaise idée car /mnt lui-même peut être utilisé comme point de montage, ce qui rend toutes les autres partitions inaccessibles. (voir Questions et Réponses). Je propose plutôt de monter les partitions directement dans la racine avec des noms comme /mnt.nom-bien-choisi.

Certaines distributions Linux utilisent des points de montage comme /mnt/floppy et /mnt/cdrom ce qui montre bien combien les choses sont peu claires. Espérons que le FHS mettra de l'ordre dans tout ça.

16.5 SCSI: numéros et noms symboliques

Les partitions sont nommées dans l'ordre où elles sont trouvées, et ne dépendent pas du numéro SCSI. Cela signifie que si vous ajoutez un disque avec un numéro intermédiaire, ou si vous changez les numéros d'une autre manière, les noms de partitions sont intervertis et ne correspondent plus à rien. C'est important si vous utilisez des disques amovibles. Dans ce cas il faut réserver les premiers numéros aux disques fixes et les derniers pour les media amovibles.

Beaucoup se sont fait avoir par cette ``feature'' et réclament qu'on fasse quelque chose. Personne ne sait quand ce sera fixé. Pour l'instant, donc, il faut faire avec. Par exemple c'est une bonne idée de mettre le disque contenant la partition racine au premier numéro SCSI. Ainsi il ne sera pas re-numéroté si un autre disque a une panne.

Le coeur du problème est le nombre limité de bits disponibles pour les numéros majeurs et mineurs des fichiers du répertoire /dev utilisés pour décrire le device lui-même. Voir man MAKEDEV. Actuellement deux solutions sont envisagées:

scsidev

crée une base de données avec les disques et l'endroit où ils sont, voir man scsifs.

devfs

est un projet à plus long terme, qui veut contourner tout la numérotation des fichiers de périphériques en faisant du répertoire /dev un répertoire dy noyau tout comme /proc. A suivre.

Les numéros SCSI sont aussi utilisés pour l'arbitrage. Si plusieurs disques demandent un service, le disque qui a le numéro le plus faible a la priorité.

16.6 Consommation et Chaleur

Il n'y a pas si longtemps, une machine de puissance équivalente à un PC d'aujourd'hui consommait du courant triphasé, et exigeait un refroidissement à air ou même à eau. La technologie a progressé très vite, offrant des composants rapides mais aussi peu gourmands en énergie. Cependant, il y a des choses qu'on doit garder en tête avant d'ajouter à l'ordinateur un disque ou une carte PCI. Gardez à l'esprit que l'énergie consommée va bien quelque part, et que la plupart est transformée en chaleur. Si la chaleur n'est pas dissipée, il en résultera une surchauffe qui diminue la fiabilité et la durée de vie des composants. Les constructeurs ont de exigences de refroidissement, en termes de mètres cubes par minute, et on ne saurait trop conseiller d'en tenir compte.

Gardez des passages pour l'air, nettoyez la crasse et vérifiez la température des disques. S'il sont brûlants au toucher, c'est sans doute qu'ils sont en surchauffe.

Si possible utilisez l'accélération séquentielle (sequential spin-up) pour les disques. C'est l'accélération qui consomme le plus d'électricité et si tous les disques démarrent en même temps vous risquez de dépasser la puissance fournie par votre alimentation.

16.7 Dejanews

C'est un système que la plupart conaissent déjà. Il permet d'effectuer des recherches parmi les articles postés dans les forums Usenet depuis 1995 jusqu'à maintenant, et offre aussi une interface Web pour lire et poster des articles. Voir Dejanews

Ce qui est sans doute moins connu est qu'ils utilisent 120 stations Linux parallèles, la plupart utilisant le module md pour gérer 4 et 24 Go d'espace disque (plus de 1200 Go au total). L'ensemble grandit sans cesse mais actuellement il est essentiellement constitué de Bi-Pentium Pro 200MHz et de Bi-Pentium II 300 MHz avec 256 Mo de mémoire vive ou plus.

Une machine de la base de données a normalement 1 disque pour le système d'exploitation et entre 4 et 6 disques gérés par md où les articles sont archivés. Les disques sont connectés à un adaptateur PCI SCSI (BusLogic Modèle BT-946C ou BT-958), un par machine.

Les erreurs disque ne constituent que 0,25% des indisponibilités du système.

Enfin, ce n'est pas de la publicité que je fais, mais juste un example de ce qu'il faut pour mettre en place un service Internet majeur. (ndT: le site voila.fr de France Télécom utilise un nombre comparable de stations Linux pour un moteur de recherche)

16.8 Structure de la hiérarchie des fichiers

Il y a beaucoup de schémas pour les hiérarchies de fichiers, qui diffèrent du FHS par la philosophie, la stratégie et l'implémentation. Il n'est pas possible de les détailler ici, le lecteur est renvoyé à man hier qui est disponible sur beaucoup d'architectures.

16.9 Numérotation des pistes et optimisation

Autrefois les systèmes de fichiers utilisaient les paramètres physiques du disque pour optimiser les transferts, par exemple en essayent de metter tout un fichier dans la même piste afin d'économiser les temps du changement de piste. Aujourd'hui avec les paramètres logiques, le cache et les schémas pour éviter les secteurs défectueux, ce genre d'optimisation ne fait plus de sens et peut même coûter plus cher qu'elle ne rapporte. Certains systèmes d'exploitation utilisent encore ce genre d'algorithmes, mais plus Linux.


Page suivante - Page précédente - Table des matières