2011-08-03

Installation d'un serveur Debian Squeeze - Raid et Partitionnement

Ce premier billet fait partie d'un ensemble traitant de l'installation d'un serveur sous Debian Squeeze. Nous y traiterons de la création des partitions et du fonctionnement en Raid.
Retrouvez le sommaire dans le billet "Installation d'un serveur mutualisé Debian Squeeze sécurisé".

Matériel utilisé

Pour créer notre serveur, nous partons d'une Dedibox Classic dont voici les caractéristiques principales (du moins pour la version du 02 août 2011) :

  • µProcesseur : Intel® Core® 2 Duo T7200 - 2 x 2.0 Ghz 64 bits
  • RAM : 3Go DDR2
  • HDD : 2 x 500 Go SATA2 RAID SOFT
  • Connexion : 100 Mbit/s

Comme vous venez de le lire, la Dedibox Classic permet d'avoir du raid0 ou du raid1. Nous allons donc en profiter.

Lire la suite

Raid 0 ou Raid 1 ?

Le Raid 0 accroît les performances de lectures et d'écritures de votre serveur. Ceci se fait au détriment de la fiabilité du système. En effet, comme les blocs des fichiers sont répartis sur les deux disques, si l'un d'eux tombe en rade (et non en raid), les fichiers ne pourront être récupérés et tout le système sera en panne.

Le Raid 1 accroît la fiabilité du système : les deux disques contiennent à n'importe quel moment exactement la même chose. Ainsi, si l'un des deux tombe en panne, le système désactivera la synchronisation et continuera de fonctionner. L'inconvénient : les temps d'écriture sont un peu plus long puisqu'il faut écrire chaque bloc en double (mais sur deux disques à la fois, donc le temps n'est pas multiplié par deux). La vitesse de lecture est accrue, car le système peut reconstituer les fichiers en parallèle à partir des deux disques.

Pour notre serveur, nous nous orienterons donc sur le choix du Raid1 afin de garantir la fiabilité du système en cas de panne matérielle.

Comment partitionner ?

Quand on installe un Linux à utilisation bureautique, on se demande souvent à quoi ça sert d'avoir 36 partitions différentes. Je risque de me faire des ennemis, mais selon moi : à rien. Deux suffisent : un home séparé, et le reste. (+ la swap évidemment).

S'il s'agit d'une installation d'un serveur Linux, le partitionnement va avoir son importance. Ci-dessous, la liste des points de montage habituels avec leur utilité et s'il est judicieux de leur assigner une partition séparée.

  • /boot : Cette partition contient les fichiers d'amorçage du serveur : ses noyaux. Comme on installe un serveur stable, on ne va pas s'amuser à recompiler le noyau fréquemment. Il ne nous est donc pas utile d'avoir le boot dans une partition séparée.
  • /home : Le home contient les fichiers des utilisateurs. C'est donc le dossier dont la taille varie le plus et le plus rapidement en général. Avoir une partition séparée permet de facilement réinstaller le reste sans devoir écraser le home. De plus, ça évite que quelqu'un remplisse entièrement le disque via son home et plante le serveur qui n'aura plus de place pour écrire ses propres fichiers sur le reste du système.
  • /opt : Ce dossier est censé contenir les applications optionnelles et non packagées. On ne va pas l'utiliser, donc pas de partition dédiée.
  • /tmp : Le dossier tmp stocke les fichiers temporaires (par exemple quand quelqu'un envoie un fichier). Avoir une partition séparée pour ce dossier permet de réduire les attaques DDOS : Si quelqu'un tente de noyer le serveur sous des milliers de fichiers temporaires, seul la partition /tmp sera remplie et le reste du système continuera de fonctionner.
  • /usr : Ce dossier contient les bibliothèques logicielles, binaires etc. de tous les programmes optionnels au bon fonctionnement minimal du serveur. Nous n'ajouterons pas ou peu de logiciels sur le serveur, donc il ne nous est pas utile de le garder en partition séparée.
  • /var : Le dossier /var va contenir entre autre les logs et les bases de données. Dans les deux cas, en cas d'attaque DDOS, ce dossier peut vite se remplir. S'il possède sa partition dédiée, il ne viendra pas prendre la place nécessaire au bon fonctionnement du système et ne fera que remplir sa propre partition.
  • la swap : pas le choix, elle doit être sur une partition séparée car il s'agit d'un système de fichier spécial émulant de la RAM lorsque celle-ci vient à manquer. Perso, je mets 1.5 fois la RAM arrondi à un chiffre plus ou moins rond (base 2 parlant).

Conclusion : Table de partitionnement

Comme notre serveur est principalement destiné à de l'hébergement WEB, et que nous voulons un système stable et fiable, voici la table de partition qui est décidée (elle est identique pour les deux disques) :

. Montage Type Syst. de fichier Raid Taille (Mo)
/ Primaire ext4 Raid 1 2 048
/var Primaire ext4 Raid 1 10 240
NA Primaire swap non 2 560
NA Étendue NA NA 462 089
/home Logique ext4 Raid 1 460 041
/tmp Logique ReiserFS Raid 1 2048

Pourquoi utiliser ReiserFS pour le dossier tmp ? Ce système de fichier offre l'avantage d'être beaucoup plus rapide pour gérer de petits fichiers et/ou de longs arbres. Compte tenu de l'utilisation future de notre serveur (principalement du web "standard"), le dossier tmp va surtout contenir ce type de fichiers. ReiserFS permettra ainsi un gain de performance. L'inconvénient de ReiserFS est sa stabilité lors des coupures à chaud du système. Mais qu'importe : la dedibox ne devrait d'une part que très rarement subir ce genre de désagrément, et de toutes façons, on se fiche de la pérennité des fichiers de /tmp lors d'un reboot puisqu'ils sont effacés ^_^.

Pourquoi ne pas mettre la swap en Raid 1 ? Si un disque lâche, ce n'est pas génant si le serveur a besoin d'être rebooté (encore que, ce n'est pas sûr qu'il en ai besoin). Au reboot, il aura moins de SWAP (celle qui était sur le disque qui est tombé en panne n'est plus disponible), mais continuera de fonctionner. Il sera peut être un peu plus lent s'il doit utiliser la swap puisqu'il en aura moins, mais en théorie, la swap est là pour secourir la RAM saturée, donc ça doit être rare.
En fonctionnement normal (les deux disques fonctionnent), on gagne ainsi en rapidité lorsque la SWAP est utilisée : il y en a sur les deux disques, et surtout, sans le RAID 1 : pas besoin de la dupliquer, donc des temps de lecture / écriture plus rapides.

Aucun commentaire:

Enregistrer un commentaire