Mon serveur Proxmox fait maison.

Ça juste marche

Sommaire

Édit du 21 juillet 2019 suite à une migration du blog de Pluxml à Hugo, des articles n’ont pas été conservés. La série concernant la construction de mon serveur Proxmox ont été de ceux-là, à l’exception de cet article.

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 câbles 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 backups

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é.