Mon serveur proxmox fait maison: épisode final - Carmagnole

Carmagnole

Soyez résolus de ne servir plus et vous voilà libres

Mon serveur proxmox fait maison: épisode final

Rédigé par propositionjoe 10 commentaires

Ma configuration finale

Cet article vient clore la série de papier que j’ai rédigé jusqu’à maintenant. Il se veut « complet » en cela qu’il donne l’état final et pleinement fonctionnel de ma configuration. Il clos donc la série, et reprend tous les éléments importants qui m’ont menés à avoir aujourd’hui le serveur qui convient à mon utilisation; c’est à dire qui pour moi juste marche.

Les précédents épisodes sont donc à lire comme une tentative de décrire les questionnements qu’on rencontre, et les solutions qu’on trouve lorsqu’on se lance dans la construction de sa propre machine (en plus d’être ma première incursion dans la rédaction d’article de blog).

Revue photo

Vous aurez remarqué le scotch qui me permet de me rappeler quel port usb j'ai passtrought à la vm jeedom.

Un boitier parfait pour ranger ses cables et entreposer proprement ses disques. Sur la dernière photo: mon onduleur, et un brix pour bidouiller mais qui peut aussi servir de serveur de secours.

 

Liste du matériel utilisé

Boitier

fractal define r5

Processeur

xeon 1220v5

Ram

40 go (2*16 go et 2*4 go)

Carte mère

Gigabyte GA-X150-PRO ecc

Carte d’extension

contrôleur sata 4 ports

Disques :

5 disques durs de 4 to

2 ssd de 32 go

1 ssd de 500 go

1 ssd m.2 de 120 go

 

Le stockage

La carte mère que j’ai choisi a 6 sata, un port m.2 et un port sata express (équivalent à 2 sata classique). Bon à savoir, le port m.2 supporte le format sata ou pcie.

Cependant, si je branche un ssd de type sata sur le port m.2, cela a pour effet de désactiver un sata du port sata express (sans vérifier j’imagine que si je branche un ssd de type pcie cela désactivera une des lignes pcie3 de la carte également… ).

En vérité le m.2 partage donc ses possibilités avec le sata express, il convient donc de bien faire attention à cette limite vicieuse lors de l’achat de sa carte mère.

À l’usage j’ai donc trouvé cela un peu juste et pour être à l’aise j’ai donc ajouté un contrôleur sata qui m’offre 4 vrai sata 3 au niveau des débits (il y a suffisamment de ligne pour cela, cette carte se branchant sur un port pcie3).

 

 

Création des espaces de stockages

J’ai décidé de créer deux pools ZFS (=raid) ; un pool pour l’installation de l’os proxmox, un autre pour le stockage des données. En effet cela à l’avantage de ne pas mettre tous les œufs dans le même panier, et permet surtout d’accélérer proxmox en l’installant sur des ssd.

- Un pool pour l’os : deux ssd de 32 go

- Un pool pour les données : quatre dd de 4 to

- Un volume en ext4 pour les vm : un disque ssd de 500 go

Comme me l’a signalé un lecteur, et comme cela est conseillé sur le site de proxmox, je vous encourage vivement à faire ainsi : cela est plus sûr, et cela est aussi bien plus confortable à l’usage. En effet naviguer dans l’interface d’un os installé sur du ssd est franchement plus convivial que sur des dd classiques ; tout comme d’installer des vm sur un ssd.

Pour accélérer un peu le pool de stockage j’ai également ajouté sur le port m.2 un ssd que j’ai partitionné afin de donner un cache ssd aux quatre disques (le cache ssd est de deux types sous zfs : log et cache).

Avec zfs, la commande est tellement simple que ce serai criminelle de ne pas le faire :

 

~$ zpool create zraid1 mirror sdf sdg mirror sdh sdi log sde1 cache sde2 

 # sdf et sdg sont en mirroir tout comme sdh et sdi

# sde est le ssd comprenant deux partitions, l’une servant de log, l’autre de cache.

 

Ce pool de donnée est vraiment véloce : j’envoie à 120 mo/s d’un ordi sur le réseau vers le serveur, ce qui me convient et est de toute manière le maximum avec de l’ethernet simple. En terme d’espace, je dispose de 7 to, ce qui me donne une marge confortable puisque je n’ai besoin à l’heure actuelle que de 3.5 to.

 

Synology ou Qnap sont deux mots africains qui signifient je ne connais pas zfs 

 

Backup

Pour le backup j’ai joué la sécurité en ne créant pas un pool supplémentaire. En effet je veux encore avoir l’assurance de pouvoir brancher mon disque de backup n’importe où, zfs n’étant pas stable sur la majorité des grandes distributions linux.

Matériel et utilisation

- un disque dur de 4 to (formaté en ext4, il me sert de sauvegarde de mon pool de donnée)

- une clé usb de 32 go (formaté en ext4, elle me sert de sauvegarde des machines virtuels)

- deux disques durs en raid 1 de 500go

- un disque dur externe de 4 to

L’utilisation de la clé usb me permet en urgence de relancer mes vm sur un autre serveur (le brix) afin de ne pas rester en plant trop longtemps en cas de panne. Le raid 500 go me garantit quand à lui d’avoir un endroit supplémentaire, et très accessible en cas de pépin (il est sur mon pc de bureau) pour mes données sensibles (photographies et données professionnelles).

Récurrences des backup

Pour les machines virtuelles:

-6j/7 sur le pool de données

-le 7e jour sur la clé usb (pas davantage pour ne pas brûler la clé trop vite…).

Pour les données :

-tous les jours rsync sur le dd de 4to

-une fois par semaine rsync des données importantes sur le raid de 500 go et cela afin de m'apporter plus de sécurité. En effet cela me donne quelques jours pour me rendre compte d’un cas de corruption de donnée et/ou de suppression involontaire puisque le rsync journalier met tout "à jour", y compris les erreurs éventuelles)

-tous les 2 ou 3 mois rsync sur le dd externe.

Pistes d’amélioration

J’aimerai trouver un moyen simple et propre de monter un petit serveur sftp pour mettre en réseau mon dd externe 4to ou un autre de plus grande taille... afin que les sauvegardes éloignées se fasses de manière automatique. (Je ne parle pas du rapsberry pi qui pour moi n’est pas une chose fiable avec sa mémoire sd).

À cette occasion, je pèse également le pour et le contre de prendre un disque de sauvegarde de plus grande taille. Mais cela demande d’attendre une baisse des prix, ainsi que d’avoir les premiers retours de pannes des nouveaux disques de 6 ou 8 to. J’estime en effet dommage d’investir dans des solutions de backup sous dimensionnées à la taille de mon volume possible de données (zraid=7to).

 

Partage des données

Pour mes besoins, il me fallait un serveur nfs et un serveur sftp ; deux choses que j’ai configuré simplement et sécurisé selon mes critères. Bien d’autres choses sont possibles avec cette configuration : en effet proxmox étant une débian ET un hyperviseur ; seul votre imagination, l'état de votre cafetière et votre patience ne sont vos limites.

 

Bilan

Le boitier garde les disques au frais avec les deux ventilateurs d’origine : c’est un excellent point.

Le xeon est lui aussi très frais, mais il est vrai qu’il se tourne franchement les pouces ; l’avantage par contre c’est que tout va très vite avec ce petit bijou overkill.

Les cron de sauvegarde tournent tranquillement, et proxmox me notifie de leur réussite sans grosse configuration. L’os notifie également en cas de défaillance d’un disque, et l’installation d’un onduleur y est aisé. Du tout bon donc.

Proxmox est un bonheur, et remplit donc les fonctions de nas très simplement.

À la lumière de tout cela, je ne peux donc que vous conseiller l’aventure. Bien sûr une machine pareille coûte un rein. Mais c’est un prix que j’estime justifié au regard de ses qualités. J’ai aujourd’hui un système qui me convient parfaitement, que je maîtrise de bout en bout ; le tout en ayant appris beaucoup de chose, et en m’étant vraiment beaucoup amusé.

 

10 commentaires

#1  - un lecteur a dit :

Série d'article vraiment très intéressante, il manque un élément fondamental, le prix.

#2  - propositionjoe a dit :

Pour quelqu'un ne possèdant aucun matériel à récupérer, et achetant tout à neuf... La note est salée.
Je donnerais dans dans les 1500 / 1600 en fourchette de prix. Même si au final, on a toujours un petit quelque chose qui traine. Et surtout dans ma config c'est la ram et les dd qui sont pour la moitié du prix: c'est donc la dedans que quelqu'un qui souhaiterait se lancer devrait échelonner.

#3  - Mic a dit :

Serait il possible d'avoir la méthode pour pouvoir monter une clef USB ou un HDD ext. sur une VM genre Nas4Free?
Merci beaucoup et chapeau pour ce blog, très instructif.
Peut être d'autre questions plus tard...

#4  - propositionjoe a dit :

Avec proxmox cela est possible très facilement, d'ailleurs les dev ont fait un tuto: https://pve.proxmox.com/wiki/USB_Devices_in_Virtual_Machines
À bientôt

#5  - Mic a dit :

Bonjour
Tout d'abord, merci beaucoup pour votre aide à propos du passthrough USB, qui fonctionne correctement pour clef USB, mais j'ai eu des problèmes avec mon HDD de 3to; j'ai trouvé cette methode: https://pve.proxmox.com/wiki/Physical_disk_to_kvm qui fonctionne à merveille.
J'ai d'autres questions: Si par exemple, on attribut 16gb de RAM sur 24gb a une VM, du type Nas4Free (oui, encore) qui tourne aussi sur ZFS avec ce que ça implique, Ram ECC reg, et en grande quantité, est ce que Proxmox gère la Ram ECC en virtuelle ou c'est simplement pour le FS de Proxmox et ses LVM .
Ensuite, est il plus logique ou efficace pour le FS et débit réseau que le stockage de données soit géré par Proxmox ou individuellement par les VMs. Voila, c'est tout...
Dans l'attente de votre réponse

