Table des matières

INSTALLATION D'UN SYSTEME A NOYAU LINUX PARTITIONNEMENT ET SYSTEMES DE GESTION DE FICHIERS

RAPPEL : ANATOMIE D'UN DISQUE MAGNETIQUE

Un serveur embarque très souvent plusieurs disques pour accroître la capacité de stockage mais aussi pour augmenter le débit mémoire/disque et/ou assurer la tolérance de panne (technologies RAID).

ACCES AUX PERIPHERIQUES

Une des originalités des systèmes Unix est leur manière d'accéder aux périphériques. Chaque périphérique du système (souris, disque dur, lecteur de cd, carte son, etc.) est représenté par un fichier spécial. Écrire dans un tel fichier va envoyer des commandes au périphérique. Lire un tel fichier permet d'en recevoir des données. C'est une méthode très simple qui a fait ses preuves !

PARTITIONNEMENT DES DISQUES

Une partition est une partie d'un disque dur destinée à accueillir un système de fichiers.

Les informations sur les partitions sont conservées sur le disque lui-même dans des zones qu'on appelle tables de partitions. La table de partitions principale est contenue dans le premier secteur du premier disque ou secteur d'amorçage (Master boot record ou MBR) qui contient également le programme d'amorçage. Les tables des “autres” disques durs se nomment PBR.

Exemple typique de partitionnement :

A savoir: Seules les partitions primaires peuvent contenir la partition d'amorçage du système d'exploitation Windows. Ce n'est pas le cas pour Debian dont le système d'amorçage peut très bien s'installer sur une partition logique.

Le partitionnement d'une des machines utilisées par votre serviteur !

root@box:~# fdisk -l 

Attention : identifiant de table de partitions GPT (GUID) détecté sur « /dev/sda » ! L'utilitaire sfdisk ne prend pas GPT en charge. Utilisez GNU Parted. 

Disk /dev/sda: 320.1 GB, 320072933376 bytes 
255 têtes, 63 secteurs/piste, 38913 cylindres, total 625142448 secteurs 
Unités = secteurs de 1 * 512 = 512 octets 
Taille de secteur (logique / physique) : 512 octets / 512 octets 
taille d'E/S (minimale / optimale) : 512 octets / 512 octets 
Identifiant de disque : 0x7b097a5d 

Périphérique Amorce  Début        Fin      Blocs     Id  Système 
/dev/sda1               1      409639      204819+  ee  GPT 
/dev/sda2   *      409640   158346719    78968540   af  HFS / HFS+ 
/dev/sda3       158346720   158348673         977   da  Non-FS data 
/dev/sda4       158348674   617335002   229493164+  83  Linux 

Un message « warning » attire l'oeil… qu'est-ce que signifie GUID ? Ou encore GPT ?

MBR et GPT / BIOS ET EFI

Pour simplifier, le GPT est le remplaçant du MBR (Master Boot Record).     Il a de nombreux avantages et notamment il permet de passer la taille maximale d'une partition de 2.2 To à 9.4 Zo (9.4 milliards de To), et le nombre de 4 à 128.

Avec MBR, on est limité à 4 partitions primaires, ou 3 partitions primaires et une partition étendue qui elle même peut contenir 11 partitions logiques (ce qui fait quand même 14 partitions… c'est le maximum). La limitation vient du format de la table de partition dans le MBR, le premier secteur du disque.

Cette limitation saute avec le nouveau format GPT (Global Unit IDentifier Partition Table) utilisé notamment sur les machines avec firmware EFI (Extensible Firmware Interface) qui remplace le BIOS.

Là encore, le système d'exploitation doit supporter le GPT. Chez Microsoft, seul Seven x64 peut lire des partitions GPT. Les versions 32 bits le peuvent aussi, mais la taille maximale des partitions reste limitée à 2.2 To. Dans tous les cas, il faut un EFI pour que la partition soit bootable.

Pour résumer :

POURQUOI PARTITIONNER ?

Vous pourriez envisager de n'avoir qu'une seule partition contenant tout votre système… La plupart d'entre nous choisissent de créer plus de partitions que le minimum dont LINUX a besoin pour fonctionner. Pourquoi ? Principalement pour des raison de sécurité: Si une partition est corrompue, le reste du système est toujours accessible. Il suffit généralement de restaurer une sauvegarde de la partition corrompue pour régler le problème.

Mais aussi pour séparer les partitions qui risqueraient d'être submergées de fichiers (Par exemple /var pour un serveur de mail qui serait attaqué par un envoi massif…). Le reste du système serait alors toujours opérationnel.

Séparer les autres partitions de la racine “/” permet, en cas de corruption d'une autre partition, de toujours pouvoir amorcer Linux pour réparer le système… Vous voulez en effet pouvoir être en mesure de démarrer en “Single user mode” pour restaurer votre station ou serveur… Ce qui exige une racine «intacte».

La seconde difficulté (après le choix du nombre de partitions) sera de définir la taille de ces partitions… Une taille trop petite rendra rapidement votre système inutilisable. Une taille trop grande gâche de l'espace disque.

CE QUE PRECONISE DEBIAN :

Pour les nouveaux utilisateurs, les machines Debian personnelles ou familiales, et autres systèmes mono-utilisateur, une simple partition / (plus celle d'échange -SWAP-) est sans doute la solution la plus simple. L'inconvénient est le fait que les données personnelles ne sont pas séparées du système. Il est donc donc généralement conseillé, en plus de la partition d'échange (swap) de créer une partition / ET une partition /home.

Pour les systèmes avec plusieurs utilisateurs, ou les systèmes avec beaucoup d'espace disque, il vaut mieux placer les répertoires /usr, /var, /tmp, et /home chacun sur une partition distincte de la partition /. Si vous prévoyez d'installer beaucoup de programmes qui ne font pas partie de la distribution Debian, pensez à créer une partition /usr/local séparée.

Si vous prévoyez de créer un serveur de mail, prévoyez une partition /var en conséquence (à moins que vous ne stockiez les courriers dans un autre répertoire - vous pourriez par exemple avoir besoin de mettre /var/mail sur une partition distincte.

Mettre le répertoire /tmp sur sa propre partition, par exemple 20 à 50 Mo est un minimum, sur les disques récents il peut être utile d'y mettre 1 ou 2G (des logiciels de gravure y mettent les images ISO temporaires, des logiciels d'installation y déploient tout un arbre avant de compiler, des logiciels d'édition video y mettent leur (gros) fichiers temporaires). Cette remarque vaut pour /var/tmp.

Si vous mettez sur pied un serveur avec beaucoup d'utilisateurs ou si vous avez plusieurs systèmes Linux, il est généralement intéressant d'avoir une grande partition distincte pour /home.

Pour conclure :

ORGANISATION DES REPERTOIRES SUR UN SYSTEME LINUX

DESCRIPTION DES PARTITIONS D'UN SERVEUR A NOYAU LINUX

La partition racine

La partition racine / doit toujours IMPERATIVEMENT contenir les répertoires : /etc, /bin, /sbin, /lib et /dev, faute de quoi vous seriez dans l'impossibilité de démarrer le système. Debian préconise 150 à 250 Mo minimum.

La partition usr

Le répertoire /usr contient (entre autres) les programmes des utilisateurs (/usr/bin), les bibliothèques (/usr/lib), la documentation (/usr/share/doc).

Vous devriez disposer d'au moins 500 Mo d'espace disque. Si vous voulez installer plus de paquets, vous devriez augmenter l'espace disque attribué à ce répertoire.

Pour installer un serveur « généreux », 4 à 6 Go sont nécessaires d'après Debian;

La partition var

Le répertoire /var contient toutes les données variables (les messages électroniques, les sites web, le cache du système des paquets, etc.). La place nécessaire dépend de l'usage que vous faites de votre ordinateur.

La partition tmp

Le répertoire /tmp  permet de stocker les données temporaires. 40 à 100 Mo peuvent suffire pour une utilisation standard. Certaines applications, gestionnaires d'archives, outils pour créer des CD/DVD, logiciels multimedia, se servent de /tmp pour stocker provisoirement des images. Si vous comptez utiliser ces programmes, il faut en tenir compte et augmenter en conséquence /tmp. Pour certains, cette partition va jusqu’à 10 Go et plus.

La partition home

Le répertoire /home : chaque utilisateur mettra ses données dans un sous-répertoire de ce répertoire. La place nécessaire dépend du nombre d'utilisateurs sur le système, et du genre de fichiers qu'ils devront stocker. Généralement la plus grande place (ou l'espace restant) est réservée à cette partition.

La partition swap

En ce qui concerne la taille de la partition d'échange (swap), les avis sont partagés…

Selon certains : SWAP taille = celle de la mémoire vive ( $ cat /proc/meminfo | grep MemTotal ), augmentée de 0,5 Gb ; partition primaire ou étendue.

Il est habituel d'avoir au moins une SWAP environ égale à la quantité de mémoire vive :

$ grep MemTotal /proc/meminfo

Certains, disposant de plus de 6/8 Go de RAM ne créent pas de Swap. Celle-ci serait, pour une utilisation “classique”, inutile.

Sur les architectures 32 bits (i386, m68k, SPARC 32 bits et PowerPC), la taille maximale d'une partition d'échange est de 2 Go. Cela devrait suffire pour presque tous les systèmes. De toute façon, si vos besoins en espace d'échange sont aussi importants, vous devriez probablement essayer de disperser les partitions d'échange sur des disques différents et, si possible, sur des canaux IDE ou SCSI différents. Le noyau équilibrera l'utilisation de l'espace d'échange entre les différentes partitions, afin d'obtenir de meilleures performances. Il est également possible de créer des fichiers SWAP à la demande ou pour corriger un swap insuffisant à l'origine.

LES SYSTEMES DE GESTION DE FICHIERS

Les différents types de systèmes de fichiers exploités par les OS à noyau Linux :

Les différents types de systèmes de fichiers reconnus par les OS Windows :

Les différents types de systèmes de fichiers reconnus par les OS Apple MAC OS :

LES OUTILS DE TEST ET DE PARTITIONNEMENT

(A utiliser si vous êtes sûr de vos compétences… et… si vous êtes en forme!!)

Utiliser TesDisk !

ANNEXE : LE GESTIONNAIRE DE VOLUMES LOGIQUES (LVM)

Principe

Le schéma ci dessous montre le principe global de fonctionnement de LVM : une couche d'abstraction aux disques physiques, mettant à disposition un vaste espace partitionnable.

Il est possible de mettre en place LVM par dessus n'importe quel disque présent sur le système, et non pas uniquement sur des disques IDE ou SCSI indépendants (par exemple sur plusieurs importantes tours de stockage, de manière totalement transparente). Ce système permettant à la gestion de stockage logicielle de faire totalement abstraction du matériel (et inversement), il est possible de modifier la configuration matérielle de manière transparente pour les applications.

Exemples d'utilisations