Outils pour utilisateurs

Outils du site


lab:lab-proxmox

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
lab:lab-proxmox [2022/07/01 14:04] – [Stockage] celolab:lab-proxmox [2022/07/04 13:55] (Version actuelle) – [Utilisateurs] celo
Ligne 7: Ligne 7:
 Pour cette installation de Debian, j'ai utilisé l'ISO net-install de Debian. On peut tout décocher sauf SSH (ou installer tout de même les utilitaires système si on le souhaite). Pour cette installation de Debian, j'ai utilisé l'ISO net-install de Debian. On peut tout décocher sauf SSH (ou installer tout de même les utilitaires système si on le souhaite).
  
-Pour le moment, je mets de côté le chiffrement (j'ai essayé avec LVM mais cela pose des problèmes pour faire les snapshot...)+Pour le moment, je mets de côté le chiffrement et j'ai formaté la partition du système en XFS.
  
-Il faut mieux pour le partitionnement utiliser un systeme qui accepte les snapshot. Dans ce lab, j'ai formaté la partition du système en XFS.+Pourquoi XFS plutôt que BTRFS qui supporterait directement les snapshots ? Lorsqu'on fait des sauvegarde, BTRFS fait une sauvegarde qui tient compte du delta entre les modifications, sauf que dans le cas d'une vm dont le stockage change constamment, ça utilise beaucoup d'espace disque et on ne voit pas toujours bien l'espace restant.
  
-Rappel des systèmes de fichiers et de ce qu'ils permettent dans Proxmox ici : https://pve.proxmox.com/wiki/Storage 
 ===== Configuration du réseau ===== ===== Configuration du réseau =====
  
Ligne 194: Ligne 193:
 On peut authoriser un autre utilisateur à se connecter à l'interface web en allant dans : Datacenter -> Permissions On peut authoriser un autre utilisateur à se connecter à l'interface web en allant dans : Datacenter -> Permissions
  
 +
 +===== Utilisateurs  =====
 +
 +Les utilisateurs PAM sont les utilisateurs Gnu/Linux des machines Proxmox. Un même utilisateur peut donc avoir un mot de passe différent selon le node.
 +
 +Les utilisateurs PVE sont stockés dans la configuration du cluster Proxmox et sont les mêmes sur toutes les machines du cluster.
 ===== Configuration du NAT pour les machines virtuelles  ===== ===== Configuration du NAT pour les machines virtuelles  =====
  
Ligne 552: Ligne 557:
 Il est possible de la désactiver dans les options des VM... mais c'est très très très lent...  Il est possible de la désactiver dans les options des VM... mais c'est très très très lent... 
  
-Bref, il me faut utiliser une machine qui supporte la virtualisation KVM pour vraiment pouvoir tester dans de bonnes conditions...+<del>Bref, il me faut utiliser une machine qui supporte la virtualisation KVM pour vraiment pouvoir tester dans de bonnes conditions...</del> 
 + 
 +En fait mon processeur supporte bel et bien la virtualisation KVM (l'option était juste cachée dans un sous-sous-menu du BIOS que je n'avais pas vue...)
  
 ==== VM versus conteneurs ==== ==== VM versus conteneurs ====
Ligne 586: Ligne 593:
 </code> </code>
  
-A l'état actuel du cluster, les VM et les conteneurs peuvent être migrés entre les stockage locaux des deux machines mais ils sont recopiés à chaque fois d'une machine à l'autre, ce qui est lent.+=== Snapshot et réplication des données ===
  
-Si les machines ont un second disque dur, ce stockage ne peut pas non plus être utilisé facilement (autre disque SATA ou USB formaté en XFS par exemplecar Proxmox ne veut pas donner un même nom aux deux emplacements.+Une page dans la documentation de Proxmox indique ce que permettent les différents types de stockage : https://pve.proxmox.com/wiki/Storage 
 + 
 +Un formatage en XFS comme je l'ai fait ne permet les snapshots que pour les VMs (et moyennant que leur disque soit au format qcow2) et non les conteneurs car le storage local est configuré avec le type "Directory" (on peut le voir dans Datacenter -> Storage). 
 + 
 +Si l'on souhaite pouvoir prendre des snapshot des conteneurs, ceux-ci doivent être stockés dans un pool ZFS (sur un second disque ou une seconde partition ?). 
 + 
 +Un pool ZFS séparé permet aussi de configurer la réplication. 
 + 
 +La réplication n'est pas de la HA, c'est une copie à intervals réguliers (définis par l'utilisateurvers l'autre Proxmox. Si la machine est déplacée sur le Proxmox où elle est répliquée, la réplications s'inverse (à vérifier). 
 + 
 +On peut créer un pool ZFS en allant dans Node -> Disk -> ZFS. 
 + 
 +=== Déplacement des machines entre les Proxmox === 
 + 
 +A l'état actuel du cluster, les VM et les conteneurs peuvent être répliqués sur l'autre noeud, ou être migrés entre les deux machines. Cependant, même dans le cas d'une migtration, ils sont recopiés à chaque fois d'une machine à l'autre, ce qui est lent. 
 + 
 +Si les machines ont un second disque dur, celui-ci n'est accessible que localement et les VMs ou CT dont les volumes sont dessus peuvent difficilement être migrés.
  
 On peut néanmoins définir un espace partagé entre les proxmox en utilisant un partage réseau (NFS, CIFS, ISCUSI) ou en utilisant CEPH sur des disques physiques. On peut néanmoins définir un espace partagé entre les proxmox en utilisant un partage réseau (NFS, CIFS, ISCUSI) ou en utilisant CEPH sur des disques physiques.
  
-Et dans la doc Proxmox : https://pve.proxmox.com/pve-docs/chapter-pvesm.html+Voir la doc Proxmox : https://pve.proxmox.com/pve-docs/chapter-pvesm.html 
 + 
 + 
 + 
 + 
 + 
  
-**TODO : A tester aussi : la réplication (remplace en partie ou juste un backup ?).** 
 ==== Configuration réseau pour la gateway ==== ==== Configuration réseau pour la gateway ====
  
Ligne 618: Ligne 646:
 ==== Difficulté d'éteindre les VM ==== ==== Difficulté d'éteindre les VM ====
  
-Je rencontre des difficultés à éteindre mes VM... ça tourne en boucle et puis ça renvoit une erreur.+Penser à cocher le qemu agent lors de la création des VM sinon on ne parvient pas à les commander de puis Proxmox et on obtient l'erreur 
  
 <code> <code>
Ligne 625: Ligne 653:
 </code> </code>
  
-La solution que j'ai trouvé pour le moment est d'entrer dans les VM et de les éteindre.+===== Backup avec Proxmox Backup Server ===== 
 + 
 +L'installation d'un Proxmox Backup Server est similaire à celle d'un Proxmox.  
 + 
 +On peut partir d'une ISO mais aussi installer le serveur sur une machine qui a déjà une base Debian. 
 + 
 +Ici aussi, il est nécessaire d'avoir ''ifdown2'', on doit donc modifier ''/etc/network/interfaces'' en conséquences, veiller à lancer la commande dans un screen et penser à recharger la configuration réseau à l'issue de la manipulation. 
 + 
 +<code> 
 +screen 
 +apt install ifupdown2 && ifreload -a 
 +</code> 
 + 
 +On édite aussi le fichier ''/etc/hosts'' avant l'installation. 
 + 
 +Puis on ajoute la clé Proxmox Backup Server et les dépôts dans ''/etc/apt/sources.list''
 + 
 +<code> 
 +# PBS pbs-no-subscription repository provided by proxmox.com, 
 +# NOT recommended for production use 
 +deb http://download.proxmox.com/debian/pbs bullseye pbs-no-subscription 
 +</code> 
 + 
 +On télécharge la clé de Promox : 
 + 
 +<code> 
 +apt install wget gpg 
 +# wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg 
 +</code> 
 + 
 +Et on installe le PBS :  
 + 
 +<code> 
 +install proxmox-backup 
 +</code> 
 + 
 +Il existe aussi un paquet ''proxmox-backup-server'' qui permet d'installer le serveur de backup par dessus de Debian avec les paquets minimum nécessaires. 
 +Le paquet ''proxmox-backup'' installe en revanche la même chose qu'installerait l'installateur de l'ISO. 
 + 
 +Une fois le PBS installé, la configuration des Backup peut être faite en suivant ce tutoriel : https://notamax.be/proxmox-backup-server-presentation-et-premiers-pas/ 
 + 
 +Globalement, le fonctionnement est assez intuitif.  
 + 
 +Il faut cependant dédier un disque entier pour le pool ZFS du Datacenter. Ce peut-être un disque branché en USB. 
 + 
 +La restauration des VMs se fait depuis les Proxmox qui sont "clients" du PBS via le stockage pbs.  
 + 
 +On peut restaurer sur popmox une vm qui était sur proxcorn et vice versa. Ca fonctionne bien. 
 + 
 + 
 +===== Installation de CEPH pour un stockage partagé ===== 
 + 
 +On installe CEPH sur chacun des deux Proxmox : 
 + 
 +<code> 
 +pveceph install 
 +</code> 
 + 
 +Sur l'un des Proxmox (ici popmox), on initialise le cluster ceph : 
 + 
 +<code> 
 +root@popmox:~# pveceph init --network 192.168.178.0/24 
 +</code> 
 + 
 +Sur chacun des Proxmox, on crée les moniteurs et les managers :  
 + 
 +<code> 
 +pveceph mon create 
 +pveceph mgr create 
 +</code> 
 + 
 +Sur le premier Proxmox, le manager est créé en même temps que le moniteur. 
 + 
 +<code> 
 +root@popmox:~# pveceph mon create 
 +unable to get monitor info from DNS SRV with service name: ceph-mon 
 +creating new monitor keyring 
 +creating /etc/pve/priv/ceph.mon.keyring 
 +importing contents of /etc/pve/priv/ceph.client.admin.keyring into /etc/pve/priv/ceph.mon.keyring 
 +monmaptool: monmap file /tmp/monmap 
 +monmaptool: generated fsid fa0ee8c7-43f0-480f-bd9e-0bc3710b8b10 
 +epoch 0 
 +fsid fa0ee8c7-43f0-480f-bd9e-0bc3710b8b10 
 +last_changed 2022-07-01T14:05:45.303633+0200 
 +created 2022-07-01T14:05:45.303633+0200 
 +min_mon_release 0 (unknown) 
 +election_strategy:
 +0: [v2:192.168.178.96:3300/0,v1:192.168.178.96:6789/0] mon.popmox 
 +monmaptool: writing epoch 0 to /tmp/monmap (1 monitors) 
 +created the first monitor, assume it's safe to disable insecure global ID reclaim for new setup 
 +Created symlink /etc/systemd/system/ceph-mon.target.wants/ceph-mon@popmox.service -> /lib/systemd/system/ceph-mon@.service. 
 +creating manager directory '/var/lib/ceph/mgr/ceph-popmox' 
 +creating keys for 'mgr.popmox' 
 +setting owner for directory 
 +enabling service 'ceph-mgr@popmox.service' 
 +Created symlink /etc/systemd/system/ceph-mgr.target.wants/ceph-mgr@popmox.service -> /lib/systemd/system/ceph-mgr@.service. 
 +starting service 'ceph-mgr@popmox.service' 
 +root@popmox:~# pveceph mgr create 
 +ceph manager directory '/var/lib/ceph/mgr/ceph-popmox' already exists 
 +</code> 
 + 
 +Sur le second Proxmox, on tape les deux commandes. 
 + 
 +Puis on créé les OSD qui sont des unités de stockages de CEPH :  
 + 
 +<code> 
 +pveceph osd create /dev/sdX 
 +</code> 
 + 
 +Pour que CEPH puisse fonctionner correctement en cluster, il faut que tout le cluster ait la même heure. On installe timesyncd qui est uniquement la partie cliente (à la différence de ntpd qui est aussi un serveur). 
 + 
 +<code> 
 +apt install systemd-timesyncd 
 +</code> 
 + 
 +Sur l'une seule des machines, popmox à nouveau, on créé le pool de stockage auquel on ajoute les OSD créés :  
 + 
 +<code> 
 +pveceph pool create popceph --add_storages  
 +</code> 
 + 
 +CEPH procède par placements de groupes (voir ici : https://docs.ceph.com/en/latest/rados/operations/placement-groups/). Il s'agit de sous-blocs dans les OSD qui vont gérer l'activité de dupliquer ou non une donnée. Cela est géré par un algorithme qui définit dans quel node vont se retrouver les données selon une formule mathématique.  
 + 
 +Un calculateur en ligne permet de définir les nombres adéquats selon la situation : https://old.ceph.com/pgcalc/ 
 + 
 +Mais on peut plus simplement définir un fonctionnement automatique avec la commande :  
 + 
 +<code> 
 +ceph osd pool set popceph pg_autoscale_mode on 
 +</code> 
 + 
  
-Ca devrait pourtant pouvoir se faire dans l'interface de Proxmox avec le qemu agent... 
lab/lab-proxmox.1656684290.txt.gz · Dernière modification : 2022/07/01 14:04 de celo