Partitionnement
Partitionnement standardisé pour serveur Xen
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:
- les partitions /boot et root en miroir (RAID-1)
- le swap du Dom0 qui peut se faire directement sur le device, mais de préférence en miroir (RAID-1)
- 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