Installation de Proxmox/OpenMediaVault

Pourquoi ?

Le crash d’un de mes disques de mon NAS m’a obligé à repenser un peu/beaucoup mon infra personnel. Et je suis tombé sur pas mal de posts qui m’ont donné envie d’appliquer un peu plus de sécurité sur mon infra perso (à l’image de ce que je pourrai faire professionnellement pour un client… c’est pas toujours le cordonnier qui doit être le plus ma chaussé !).

Bref point de départ, on va aller au plus simple en attendant l’arrivée progressive du Matos pour sécurisé les datas. Seul chose qu’on va donc mettre en place par rapport à avant : virtualisation d’OpenMediaVault + vérification périodique des disques durs. On va aborder le 1er point dans ce post. Alors pourquoi virtualiser OMV ? Car si ce dernier commence à déconner (c’était le cas de ma dernière install qui était plus très stable), c’est plus simple d’en réinstaller un en //. Plus simple d’avoir des backup de la vm de dispo aussi. Et enfin ca ma me permettre de mettre en place d’autres VM pour gérer plus proprement mon réseau… Et l’envie de découvrir Proxmox est grand aussi (professionnellement of course , je côtois plus VmWare….)

Installation de Proxmox

Pas grand chose à dire ici, la documentation officielle est assez clair sur le sujet. J’ai donc créer une clé usb bootable à partir de l’ISO officielle, voir Préparation du média d’installation. Ensuite j’ai répondu aux différentes questions de l’installation en restant simple : https://pve.proxmox.com/wiki/Installation.

Et voilà la chose est installée.

Ajout d’un user « simple »

L’utilisateur de départ est l’utilisateur root du système. On va donc prendre une bonne habitude de sécurité en ajoutant un user linux « normal » (sans droit sudo) et en ajoutant ensuite ce user sur proxmox. On va donc depuis la connexion ssh faire les commandes suivantes (tirés de la partie user management de la doc officielle)

$ adduser proxmox
$ pveum group add admin -comment "System Administrators"
$ pveum acl modify / -group admin -role Administrator
$ pveum user modify proxmox@pam -group admin

Hormis la création du user linux (via adduser) tout le reste aurait pu également être réalisé par l’IHM de proxmox (j’ai pas envie de vous faire peur direct). C’est la force de proxmox d’avoir toutes les actions également scriptable.

  • Ajout du group dans Datacenter > Permissions > Groups
  • Ajout des droits au groupe depuis Datacenter > Permissions
  • Ajout du User au groupe depuos Datacenter > Permissions > Users

Retrait de la demande d’abonnement

Vous avez surement vu ce popup de demande de subscription à chaque fois que vous vous connectez à l’interface web. Il existe une petite astuce qui permet d’enlever ce popup. Merci à John pour le tuyau.

Depuis la cnx ssh, changez de répertoire: cd /usr/share/javascript/proxmox-widget-toolkit

Faire une copie du fichier que nous allons modifier: cp proxmoxlib.js proxmoxlib.js.bak

Editer le fichier: nano proxmoxlib.js

Trouver la ligne avec le code suivant (Ctrl+W dans nano et recherchez « No valid subscription »):
Ext.Msg.show({
title: gettext('No valid subscription'),

Remplacer Ext.Msg.show par void
void({ //Ext.Msg.show({
title: gettext('No valid subscription'),

Redémarre le service web de proxmox: systemctl restart pveproxy.service

Pour voir le résultat, n’oubliez pas de vider le cache de votre navigateur si besoin.

Déploiement d’OpenMediaVault

Récupération de l’image d’installation

On va télécharger la dernière version sur le site : OpenMediaVault.

Bien entendu au passage on va vérifier le checksum, ca mange pas de pain.

2 façon de faire se présente à nous :

  • Geek Attitude: directement en ssh sur le server:
$ cd /var/lib/vz/template/iso
$ wget https://sourceforge.net/projects/openmediavault/files/5.6.13/openmediavault_5.6.13-amd64.iso
$ openssl dgst -sha256 openmediavault_5.6.13-amd64.iso
$ curl -L https://sourceforge.net/projects/openmediavault/files/5.6.13/openmediavault_5.6.13-amd64.iso.sha256
  • Ou en mode, je profite de l’outil que je viens d’installer, bref depuis l’ihm de proxmox (en gros proxmox va taper les commandes pour nous comme un grand). Ici on met donc les infos suivantes :
    • URL: https://sourceforge.net/projects/openmediavault/files/5.6.13/openmediavault_5.6.13-amd64.iso
    • Fine name: openmediavault_5.6.13-amd64.iso
    • Mode Advanced:
      • Hash Algorithm: SHA-256
      • Checksum: on le copie/colle depuis le fichier https://sourceforge.net/projects/openmediavault/files/5.6.13/openmediavault_5.6.13-amd64.iso.sha256

Création de la VM

On clique donc sur le bouton « Create VM » (en haut à droite)

On va lui donner un petit nom depuis l’onglet General (on laisse les autres valeurs par défault, l’id est généré, et on a qu’un seul noeud…)

Dans l’onglet suivant « OS », on va sélectionner l’ISO ajouté un peu plus haut.

Dans l’onglet « System », on change rien:

Pour le disque dur, il sera localisé sur « local-lvm », et on va mettre la valeur minimale requise par OMV (si besoin on pourra toujours augmenter plus tard).

Point de vue CPU, là aussi OMV n’en réclame pas trop (il faudra voir à l’usage si plex suit par contre). On va donc laisser un seul coeur de CPU. Là aussi, si besoin, on repassera.

Même remarque pour la RAM. La minimum requis est de 1Go, mais plex on vaudra surement plus… On va partir sur 2 pour le moment.

On se termine avec l’onglet Network où on ne change rien, et on finit avec la confirmation finale où on relit toute notre configuration et on peut enfin appuyer sur « Finish » pour créer la VM.

Installation d’OpenMediaVault

Maintenant que la VM est prête (hormis la question stockage qu’on abordera plus bas), il est temp de cliquer sur start pour lancer notre VM et donc l’installation présente sur l’ISO. Il nous suffira donc de suivre simplement les différentes étapes de l’installation d’OMV en se rendant dans la Console (pour voir l’écran de la VM….)

Après le choix des langues qui se fait assez simplement, on nous demande le nom du host, je suis resté simple, et j’ai mis OMV (même nom donné à la VM plus haut).

Pour le nom du domaine, je vais laisser le .lan proposé.

Ensuite on arrive sur un écran nous demandant de créer un mot de passe pour l’utilisateur root. Cet utilisateur n’est pas utilisée pour l’interface web d’OMV, il est seulement utilisé pour accéder à la machine depuis la ligne de commande.

Aucune question sur le disque de destination, en effet pour le moment seul le disque principal de la VM (le disque OS) est visible par l’installation. On va s’occuper de ce point plus bas.

L’installation est donc en cours….

A la suite de ce 1er 100% atteint, on va vous poser quelques questions afin de configurer le gestionnaire de dépôt de paquet. Les choix par default sont normalement les bons.

Enfin on nous demande où on veut mettre le système de démarrage GRUB, dans mon cas, pas trop de choix, il y a qu’un seul disque, donc qu’une seule possibilité de proposée

On arrive ensuite enfin sur l’étape « Fin de l’installation », cela sent bon !

On peut profiter de ce message pour démonter l’ISO d’installation. Ce n’est pas obligatoire, en effet l’ordre du boot fait qu’on aurait tout de même démarrer sur le disque dur.

Pour démonter l’ISO, on se rend dans l’onglet Hardware de la VM, on sélectionne la ligne CD/DVD Drive (ide2), on clique alors sur le bouton EDIT.

On clique alors sur « Do not use any media » dans la boite de dialogue qui s’ouvre, et qu’on va refermer en appuyant sur « OK ».

Enfin n’oublions pas de retourner dans la console pour valider le redémarrage post installation.

A la fin du boot il peut être intéressant de récupérer l’adresse ip attribué à notre OMV. Comme on peut le voir, cette dernière n’est pas encore accessible depuis le « Summary » de la VM. « No Guest Agent configured ». On va remédier à ça un peu plus bas.

On va donc utiliser la bonne vieille méthode, on retourne sous la console, on se logue dans la console d’OMV avec le compte root crée plus haut, et on tape ip a :

Et donc…. on voit bien que le site d’OpenMediavault est disponible sur cet ip.

A ce stade avant toute chose, je vais faire une image à froid (vm éteinte). J’expliquerais dans un prochain article l’utilité de la chose. Ceci est réalisé en faisant un clic droit sur la VM, et en cliquant sur « Convert to template ». Ensuite on pourra recréer une VM depuis ce template (en mode Full Clone) pour continuer notre travail. En gros ce template me permet d’avoir une image de base d’une installation fraiche, disponible sans passer par tout le processus d’installation manuel (questions….). On voit bien que si on voulait automatiser tout ce process d’installation de mon infra, cette étape manuelle d’installation d’OMV présente un frein.

Installation de l’agent client

On l’avait vu un peu plus haut, l’ip de la vm n’était pas disponible depuis l’interface proxmox, car on avait un « No guest agent confgured ». On va remédier à ça en s’appuyant sur la documentation officielle: Qemu-guest-agent.

On va donc d’abord installer l’agent dans le système. On le fait donc depuis la console de la vm ou depuis un connexion ssh. La commande à taper est donc apt-get install qemu-gest-agent (on est sur une base debian).

Ensuite il nous suffit d’activer le lien avec cet agent depuis les options de la vm sous proxmox

On fait alors un shutdown de la VM (depuis sa ligne de commande) et on la redémarre….. et magie :

Le lien entre proxmox et l’agent est donc opérationnel. Cela permet notamment de faire des shutdown (depuis proxmox) plus propre et aussi de freezer le système de fichier lors de backup.

Ajout des disques durs (en mode brute)

Mon objectif est de rendre opérationnelle rapidement la chose avant surement de futur aménagement/migration. Bref j’ai donc fait le choix d’installer les disque dur media en mode pass through vers OMV. De cette manière ces diqques durs resteront exploitables sur d’autres machines (simple ext4). Le but à moyen terme sera de passer sur un montage ZFS avec 3 disques identiques. Bref rien envie de virtualiser quoi que ce soit pour le moment, seul OMV a besoin de gérer et accéder ses disques.

On va donc s’insiprer encore une fois de la documentation officielle. Cette fois-ci on va être obligé de passer par de le ligne de commande sur le serveur proxmox (via ssh ou le shell dispo depuis l’interface web).

Chaque disque va être configuré par son id, en effet son nommage de type devide (/dev/sda) peut changer ce qui nous ammènrait des ennuis…. Chaque id est disponible facilement via l’IHM de proxmox, au niveau du PVE > Disk.

Ces mêmes id sont retrouvables dans le file system au niveau du répertoire /dev/disk/by-id/. On retrouve d’ailleurs aussi via la commande ls -l les noms actuellement mis sur chacune des partitions. Cela peut nous aider aussi à retrouver qui est qui.

Example: je veux passer en pass-through mon Disque de 3To. On voit depuis Proxmox (1ère image) que son Serial est WD-WCAWZ2254019. Son /dev par id est donc /dev/disk/by-id/ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2254019. Pour ajouter le disque à notre VM on va donc taper :
qqm set 101 -scsi1 /dev/disk/by-id/ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2254019
où 101 est l’id de notre VM, scsci1 le numéro de port virtuel auquel le disque va être attaché sur la VM.
Attention cette commande doit être tapée avec l’utilisateur root.

En regardant la partie hardware de la VM depuis l’IHM de proxmox, on voit que le disque dur a bien été ajouté.

Il faudra alors redémarrer la VM pour que OMV voit ce nouveau disque dur. Avant cela, je vais ajouter également les autres disques durs que je veux faire apparaitre en faisant bien attention à chaque fois d’incrémenter le port virtuel scsci.

On reboot la vm depuis l’ihm proxmox qui arrive à la faire proprement depuis qu’on a ajouté le guest client :-).

On peut donc se loguer depuis l’IHM d’OpenMediVault (pour rappel le login/pwd initial est admin/openmediavault).
Au niveau du Stocakge>Disques, on voit bien mes 4 disques : le disque virtuel système (l’OS) de 4 Go et les 3 disques que j’ai définie en pass-through.

Au niveau des systèmes de fichiers, mes partitions ext4 existantes sont bien détectés. On voit qu’actuellement, seul la partition système est montée.

La configuration classique d’OMV va pour voir avoir lieu !

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *