Partitionnement

Un article de Bulles.

Partitionnement standardisé pour serveur Xen

Sommaire

RAID Hardware

Moins de 2 TB

Les disques sont configuré en RAID5, ce qui nous donne, si on a n disques de taille S, (n-1)*S d'espace disque disponible, vu comme un seul sda sous Linux ((n-2)*S si on utilise un spare)

En dehors du système, l'espace disque disponible est divisé en Physical Volumes (PV) d'environ 250GB sont pré-créés, prêts à être alloués aux Volume Groups suivant l'évolution.

Exemple avec 4 disques de 512GB:

Physical device Taille Volume Group LVM Partition
/dev/sda1 512 MB - - /boot
/dev/sda2 45 GB vgDom0 root 1 GB /
swap 2 GB swap
tmp 1 GB /tmp
usr 5 GB /usr
var 3 GB /var
home 30 GB /home
- 3 GB non-alloué
/dev/sda5 225 GB vgXen srvxen 30 GB /srv/xen
- 195 GB non-alloué / DomU LV
/dev/sda6 225 GB - - non-alloué
/dev/sda7 225 GB - - non-alloué
/dev/sdb8 225 GB - - non-alloué
/dev/sdb9 225 GB - - non-alloué
/dev/sdb10 225 GB - - non-alloué

Plus de 2 TB

Pour un espace disque utilisable de plus de 2TB (par exemple 6 disques de 500GB ou plus dans une configuration avec un spare), on ne peux plus utiliser les partitions de type MS-DOS.
Le problème est que les utilitaires (Grub essentiellement) de Debian Etch ne supportent pas encore d'autre types de partitions (GPT).

Si on a plus de 2TB, il faudra configurer plusieurs grappes de moins de 2TB qui apparaîtrons comme sda, sdb, ... sous Linux.

On partitionnera de la même manière, en mettant éventuellement le système sur une grappe différente des DomUs.

Exemple:

Physical device Taille Volume Group LVM Partition
/dev/sda1 512 MB - - /boot
/dev/sda2 45 GB vgDom0 root 1 GB /
swap 2 GB swap
tmp 1 GB /tmp
usr 5 GB /usr
var 3 GB /var
home 30 GB /home
- 3 GB non-alloué
/dev/sda5 225 GB - - non-alloué
... 225 GB - - non-alloué
/dev/sdb1 225 GB vgXen srvxen 30 GB /srv/xen
- 195 GB non-alloué / DomU LV
/dev/sdb2 225 GB - - non-alloué
... 225 GB - - non-alloué

Note: le fait de devoir faire des grappes différentes implique que nous allons perdre de l'espace disque. En effet, pour 2 grappes en RAID 5, avec n disques de taille S, on aura (n-2)*S d'espace disque disponible et (n-4)*S si on utilise un spare par grappe.

RAID Logiciel

Il faut tenir compte des spécificités de certaines partitions:

  1. les partitions /boot et root en miroir (RAID-1)
  2. le swap du Dom0 qui peut se faire directement sur le device, mais de préférence en miroir (RAID-1)
  3. le reste en RAID-5 + LVM pour une flexibilité maximale, en tenant compte que toutes les partitions de la grappe doivent avoir la même taille

In fine, quitte à perdre un peu de place, il faut une combinaison où tous les disques sont partitionnés à l'identique.

Exemple avec 4 disques de 512GB:

