Commit d51adfb6 authored by Thierry Fenasse's avatar Thierry Fenasse

relecture

parent 7ac4a4ce
...@@ -5,6 +5,8 @@ Avoir une machine avec Proxmox c'est bien. ...@@ -5,6 +5,8 @@ Avoir une machine avec Proxmox c'est bien.
En avoir deux c'est probablement mieux. Tiens ?! À ce propos, Il parrait que VMWare offre une solution qui synchronise la RAM ? Si c'est vrais, peut-on se contenter d'une solution telle que Proxmox ? À vérifier et évaluer les avantages et inconvénients. En avoir deux c'est probablement mieux. Tiens ?! À ce propos, Il parrait que VMWare offre une solution qui synchronise la RAM ? Si c'est vrais, peut-on se contenter d'une solution telle que Proxmox ? À vérifier et évaluer les avantages et inconvénients.
#TODO
En avoir trois, je suppose que c'est ce qui se rapporchera du minimum décent pour de la haute disponibilité. Mais est-ce vraiment nécessaire ? En avoir trois, je suppose que c'est ce qui se rapporchera du minimum décent pour de la haute disponibilité. Mais est-ce vraiment nécessaire ?
Soit… commençons déjà avec un Proxmox. Soit… commençons déjà avec un Proxmox.
...@@ -12,20 +14,20 @@ Soit… commençons déjà avec un Proxmox. ...@@ -12,20 +14,20 @@ Soit… commençons déjà avec un Proxmox.
Le Proxmox installé Le Proxmox installé
------------------- -------------------
Dans mon labo pourri, sur un vieux serveur avec un cpu Xeon (8cœurs), 16Gb de ram, 1 carte Gigabit, et un raid 5 (ext4) sur 4 disques avec `mdadm`. J'ai installé Proxmox 5.2 [depuis l'iso](https://www.proxmox.com/en/downloads/item/proxmox-ve-5-2-iso-installer) sur un disque sata de 80Gb hors du raid. Dans mon labo pourri, sur un vieux serveur avec un cpu Xeon (8 cœurs), 16Gb de ram, 1 carte Gigabit, et un raid 5 (ext4) sur 4 disques avec `mdadm`. J'ai installé Proxmox 5.2 [depuis l'iso](https://www.proxmox.com/en/downloads/item/proxmox-ve-5-2-iso-installer) sur un disque sata de 80Gb hors du raid.
En gros, si je me souviens bien, je me suis laisser guider lors de l'installation sans trop me poser de question, et au final je me suis connecté en `https` sur l'url du nouveau serveur. En gros, si je me souviens bien, je me suis laisser guider lors de l'installation sans trop me poser de question, et au final je me suis connecté en `https` sur l'url du nouveau serveur, sur le port 8006.
![[Proxomox - Et ses disques sur le vieux serveur](./assets/Proxmox_Et_Ses_Disques_Sur_Mon_Vieux_Serveur_Pourri.png) ![Proxomox - Et ses disques sur le vieux serveur](./assets/Proxmox_Et_Ses_Disques_Sur_Mon_Vieux_Serveur_Pourri.png)
Dans ce serveur, que j'avais installé il y a quelques mois avant de rédiger la [découverte d'ansible]() et [celle de glusterfs](), j'ai créé quelques VMs dont les disques sont sur le raid5. Dans ce serveur, que j'avais installé quelques mois avant de rédiger la [découverte d'ansible](https://gitlab.domainepublic.net/tierce/decouverte-ansible) et [celle de glusterfs](https://gitlab.domainepublic.net/tierce/decouverte-glusterfs), j'ai créé quelques VMs dont les disques sont sur le raid5.
Le serveur s'appelle `pve` et c'est en même temps une machine qui est le seul nœud du datacenter et celui auquel on se connecte pour gérer les VMs _(ou les conteneurs LXC)_, que ce soit via l'interface web ou la ligne de commande. Le serveur s'appelle `pve` et c'est en même temps une machine qui est le seul `nœud` du `datacenter` et celui auquel on se connecte pour gérer les machines virtuelles _(ou les conteneurs LXC)_, que ce soit via l'interface web ou la ligne de commande.
Le stockage du datacenter virtuel Le stockage du datacenter virtuel
--------------------------------- ---------------------------------
Vue en ligne de commande Dans son plus simple appareil et en dehors de toutes considérations de réseau, de chiffrement, de clés, de pare-feu, voici le fichier `storage.cfg` en ligne de commande:
``` ```
root@pve:~# cat /etc/pve/storage.cfg root@pve:~# cat /etc/pve/storage.cfg
...@@ -50,19 +52,21 @@ glusterfs: gluster01 ...@@ -50,19 +52,21 @@ glusterfs: gluster01
content images content images
server hpc01 server hpc01
``` ```
Vue en interface web Le même fichier vu dans l'interface web:
![Proxmox - Le storage du datacenter](./assets/Proxmox_Datacenter_Storage.png) ![Proxmox - Le storage du datacenter](./assets/Proxmox_Datacenter_Storage.png)
Dans ce « datacenter » il est possible de gérer des **espaces de stockages différents** en fonction des roussources dont on dispose. Dans ce `datacenter` il est possible de gérer des **espaces de stockages différents** en fonction des roussources dont on dispose.
![Proxomox - Stockage - Ajout d'un espace de stockage](./assets/Proxmox_Storage_Ajout_De_Stockage.png) ![Proxomox - Stockage - Ajout d'un espace de stockage](./assets/Proxmox_Storage_Ajout_De_Stockage.png)
Vous noterez que [CEPH] n'est pas repris dans la liste des solutions de stockages disponibles de notre datacenter. En effet, c'est au niveau de notre premier (et jusqu'ici unique) nœud que se trouve cette option. J'imagine qu'il y a une raison, mais je ne sais pas encore laquelle. Vous noterez que [CEPH](http://ceph.com/) n'est pas repris dans la liste des solutions de stockages disponibles de notre `datacenter`. En effet, c'est au niveau de notre premier (et jusqu'ici unique) `nœud` que se trouve cette option. J'imagine qu'il y a une raison, mais je ne sais pas encore laquelle.
#TODO
![Proxomox - Nœud - Stockage CEPH](./assets/Proxmox_Node_CEPH.png) ![Proxomox - Nœud - Stockage CEPH](./assets/Proxmox_Node_CEPH.png)
Et en fonction du genre de stockage choisi ou possible, il y aura une différence entre ce qui sera possible de mettre desssus. Parmis les choses à stocker, il y a Et en fonction du type de stockage choisi ou disponible, il y aura une différence entre ce qui sera possible de mettre desssus. Parmis les choses à stocker, il y a:
* les images disque des VMs * les images disque des VMs
* les images ISO d'Installation * les images ISO d'Installation
...@@ -70,7 +74,7 @@ Et en fonction du genre de stockage choisi ou possible, il y aura une différenc ...@@ -70,7 +74,7 @@ Et en fonction du genre de stockage choisi ou possible, il y aura une différenc
* les conteneurs * les conteneurs
* les backups comprimés * les backups comprimés
Voici quelques exemples. Voici quelques exemples:
![Proxmox - Stockage - Ajout d'un dossier local](./assets/Proxmox_Storage_Ajout_Dossier_Local.png) ![Proxmox - Stockage - Ajout d'un dossier local](./assets/Proxmox_Storage_Ajout_Dossier_Local.png)
...@@ -82,9 +86,9 @@ Voici quelques exemples. ...@@ -82,9 +86,9 @@ Voici quelques exemples.
Le réseau d'un nœud du datacenter Le réseau d'un nœud du datacenter
--------------------------------- ---------------------------------
Je suis trop ignorant en réseau pour jouer avec, mais au moins je découvre qu'il y a des possibilités. Je suis trop ignorant (pour le moment) en réseau pour jouer avec, mais au moins je découvre qu'il y a des possibilités.
Vue en ligne de commande Vue en ligne de commande:
``` ```
root@pve:~# cat /etc/network/interfaces root@pve:~# cat /etc/network/interfaces
...@@ -103,22 +107,24 @@ iface vmbr0 inet static ...@@ -103,22 +107,24 @@ iface vmbr0 inet static
bridge_fd 0 bridge_fd 0
``` ```
Vue en interface web Vue en interface web:
![Proxmox - Nœud - Vue des interfaces réseau](./assets/Proxmox_Node_Network.png) ![Proxmox - Nœud - Vue des interfaces réseau](./assets/Proxmox_Node_Network.png)
Et derrière le bouton `create` il est possible d'ajouter des `Linux Bridges`, `Linux Bonds`, `OVS Bridges`, `OVS Bonds` et `OVS IntPorts` mais je ne sais pas encore quoi en faire. Et derrière le bouton `create` il est possible d'ajouter des `Linux Bridges`, `Linux Bonds`, `OVS Bridges`, `OVS Bonds` et `OVS IntPorts` mais je ne sais pas encore quoi en faire.
Chaque datacenter (`cluster`) ou et chaque nœud (`node`) disposent également d'un pare-feu basé sur `iptable` comme le mentionne ![la documentation](https://pve.proxmox.com/wiki/Firewall). Voici ce que ça donne pour le nœud dans l'interface web: #TODO
Chaque datacenter (`cluster`) ou et chaque nœud (`node`) disposent également d'un pare-feu basé sur `iptable` comme le mentionne ![la documentation](https://pve.proxmox.com/wiki/Firewall). Voici ce que ça donne pour le nœud dans l'interface web en sachant qu'il n'y a aucune règles actuellement:
![Proxmox - Nœud - Pare-feu](assets/Proxmox_Node_Firewall.png) ![Proxmox - Nœud - Pare-feu](assets/Proxmox_Node_Firewall.png)
Ajout du GlusterFS Ajout du GlusterFS
------------------ ------------------
Étant du genre fénéant, j'ai utilisé l'interface web (aussi parcequ'elle apporte une vue sur les **options** ou les **fonctionnalités** qui sont ou seraient disponibles. La première fois ça n'a pas fonctionné parce que j'utilisais l'adresse IP d'un des `nœuds` de mon GlusterFS _(cf. [découverte de GlusterFS](https://gitlab.domainepublic.net/tierce/decouverte-glusterfs))_. Étant du genre fénéant, j'ai utilisé l'interface web (aussi parcequ'elle apporte une vue sur les **options** ou les **fonctionnalités** qui sont ou seraient disponibles. La première fois ça n'a pas fonctionné parce que j'utilisais l'adresse IP d'un des `nœuds` de mon GlusterFS _(cf. [découverte de GlusterFS](https://gitlab.domainepublic.net/tierce/decouverte-glusterfs))_, et que pour fonctionner le Proxmox avait besoin de connaître l'ip des 3 membres du GlusterFS.
En ajoutant les noms d'hôtes comme suit, ça c'est passé beaucoup mieux. En ajoutant les noms d'hôtes comme suit, ça a fonctionné tout de suite:
``` ```
root@pve:~# cat /etc/hosts root@pve:~# cat /etc/hosts
...@@ -144,28 +150,24 @@ En gros, via l'interface web, il y a juste deux trois trucs à renseigner pour v ...@@ -144,28 +150,24 @@ En gros, via l'interface web, il y a juste deux trois trucs à renseigner pour v
![Proxmox - stockage - Ajout du volume 0 du GlusterFS](./assets/Proxmox_Storage_Ajout_gv0_GlusterFS.png) ![Proxmox - stockage - Ajout du volume 0 du GlusterFS](./assets/Proxmox_Storage_Ajout_gv0_GlusterFS.png)
Et c'est tout de suite utilisable pour la suite de la découverte. Et c'est tout de suite utilisable pour la suite de la découverte! Youpie!
Copie de la vm101 Copie de la vm101
----------------- -----------------
Depuis l'interface web, je lance le déplacement (`move`) du disque de la vm101 _(les numéros sont choisis par Proxmox, et ça à le mérite d'être clair)_ vers le nouvel espace de stockage sur le GlusterFS. Depuis l'interface web, je lance le déplacement (`move`) du disque de la vm101 _(les numéros sont choisis par Proxmox, et ça à le mérite d'être clair)_ vers le nouvel espace de stockage sur le GlusterFS.
Déplacement du disque de la vm101 vers GlusterFS Déplacement du disque de la vm101 vers GlusterFS:
![Proxmox - Nœud - Déplacement du disque de la vm101 vers GlusterFS](assets/Proxmox_Node_Move_vm101_Disk_To_Gluster.png) ![Proxmox - Nœud - Déplacement du disque de la vm101 vers GlusterFS](assets/Proxmox_Node_Move_vm101_Disk_To_Gluster.png)
Les trois nœuds reçoivent le disque de la vm101… Proxomox affiche le déplacement en cours du disque de la vm101:
![Gluster - Les trois nœuds reçoivent le disque de la vm101](assets/Gluster_Recieve_vm101_Disk_From_Proxmox.png)
Proxomox affiche le déplacement en cours du disque de la vm101…
![Proxmox - Nœud - Affiche le déplacement en cours du disque de la vm101](assets/Proxmox_Node_Moving_vm101_Disk_To_Gluster.png) ![Proxmox - Nœud - Affiche le déplacement en cours du disque de la vm101](assets/Proxmox_Node_Moving_vm101_Disk_To_Gluster.png)
Et les trois nœuds du GlusterFS contiennent le disque de la vm101. Et les trois nœuds du GlusterFS contiennent chacun une copie du disque de la vm101:
![Gluster - Les trois nœuds contiennent le disque de la vm101](assets/Gluster_Recieve_vm101_Disk_From_Proxmox.png) ![Gluster - Les trois nœuds contiennent le disque de la vm101](assets/assets/Gluster_Content_Only_vm101_Disk.png)
### performances de la vm101 glusterifiée ### ### performances de la vm101 glusterifiée ###
...@@ -191,15 +193,15 @@ Dans la capture ci-dessus, les trois graphes sont les `hpc01,02,03` (Glusterfs). ...@@ -191,15 +193,15 @@ Dans la capture ci-dessus, les trois graphes sont les `hpc01,02,03` (Glusterfs).
Copie de la vm108 Copie de la vm108
----------------- -----------------
J'ai fait pareil que pour la `vm101` et on voit maintenant deux disques sur les trois pc du GlusterFS. J'ai fait pareil que pour la `vm101` et on voit maintenant deux images disques sur les trois pc du GlusterFS.
![GlusterFS - Affiche maintenant deux disques de vms](./assets/Gluster_Affiche_Disque_vm108.png) ![GlusterFS - Affiche maintenant deux disques de vms](./assets/Gluster_Affiche_Disque_vm108.png)
### et si on débranche un nœud glusterfs ? ### ### et si on débranche un nœud glusterfs ? ###
Dans cette `vm108` dont le disque dur virtuel vient d'être fraichement transférée sur le GlusterFS, j'ai débranché un des nœuds `hpc02` du Gluster pendant que la `vm108` recevait un fichier .iso via rsync et ensuite je l'ai éteinte. J'ai rebranché le nœud `hpc02` et laisser opérer la magie des fichiers répliqués pendant quelques minutes sans vraiment regarder. Pour cette `vm108` dont le disque dur virtuel vient d'être fraichement transférée sur le GlusterFS, j'ai débranché un des nœuds `hpc02` du Gluster pendant qu'elle _(la vm108)_ recevait un fichier .iso via rsync et ensuite je l'ai éteinte. J'ai rebranché le nœud `hpc02` et laissé opérer la magie des fichiers répliqués pendant quelques minutes sans vraiment regarder.
Et puis, sans redémarrer la `vm108` mais en montant les trois images disques théoriquement identiques, Et puis, sans redémarrer cette `vm108` mais en montant les trois images disques théoriquement identiques depuis chacuns des nœuds du GlusterFS avec la commande suivante:
``` ```
guestmount -a /data/brick1/gv0/images/108/vm-108-disk-1.qcow2 -m /dev/sda1 test guestmount -a /data/brick1/gv0/images/108/vm-108-disk-1.qcow2 -m /dev/sda1 test
...@@ -214,12 +216,17 @@ md5sum test/home/tierce/trisquel_8.0_amd64.iso ...@@ -214,12 +216,17 @@ md5sum test/home/tierce/trisquel_8.0_amd64.iso
Et magie, magie, le md5sum le l'image .iso est identique dans les trois images disques montées sur chacun des nœuds du GlusterFS (`hpc01, 02 et 03`) ! Et magie, magie, le md5sum le l'image .iso est identique dans les trois images disques montées sur chacun des nœuds du GlusterFS (`hpc01, 02 et 03`) !
Copier une vm en ligne de commande ?
------------------------------------
#TODO mais en gros : arrêt de la vm, rsync de son image disque vers le point de montage glusterfs, modification de son fichier de config et hop.
Un exemple de début d'infrastructure Un exemple de début d'infrastructure
------------------------------------ ------------------------------------
Évidemment les VMs ont besoin d'un ou plusieurs disques pour fonctionner. Ça dépendra de leurs usages. Évidemment les VMs ont besoin d'un ou plusieurs disques pour fonctionner. Ça dépendra de leurs usages.
Il est tout à fait envisageable d'avoir par exemple : Il est tout à fait envisageable d'avoir :
* (n) Proxmox avec beaucoup de ram * (n) Proxmox avec beaucoup de ram
* (n) VM avec * (n) VM avec
...@@ -241,7 +248,7 @@ Et surtout, qu'est-ce qu'on entend par « super rapide » ou « gros volume de d ...@@ -241,7 +248,7 @@ Et surtout, qu'est-ce qu'on entend par « super rapide » ou « gros volume de d
Et le reste ? Et le reste ?
------------- -------------
Il y a tout un tas d'autres options, paramètres et fonctionnalités qu'il faudrait découvrir. Peut-être qu'un jours je poursuivrai ce document, mais je ne vais pas en faire une documentation sur Proxmox non plus. Il y a tout un tas d'autres options, paramètres et fonctionnalités qu'il faudrait découvrir. Je poursuivrai cette découverte, mais je ne vais pas en faire une documentation sur Proxmox non plus ! `^_^`
Outils utilisés Outils utilisés
--------------- ---------------
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment