J’ouvre ce topic en prévision de la migration de mon serveur yunohost vers un proxmox.
Mon yunohost est actuellement sur une tour en raid 5 depuis 5 ou 6 ans … je ne sais plus trop
Coté matériel : J’ai changé deux disques dur sur cette période.
Cotés logiciels : Tout fonctionne de mieux en mieux. MERCI À TOUS LES CONTRIBUTEURS POUR CA !!!
Cela fait un moment que je pense à “centraliser” mes machines sur un proxmox pour en faciliter la gestion et la sauvegarde. Comme j’ai rassemblé toutes les pièces, je me suis lancé ce w-end dans l’installation du proxmox (Raid 10, Btrfs) et j’ai commencé à migrer mes machines. Le pi-hole et le dns sont déjà sur le proxmox et semble bien fonctionner.
Avant de me lancer sur la migration du gros morceau (yunohost) je viens vous demander conseil, car les services fournis par mon yunohost sont vitaux pour moi et certain de mes proches (contrairement au pi-hole et au dns).
Je n’ai jamais migré mon yunohost d’une machine a une autre, mais il me semble que la procédure est en gros la suivante :
sauvegarde du yunohost
installation du nouveau yunohost (vide j’imagine)
restauration de la sauvegarde sur le nouveau yunohost
Je me pose quelques questions :
J’utilise un nom de domaine *.noho.st, cela ne va-t-il pas poser problème ?
Parmi les applications que j’utilise certaine ne vont-elles pas poser problèmes ? :
codimd
dokuwiki
gitea
grammalecte
jupyterlab
kresus
languagetool
lutim
navidrome
nextcloud > lui gère le cloud des users mais aussi le caldav et carddav …
plume
rainloop
ttrss
vpnclient
zerobin
J’oublie certainement des questions, mais je reviendrai les poster ici et je détaillerai au mieux cette migration pour que cela puisse éventuellement servir à d’autre.
Je suis preneur de tous conseils, remarque ou retour d’expériences.
Il me semble que @Kit a déjà migré au moins un yunohost et que @arjz utilise yunohost sur un proxmox, si vous aviez le temps de venir évoquer les éventuels points à creuser avant que je me lance
J’ai migré un RPI3B+ vers une machine virtuelle proxmox. Ca fait un moment maintenant et je ne me rappelle plus exactement du détail.
De ce que je me souviens, j’ai bien fais comme tu dis:
1-Sauvegarde à partir de la webadmin de l’intégralité
2-Installation de Yunohost
3-Restauration à la place de la post-install
J’utilise aussi un nom de domaine fourni par yunohost. Je n’ai pas eu de soucis particulier à part pour les certificats que j’avais restaurés manuellement. Je ne sais pas/plus si c’est lié au fait que j’utilise un nom de domaine fourni par yunohost ou si c’était lié à autre chose mais je te conseille de sauvegarder /etc au préalable, ça pourrait éventuellement te servir en cas de nécessité.
Pour Nextcloud, je n’avais pas sauvegardé les données en même temps et je les avais restaurées à part.
Le serveur tourne toujours, la migration a eu lieu il y a environ 1 an et demi mais j’ai remplacé certaines apps entre temps.
Lors de la migration j’utilisais Nextcloud, Rainloop, Airsonic, Wallabag, pas de soucis à signaler.
Je me suis retrouvé avec des certificats expirés après migration, pas sûr que ce soit lié mais bon, si ça t’arrivais, j’avais résolu avec ces commandes:
J’avais effectivement commencé à regarder du côté de proxmox il y a des années, mais j’ai depuis migré sur un dédié distant donc je n’ai pas poursuivi dans cette voie.
Bonjour à tous,
De mon point de vue, par rapport à un serveur dédié, il y a quelques choix à faire lorsqu’on passe à une solution virtualisée :
Yunohost en machine virtuelle ou LXC conteneur
architecture/accès réseau - il y a différentes options disponibles avec Proxmox, permettant en particulier d’isoler le système de base proxmox des machines virtuelles.
Gestion des volumes de stockage
je suis en train d’installer proxmox sur un vieux serveur et Yunohost est la premier objectif. Je ne manquerai pas de donner des retours sur ce forum…
Pour ma part, j’ai choisis volontairement la solution VM plutôt que CT. Il s’agit d’une préférence pour la gestion sur le long terme, notamment lors des upgrades de Proxmox (mon retex à ce sujet sur les CT n’est pas top avec des architectures complexes telles que Yunohost faisant tourner plusieurs services.
Et l’utilisation de CT limite l’utilisation de certains outils tels que Wazuh (EDR) alors que cela est possible via VM.
Je ne parle pas ici de sécurité, mais CT/VM, chacun offre ses forces et faiblesses.
La migration est prévu ce w.end … :crossed_fingers:
Le retour détaillé de @Sango que @kit a retrouvé est vraiment intéressant surtout le côté sécurité ! J’aimerais par la suite mettre un PFSense en place, mais c’est pour plus tard.
A l’installation de proxmox j’ai choisi du Btrfs en Raid 10 … J’hésite encore à repasser en ZFS (RAID-2 voir RAID-3) car je dispose de 5 disques de 1 TO pour cette machine.
Avez-vous un avis sur la question ?
Ou quels sont les avantages et inconvénient que vous voyez ?
Pour info voici le détail du matériel (c’est de l’occasion):
CM: asus Z87-A
CPU: i5-4670K
RAM: 3 X 4Go ddr3 1600Mhz
DD: 5 X 1To (7200tr/m)
Reseau: 1 carte réseau en plus de celle de la carte mère (pas utilisé pour le moment)
Pour la config matérielle, tout cela me paraît parfait
Pour le partitionnement, je dirais (mais je n’ai pas réponse à tout, hein !) qu’il va falloir tenir compte de la manière dont tu souhaites sauvegarder tes machines virtuelles et containers.
Concrètement, si tu peux disposer d’une seconde machine pour y faire tourner un Proxmox Backup Server, un RaidZ2 ou 3, fera très bien le job.
Sinon, une solution serait de faire une répartition de type 2HDD pour le système et 3HDD pour le stockage des VM/CT (il sera alors possible de sauvegarder via PBS sur l’espace système ou inversement
Pour le stockage des sauvegardes, je vais utiliser un partage NFS fourni par mon serveur NAS.
Quand j’aurai terminé la migration du yunohost sur une VM du proxmox, je vais en effet disposer d’une seconde machine à peu près équivalente a la machine proxmox.
J’avais dans l’idée d’y installer également proxmox VE pour l’ajouter au “datacenter”. Dans l’idée de pouvoir basculer les VM, sauvegardées sur le NAS, en cas de problème avec la première machine proxmox.
Je ne me suis pas penché, en détails, sur la solution proxmox backup mais, je pense le mettre dans une VM pour gérer les sauvegardes sur le partage NFS.
Et là, premier problème. Pendant la copie, la machine virtuelle s’arrête. J’ai fait plusieurs essais avec le même résultat. J’ai fini par trouver un message du kernel (proxmox) via journalctl -k :
Out of memory: Killed process 2356773 (kvm) total-vm:9835052kB, anon-rss:6762112kB, file-rss:504kB, shmem-rss:4kB, UID>
Pour contourner le problème, j’ai modifié temporairement le paramètre “cache” du disque dur de la VM de Défaut → Write through(sans vraiment comprendre le détail malgré la lecture de la doc)
Lancement de la restauration yunohost backup restore 20220417_xxxx
Selon les applications, pas mal de “warning” mais, la restauration se termine normalement.
Voilà, à partir de là j’ai testé chaque application pour vérifier si tout était ok :
codimd → OK
dokuwiki → OK
gitea → OK
grammalecte → OK
jupyterlab :
Ne fonctionne plus, il dit avoir un problème de “spawn” … Comme je suis le seul à l’utiliser et que les informations que j’ai dessus ne sont pas vital, j’ai désinstallé (on verra plus tard)
kresus → OK
languagetool → OK
lutim → OK
navidrome → OK
nextcloud → OK
plume → OK
rainloop → OK
ttrss :
N’apparais pas dans les applications, après vérification il ne semble pas avoir été sauvegardé (sûrement une erreur de ma part)
vpnclient :
l’Application n’arrive pas à démarrer, d’après les logs, il manque le fichier de configuration. Je télécharge le fichier cube chez mon fournisseur (FDN) et cela repart nickel.
zerobin → OK
Autre détail :
La customisation de l’écran d’accueil n’a pas suivi (fond d’écran, css, …) rien de vital non plus ici.
j’avais une micro webapp custom qui n’a pas suivi, mais rien de grave elle est dans gitea
Conclusion a ce stade :
Les services vitaux semblent avoir migré sans problème (mail & webmail, cloud, caldav & carddav, gitea, etc) est ça, c’est super ! Je vais laisser tourner quelque temps afin de vérifier qu’il n’y a pas de problèmes que je n’aurai pas détecté.
Reste à faire :
À court terme :
Ajouter de la RAM a la machine proxmox VE
Mettre en place une VM proxmox BS pour gérer les sauvegardes
Après s’être assuré que je n’ai plus rien à récupérer sur l’ancienne machine yunohost la convertir en proxmox VE pour l’ajouter au “cluster”
A moyen terme:
Mettre en place un parfeu (VM?) pour segmenter mon réseau (pfsense ou ipfire ou autre…)
Voilà, j’ai surement oublié des choses, si vous avez des questions ou suggestions je suis preneur
### Sur l'ancienne machine yunohost en root
### qui n'est pas connecté au réseau ;)
# création du fichier ttrss manquant
touch /etc/cron.d/ttrss
# lancement d'une sauvegarde de ttrss
yonohost backup create --apps ttrss
# montage d'une clef et récupération de la sauvegarde
mount /dev/sdj1 /media/tmp
cp -v /home/yunohost.backup/archives/20220420-*.* /media/tmp/
sync
### Sur mon poste de travail connecté en
### ssh sur la VM yunohost (en root)
### La cle usb avec la sauvegarde est monté
# récupération de la sauvegarde
scp user@192.168.xxx.xxx:/media/user/usb_key/20220420-*.* /home/yunohost.backup/archives/
# lancement de la restauration
yunohost backup restaure 20220420-xxxxxx
Personnellement, d’un point de vue sécurité, je te déconseille l’utilisation d’un parefeu (pfsense, opnsense, ipfire, etc) directement comme VM ou CT sur le Proxmox. Mieux vaut dédiée une machine pour faire ce travail.
Tu trouveras une part de réponse ici à ta première question (si bien entendu tu envisages de mettre ton parefeu en front) :
Pour la question du matériel, tout va dépendre du budget et du besoin. Mais on trouve pas mal de mini-pc sur Amazon ou ailleurs avec un couple CPU/RAM suffisant et surtout avec plusieurs interface (fait une recherche sur ces plateformes en cherchant “pfsense” ou “opnsense”).
Merci @Sango, j’installerai un pare-feu physique dans le futur.
Ajout de RAM
Je viens de mettre 32Go de RAM sur la machine proxmox qui héberge les VM critique, c’est déjà plus confortable.
Relance automatique des VM critiques
Comme proxmox est susceptible de couper une VM en cas de problème (comme le fameux Out of memory que j’ai déjà eu sur la VM yunohost) et que je ne peux pas forcément être disponible pour relancer les VM critiques, j’ai fait un bout de script pour le faire à ma place :
Résumé
#!/bin/bash
# restart des VM critiques
# 2022-04-23 : Create script
log="/var/log/run_vm.log"
machines=(101 105)
qm=/usr/sbin/qm
for (( i=0; i<${#machines[@]}; i++ )) ; do
machine=${machines[$i]}
dt=$(/usr/bin/date +"%F %T")
stat=$($qm status $machine)
if [ "$stat" == "status: running" ] ; then
#echo "$dt $machine ok" >> $log # pour debug
elif [ "$stat" == "status: stopped" ] ; then
echo "$dt $machine restart" >> $log
$qm start $machine
else
echo "$dt $machine etat inconnu: $stat" >> $log
fi
done
exit 0
Je l’utilise dans une tache cron qui s’exécute tout les 1/4 d’heure. Ainsi les services critiques ne seront pas interrompus plus de 15 min, ce qui reste acceptable du point de vue des utilisateurs.
Je conçois que la façon de faire n’ai pas optimal. Si vous avez des remarques ou interrogations je suis preneur.
Mise en place des sauvegardes
Depuis 3 jours, une VM Proxmox Backup Server a été installé sur la machine n°2 (ex serveur yunohost) du cluster proxmox VE.
Elle (la VM PBS) est configuré pour sauvegarder les VMs de la machine n°1 du cluster sur un partage NFS tous les jours.
Pour le moment rien à signaler, tout fonctionne vraiment bien… Quand j’aurai du temps, je ferai des tests de restauration…
Voilà, les points notés en court terme sont tous terminés, en espérant ne pas avoir de mauvaise surprise… À suivre
Concernant les potentiels problèmes à venir, juste un conseil (c’est du vécu) : il faut préférer, autant que possible, une configuration “simple” de Proxmox VE afin que les mises à jour se fassent dans de bonnes conditions. Par mesure de sécurité, je m’assure toujours que les sauvegardes sur le Proxmox Backup Server se sont bien déroulées (afin de pouvoir aisément réinstaller le PVE en cas de gros souci).