#6  - propositionjoe a dit :

Salut,

Si je comprends bien tu as transféré la gestion de ton disque de 3 to à une vm;
J'imagine que c'est sur cette vm qui tu souhaites ensuite installer un os de type nas;
Effectivement cela est possible, mais cela réduira un peu les débits et surtout il faut te demander (je l'ai vécu) si un montage exotique comme celui-là ne rend pas problématique les backups (où souhaites-tu sauvegarder les données en to de cette vm?) et surtout tu hausses sensiblement la difficulté en cas de pannes du disque (tu vas devoir retirer un disque monté en passtrought, puis en passtrought un autre en remplacement)...

Bref, sacrée mise en abime. Ce qui fait que moi j'ai abandonné cette idée, mais si tu creuses cette voie tiens moi au courant!

Maintenant si tu souhaites utiliser les applis intégrés à nas4free (dnla,ftp...), tu peux très bien faire une vm de quelques go et monter tes données (qui sont stockées directement dans proxmox dans ce cas) en nfs dans ta vm. Chez moi cette arrangement rock franchement du poney.

Enfin ta question concernant la ram: sans être un expert, j'aurai tendance à penser que la correction des erreurs de mémoire ne varie pas en fonction de ce que fait l'os. L'erreur est corrigé avec de l'ecc c'est tout.

#7  - Mic a dit :

Bonjour

Effectivement, je n'avais pas pensé que les sauvegardes seraient galère, sans parler d'un HDD en panne.
J'etais parti dans cette config. car mes 3 disques sont chiffrés avec Nas4Free, et donc à la base ça me facilitait l'intégration des données sur le réseau; je n'ai pas trouvé de chiffrement possible sur proxmox, qui serait peut-etre le meme que Nas4Free(freeBSD).
Je vais étudié un mix entre votre approche et celle là: https://gordon.re/sysadmin/installation-de-proxmox-chiffree.html , mais dans tous les cas, je suis obligé de "Backuper" les donneés sur un autre disque et les restorer sur le nouveau volume LVM chiffré, sachant que je ne change pas les disques 3to.
Tout ceci pour un usage perso...
En tout cas, merci pour vos conseils !

#8  - propositionjoe a dit :

Faire ou faire faire, chacun son choix; mais seulement l'un des deux rend libre!
Et sinon sympa le lien, j'ai appris plein de chose.
Bon courage pour la suite et n'hésites pas à repasser!

#9  - Lince a dit :

Hello, Merci pour les infos / articles. Je suis en train de me poser la question pour monter le mien :)
Actuellement j'ai un entrée de gamme Synology (qui rame dès qu'on fait une copie u.u) & un serveur dédié en Promox et je cherches à fusionner les deux pour avoir une solution auto-hébergé.... donc ton article tombe à point nommé :)

Une petite question, tu as des retours d'expériences sur Jeedom ? ça fonctionne bien en VM ? Niveau portée avec l'adaptateur, c'est bon ? Aka: je prévois de mettre ma solution dans un placard, mais je sais pas si un adaptateur USB suffira à couvrir mes 53m².... Tu es satisfait du binome techno (Zwave / Bluetooth si j'ai bien vu) ?

PS: Il manquerait pas la sauvegarde hors site ? X')

#10  - propositionjoe a dit :

Bonjour à toi,
Se passer d'un syno, pour du libre; quel beau projet. En tout cas je ne regrette absolument pas pour ma part!
Question 1: Vm jeedom avec proxmox:
Oui c'est du tout bon, tout fonctionne, et l'avantage de virtualiser c'est que c'est super souple.
Question 2: Portée des antennes:
C'est difficile d'être formel... Tout dépend de la configuration de ton logement, de où tu mettras ton serveur, de l'épaisseur des murs... Mais de manière générale, il est bon de prévoir des "répétiteurs" je pense. Dans le cas du zwave, tout les modules branchés sur prise répètent le signal (typiquement les modules de prises). Donc il vaut mieux en placer aux endroits stratégiques...
Dans le cas du bluetooth, je dirais que la portée est de 10/15m avec ma clé, pas plus. Donc clairement il faut des antennes supplémentaires si tu veux couvrir toutes ta maison. Mais bon le dev du plugin bluetooth a bien bossé, tout linux chez toi peut servir d'antenne (typiquement: les Rpi...); Et si comme moi tu en as quelqu'un qui te servent de squeezbox, c'est pas trop compliqué à déployer!
Question 3: Sauvegarde hors site
Mais tu as tout a fait raison... J'y songe (duplicity etc...), mais je ne m'y suis pas encore assez penché.
Bonne route et n'hésite pas si tu as d'autres questions!

Les commentaires sont fermés.

Fil RSS des commentaires de cet article