Aie, désolé pour le retard, j'ai pas reçu de notif par e-mail des nouvelles réponses.

Concernant la partition /boot, suite à vos explications, je ne la mettrais pas en place.

Concernant le partitionnement. En effet il n'est pas utile de créer autant de partitions que avant, cependant certaines personnes conseille quand même de séparer /home et /var (dans le cas d'un vps servant d'hébergeur de sites internet). Car même si on n'est pas limité par les I/O on pourrait l'être par le nombre d'accès au filesystem.

Par contre, je me rend compte tout doucement des limitations de LVM. Car utiliser LVM sur sa machine de bureau et l'utiliser pour la gestion des VPS c'est fort différent. Sur une machine de bureau, on va plus vite s'en servir pour pouvoir redimensionner facilement une partition par contre avec un VPS, ce sera plus pour faire des snapshot et de la migration, car faire du redimensionnement sur un LV abritant un VPS, c'est vraiment galère.

Sur une machine de bureau, un LV contient juste un système de fichiers, sans même de table de partition si je ne me trompe pas, tandis que avec un VPS, le LV contient une table de partition et c'est avec ça qu'on peut s'arracher les cheveux pour redimensionner un LV.


@remi, oui j'utilise 1 LV par VPS mais de toute façon je ne vois pas trop comment utiliser 1 seul LV pour deux VPS différents. Et je ne vois pas l'intérêt d'utiliser des LV pour le partitionnement du serveur de virtualisation en lui-même, par contre c'est obligatoire pour les VPS. Il ne ce passe rien logiquement sur le serveur de virtualisation, tout ce passe dans les VPS.
Yokav wrote:Par contre, je me rend compte tout doucement des limitations de LVM. Car utiliser LVM sur sa machine de bureau et l'utiliser pour la gestion des VPS c'est fort différent. Sur une machine de bureau, on va plus vite s'en servir pour pouvoir redimensionner facilement une partition par contre avec un VPS, ce sera plus pour faire des snapshot et de la migration, car faire du redimensionnement sur un LV abritant un VPS, c'est vraiment galère.
Juste pour info, au boulot j'ai 550 serveurs linux avec du lvm et je l'ai également sur mon propre poste de travail et je n'ai jamais trouvé cela galère, au contraire cela m'aide énormément et me sauve la vie par fois quand il s'agis de migrer des données ou des disque depuis un serveur sur un autre.
Oui, pour ma part je ne gère que 2~3 machines virtuelles pour le moment.

Cependant ton avis semble se regrouper avec le miens, le LVM pour les VPS c'est très bien, ça a beaucoup d'avantages tel que la migration, les sauvegardes, etc. Mais le point noir reste le redimensionnement selon moi, voici un cas pratique auquel j'ai été confronté.

Un VPS est installé sur LV001 qui fait 20go. LV001 dispose de sa propre table de partition utilisée par le VPS et qui se compose de :
1ere partition -- / qui fait 10go
2eme partition -- /home qui fait 5go
3eme partition -- /var qui fait 3go
4eme partition -- swap de 2go

Arrive un moment où la partition /home est saturée, on ne va donc pas pouvoir créer une nouvelle partition, il va falloir augmenter la taille de la partition /home existante.
Pour cela on commence par éteindre le VPS, faire un petit "lvresize" sur LV001 par contre si après ça on essaye d'augmenter la taille de la partition avec "resize2fs" ça ne va pas fonctionner car elle utilise déjà tous les blocs disponibles. Pour qu'elle puisse utiliser les nouveaux blocs, il va falloir supprimer la partition et puis la recréer. Mais dans ce exemple il y a même une problématique en plus, il y a d'autres partitions situées entre celle à redimensionner et les nouveaux blocs (/var et swap).


Et même si on prend un exemple beaucoup plus simple, un VPS sur LV002 avec une seule partition, il faudra tout de même supprimer cette partition et la recréer pour qu'elle puisse utiliser tous les nouveaux blocs disponibles ce qui devrait entrainer une perte des données.
LVM... LVM... LVM...

Machine hote => LVxxx associée à la machine virtuelle
Machine virtuelle => en LVM aussi

Sur l'hote => lvextend
Sur la VM => vgresize => lvextend

That's all

Les partitions, c'est obsolète. Point barre. Ton exemple le prouve.
Ahh des LVM imbriqués, je m'étais aussi renseigné sur cette possibilité, voici ce que j'en ai ressorti...

Comme tu l'indiques, il n'est pas interdit d'imbriquer des LVM l'un dans l'autre et niveau des performances, cela n'a que très peu d’impact.

Donc, d'un premier abord cela semble être une bonne idée sauf que cette méthode oblige de faire un "vgresize" sur le VPS et d'après les informations que j'ai pu trouver à ce propos, cette fonctionnalité est à prendre avec des pincettes car beaucoup moins stable que "lvresize".

Ensuite pour réagir au fait d'utiliser des LVM partout, il est claire que pour administrer des VPS c'est très utile surtout que là, on peut redimensionner le système de fichier du VPS proprement, c'est-à-dire ne pas le faire à chaud et ce directement depuis l'hôte.

Par contre, utiliser du LVM sur l'hôte pour la gestion de ses propres partitions (/home, /var/, /usr, etc.), j'ai un doute. Car comme indiqué ci-dessus, faire un redimensionnement à chaud c'est risqué et donc il faut pouvoir avoir un accès en vKVM à son serveur ce qui n'est pas toujours chose aisée. Et si on désire faire un redimensionnement à chaud, il faut avoir bien partition son serveur dés le début car si on a qu'une seule partition "/" ça ne fonctionnera pas, si je me trompe pas, il n'est pas possible de redimensionner "/" et "/usr" à chaud car ils sont en cours d'utilisation.
Again : Les partitions, c'est obsolète. Point barre. Ton exemple le prouve.

Le redimensionnement à chaud est possible (depuis longtemps).
C'est tout l'intérêt de la chose.

J'ai vu ajouter un disque (hotplug) sur un serveur, aggrandir le VG, aggrandir certains LV, sans jamais redémarrer.

P.S. et je me suis trompé, quand on agrandi un disque, c'est plutôt pvresize qu'il faut utiliser (ou pvcreate / vgresize lorsqu'on "ajoute" un disque)
Hehe, merci pour ta réactivité remi. :-D

Je ne tenais pas à remettre en cause tout ce que tu as indiqué, je me doute que tu dois avoir bien plus de connaissance que moi sur ce sujet, je voulais juste expliquer les aprioris que j'ai suite à mes diverses recherches, dans le but de savoir si c'était fondé ou pas... mais ça n'a pas trop l'air d'être le cas. :-P

Pour les VPS, c'est décidé, je vais faire du LVM imbriqué. Ainsi je me retire une belle épine du pied concernant la gestion des partitions.

Et pour la machine hôte je le ferais bien aussi finalement... A part pour la partition /boot vu qu'elle ne supporte pas LVM.

Par contre, est-il recommandé d'avoir deux VG différents, l'un pour les LV de la machine hôte et l'autre pour les LV des VPS ou bien cela n'a aucune espèce d'importance ? Peut-être qu'il y aurait un intérêt point de vue sécurité ou autre...

Et quelles sont les partitions des la machine hôte qui peuvent être sur un LV mais que l'on ne pourra jamais redimensionner à chaud ? Je sais que c'est le cas de /user par exemple.
Perso, je suis adapte du VG unique.
Cela permet de déplacer des LV d'un PV vers un autre (dans le même VG).
Alors qu'avec plusieurs VG, cela n'est pas possible.

Tous les LV peuvent être agrandi à chaud (pour la réduction ça implique un démontage).
C'est le principe à retenir sur LVM, on taille petit au départ et on agrandi au besoin.
Comme remi l'a si bien dit, le resize à chaud se fait depuis fort long temps. C'est justmement l'intérét de l'utilisation de LVM.

Voici comment moi je fais pour mes serveurs:

Un volume groupe vg_system avec tous les partitions nécessaire pour l'OS
Un volume groupe vg_data pour tous les logical volumes qui vont accueillir les données.

En suite dès que j'ai besoin de plus d'espace, je rajoute un disque puis voici la marche à suivre.
pvcreate /dev/sdx
vgextend vgdata /dev/sdx
lvresize -L +LA_TAILLE_SOUHAITEE /dev/vgdata/lv_data
resize2fs /dev/vgdata/lv_data
A partir de la version 6 de Red Hat tu peux directement faire le resize2fs dans la même commande lvresize avec l'option -r
Et voilà toute la chose, pas besoin de partition.
avec lvresize le -r peut éviter le resize2fs (il le fait dans la foulé). man lvresize. Sinon c'est conseillé d'ajouter le hostname (ou autre variable) dans le nom des vg si jamais tu veux pluguer un dd d'un serveur hs dans un serveur ok, avoir 2 vg avec le même nom ça le fait pas. voilà mes 2cts sur lvm 🙂
Même si tu arrive à exporter un volume group avec le même nom que sur la machine de destination, tu peux toujours faire un petit vgrename avant de faire l'export bien sur.