[Liste-clx] LVM et Xen sont sur un disque dur......

VANHULLEBUS Yvan vanhu_clx at zeninc.net
Mer 21 Mar 14:57:39 CET 2018


Salut.

Donc, j'avance sur la préparation de mon futur hyperviseur, et je me
pose des questions existentielles que je ne pourrai plus me poser plus
tard, en particulier comment répartir mon espace disque, et to LVM or
not to LVM, that is the question !


Pour vous résumer un peu la situation, je vais avoir:

2 disques de 8To chacun, en miroir. La, je pensais utiliser mdadm,
mais je viens de voir une option "mirror" dans lvcreate ????
A priori, il est très très peu probable que je rajoute d'autres
disques de stockage plus tard sur ce serveur.


Un Dom0, pour faire du Xen, il parait que c'est pratique :)
A part Xen, il va probablement faire quelques petits trucs, genre
monitorer l'onduleur, fournir le ntp sur le réseau, monitorer les
disques, la température, tout ca, et envoyer des mails à un smarthost
pour me prévenir en cas de problèmes. A priori, c'est tout.


Des serveurs virtuels qui vont faire des trucs dans leur coin, mais
pour lesquels ils n'ont pas besoin de beaucoup d'espace disque, genre
une install de debian un peu minimaliste, un endroit où poser des
données (quelques Gos de données maximum par serveur), un peu de logs,
voilà....


Un firewall, que je récupère en image RAW de VM. Cette image contient
plusieurs labels au sens BSD, et je ne maitrise pas son contenu (donc
je ne peux pas imposer un filesystem, des outils ou autre).

Mon fameux serveur NFS, qui est presque comme mes autres serveurs
virtuels, sauf qu'il aura un très gros /home en plus.

Pour ce /home, je veux me garder la possibilité d'ajouter plus tard un
cache en SSD. Donc, si j'ai bien compris, ce /home doit donc être en
LVM..... mais au niveau de la VM ou du Dom0 ????


Et pour les autres partitions, je passerais bien aussi l'ensemble sous
LVM pour pouvoir redimensionner facilement plus tard, mais j'ai un
doute sur ma compréhension de l'imbrication LVM/Xen.....


Exemple simple: au niveau de mon Dom0, donc, j'ai un /dev/md1
gigantesque, que je vais embarque dans LVM avec:
pvcreate /dev/md1
vgcreate vg0 /dev/md1

Jusque là, facile.....

Pour ma VM "VM1" (promis, je leur donnerai des noms plus sympas en
vrai :) ), je vais créer...... quoi ?

D'après ce que je lis sur le net, ca ressemblerait à:

lvcreate -n VM1_root -L 10G vg0
lvcreate -n VM1_swap -L 1G vg0

puis, dans mon ficher de conf xen, un truc genre:
disk = ['phy:vg0/VM1_root,sda1,w', 'phy:vg0/VM1_swap,sda2,w']

Sauf que...... dans ma VM, je veux partitionner..... même pour les
autres que le NFS: /usr séparé en lecture seule (des avis sur cette
vieille habitude ?), /var séparé pour ne pas saturer /, etc.....).

Ca se passe comment ? Je vais du coup créer VM1_usr, VM1_var,
etc... dans vg0, et avoir une liste d'entrées dans 'disk' au niveau du
fichier de conf xen ?

Est-ce que, en faisant comme ca, je ne risque pas de me retrouver avec
des snapshots ultérieurs des VMs super compliqués (obligé de faire un
snap de chaque VM1_) ??

L'autre option, ca serait de considérer vg0/VM1_root comme un disque
complet, et de partitionner dedans au niveau de la VM (et de mettre
sda au lieu de sda1 dans le .xl), c'est possible ?
Est-ce que je ne vais pas perdre la moitié de l'intérêt de LVM en
faisant comme ca ???

Et quelle que soit la solution retenue, est-ce que je pourrai
effectivement redimensionner les partitions de mes VMs facilement ?
(sinon, dans ce cas, LVM n'a pratiquement aucun intérêt pour moi....)



Et maintenant, la question subsidiaire, mon fameux gros /home....
A un moment, je voudrai peut être (probablement ?) rajouter un ssd
dans tout ca, dont le seul boulot sera de faire cache en lecture pour
ce /home...... via LVM.....

Au niveau de l'hyperviseur, cette partition sera un truc genre
vg0/VMNFS_home. Donc je pourrais faire une série d'incantations qui
finiront par un truc genre:
lvconvert --type cache --cachepool vg0/CacheDataLV vg0/VMNFS_home
(et là, déjà, ca me fait étrange d'avoir créé CachedataLV dans vg0,
même s'il semble que les commandes d'avant ont forcé la création de
CacheDataLV sur l'ensemble du futur SSD.....).


Mais comme vg0/VMNFS_home ne sera pas monté au niveau du Dom0, je me
dis que ca a quand même peu de chances de fonctionner, non ??


Du coup, faudrait que je passe aussi /dev/sdc (on va dire que mon
futur ssd est là) à la VM, et que ..... je ..... remette une couche de
LVM dans du LVM, non ? vu que, au niveau de la VM, vg0/VMNFS_home
n'existe pas comme ca, mais est un truc genre /dev/sda5, non ?



Avant que je ne continue plus en détails dans les options tordues qui
me sont venues à l'esprit, quelqu'un a déjà fait ce genre de choses ?

Ou au moins des trucs un peu similaires, qui pourraient m'éclairer ?


A +

VANHU.


Plus d'informations sur la liste de diffusion Liste-clx