Physical devices Taille Part. Raid Device Taille md Volume Group LVM Partition
/dev/sda1 /dev/sdb1 768 MB /dev/md0 768 MB - - /boot
/dev/sdc1 /dev/sdd1 768 MB /dev/md1 768 MB - - /
/dev/sda2 /dev/sdb2 1 GB /dev/md2 1 GB - - swap 1
/dev/sdc2 /dev/sdd2 1 GB /dev/md3 1 GB - - swap 2
/dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3 14 GB /dev/md4 42 GB vgDom0 tmp 1 GB /tmp
usr 5 GB /usr
var 3 GB /var
home 30 GB /home
- 3 GB non-alloué
/dev/sda5 /dev/sdb5 /dev/sdc5 /dev/sdd5 75 GB /dev/md5 225 GB vgXen srvxen 30 GB /srv/xen
- 195 GB non-alloué / DomU LV
/dev/sda6 /dev/sdb6 /dev/sdc6 /dev/sdd6 75 GB /dev/md6 225 GB - - non-alloué
/dev/sda6 /dev/sdb7 /dev/sdc7 /dev/sdd7 75 GB /dev/md7 225 GB - - non-alloué
/dev/sda8 /dev/sdb8 /dev/sdc8 /dev/sdd8 75 GB /dev/md8 225 GB - - non-alloué
/dev/sda9 /dev/sdb9 /dev/sdc9 /dev/sdd9 75 GB /dev/md9 225 GB - - non-alloué
/dev/sda10 /dev/sdb10 /dev/sdc10 /dev/sdd10 75 GB /dev/md10 225 GB - - non-alloué


Notes:

  • Le problème des 2TB ne se pose pas ici, chaque disque physique étant de capacité inférieure (du moins pour l'instant!)
  • L'utilisation d'un spare se fait sans problème avec un disque supplémentaire partitionné à l'identique
  • On peux opter pour un partitionnement encore plus carré que ci-dessus en ne mettant pas /boot, root et le swap côte à côte.
    On a une perte assez minime de place, mais une configuration plus claire

Même exemple que ci-dessus, mais avec 4 disques et un spare, en configuration carrée:

Physical devices
(Spares)
Taille Part. Raid Device Taille md Volume Group LVM Partition
/dev/sda1 /dev/sdb1
(/dev/sdc1 /dev/sdd1 /dev/sde1)
512 MB /dev/md0 512 MB - - /boot
/dev/sda2 /dev/sdb2
(/dev/sdc2 /dev/sdd2 /dev/sde2)
1 GB /dev/md1 1 GB - - /
/dev/sda3 /dev/sdb3
(/dev/sdc3 /dev/sdd3 /dev/sde3)
2 GB /dev/md2 2 GB - - swap
/dev/sda5 /dev/sdb5 /dev/sdc5 /dev/sdd5
(/dev/sde5)
14 GB /dev/md3 42 GB vgDom0 tmp 1 GB /tmp
usr 5 GB /usr
var 3 GB /var
home 30 GB /home
- 3 GB non-alloué
/dev/sda6 /dev/sdb6 /dev/sdc6 /dev/sdd6
(/dev/sde6)
75 GB /dev/md4 225 GB vgXen srvxen 30 GB /srv/xen
- 195 GB non-alloué / DomU LV
/dev/sda6 /dev/sdb7 /dev/sdc7 /dev/sdd7
(/dev/sde7)
75 GB /dev/md5 225 GB - - non-alloué
/dev/sda8 /dev/sdb8 /dev/sdc8 /dev/sdd8
(/dev/sde8)
75 GB /dev/md6 225 GB - - non-alloué
/dev/sda9 /dev/sdb9 /dev/sdc9 /dev/sdd9
(/dev/sde9)
75 GB /dev/md7 225 GB - - non-alloué
/dev/sda10 /dev/sdb10 /dev/sdc10 /dev/sdd10
(/dev/sde10)
75 GB /dev/md8 225 GB - - non-alloué
/dev/sda11 /dev/sdb11 /dev/sdc11 /dev/sdd11
(/dev/sde11)
75 GB /dev/md9 225 GB - - non-alloué


Partitionner tous les disques peut prendre un certain temps dans l'installeur. Le plus simple pour des disques identiques est de partitionner le premier disque et de cloner sa table de partition en ligne de commande:

sfdisk -d /dev/sda | sfdisk /dev/sdb