Mon serveur proxmox fait maison : épisode 1 - Carmagnole

Carmagnole

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

Mon serveur proxmox fait maison : épisode 1

Rédigé par propositionjoe 12 commentaires
 
 

 Le choix du matériel

La première étape est de choisir ses composants avec soin en listant ses besoins et ses envies. Par ma part, et sans prétention,  mon serveur idéal devrait donc être capable de:

 
 
 

Virtualiser des os linux

Tel que jeedom, openmediavault, wallabag, pi-hole... Le tout sans recourir à une solution propriétaire

Exit donc synology, qnap et vmware:

Je pars donc sur Proxmox

Avantage : l’os étant basé sur debian, il dispose donc d’une bonne base pour être largement compatible

À condition d’éviter comme la peste les evil-chipset-realtek vendus sous le nom de cartes réseaux.

De plus j’utilise Proxmox depuis un certain temps sur un nuc intel en combinaison d’un synology pour les données. Et proxmox est un bonheur. Je me dis également que ce choix devrait me permettre de tout centraliser (avec le risque aussi que plus rien ne marche en cas de panne…).

 Mais surtout de me passer de toutes solutions non-libres, tout en ne laissant qu’une machine branché 24h/24.

Système de fichier ZFS

J’attends également de mon nouveau système qu’il soit compatible avec le format de fichier ZFS : Ce qui impose de la ram ECC.

(Je vous laisse faire un tour sur le site d’oracle ou de FreeNAS pour faire votre avis sur ce point, j’ai pour ma part préféré jouer la sécurité de mes données).

Pourquoi ce choix? Il apparait, à ce que j'ai lu, que c'est actuellement le système le plus fiable pour la conservation de données (btrfs développé spécifiquement pour linux n'étant pas encore déclaré stable actuellement). Enfin, les développeurs de Proxmox l'intègrent dans leur distrib depuis un certain temps, c'est l'occasion de l'essayer.

-edit 24/12/2016: Focus sur utilisation de la RAM et ZFS: j'ai lu à beaucoup d'endroit qu'il faut calculer ainsi: 8 go de base + 1 go par to de donnée. J'ai un raid qui me donne 7to d'espace, donc en arrondissant 16go seront nécessaire (cela correspond à ce que mon système consomme actuellement hors vm, donc l'estimation est bonne, chez moi en tout cas).

 

Disposer d’un espace de plusieurs to

et en haute disponibilité

 

Ce qui impose une CM avec de nombreux port Sata, voir d’une carte d’extension. Afin de pouvoir mettre les disques en raid.

 

Permettre le partage de ces données

sur mon réseau local :

 

Je fais donc le choix de monter une vm openmediavault pour remplir cet office. Cette dernière me fournira un serveur nfs, la gestion de mon onduleur, et un accès distant en sftp. Bonheur.

 

 

Se sauvegarder et se déployer ailleurs,

le tout aisément :

 

Je pars sur l’idée de faire un cron sur mon pc de bureau. Ce dernier fera des sauvegardes régulières sur les deux dd en raid qu’il hébergera désormais. En sus je planifie des sauvegardes plus espacées sur un dd externe.

 

J’ai donc sélectionné ces composants :

Carte mère

Gigabyte GA-X150-PRO ECC

6 sata

Intel C232

Compatible ECC

Vt-x et Vt-d (pour passtrought les périphériques USB de proxmox vers les vm)

= 165€

Processeur

Pentium G4400

Un choix pour son coût contenu à l'achat, et en consommation électrique!

Mais que je n’ai pas gardé longtemps puisque je me suis rendu compte – mais trop tard - que selon gigabyte la mémoire ecc nécessite forcément un xeon pour être activé dans le bios. Dans le même temps ark d’intel annonce pourtant son g4400 comme ecc capable...

Xeon E3-1220 v5

J’ai donc joué la sécurité ici aussi et commandé un xeon, d’autant que j’en ai trouvé un d’occasion à très bon prix. Le regret est qu'un tel proc est clairement disproportionné en utilisation à domicile; mais les xéon basses consommations sont hors de prix.

= 158€

Boitier

Fractal Design Define R5

Bien ventilé, avec beaucoup d’espace pour ranger les cables et les dd.

8 emplacements 3.5

2 emplacements 2.5 pour ssd (éloigné des ventilateurs)

Rhéobus intégré

Juste parfait

= 115€

RAM

Kingston ValueRAM 16 Go DDR4 2133 MHz ECC CL15 DR X8

-edit du 24/12/2016: j'en ai pris deux de ces barrettes

J’ai eu bien du mal à trouver ce qu’il me fallait.

En effet il faut bien faire attention à prendre de la ram ECC unbuffered et pas registred, sous peine d’entendre son serveur sonner et refuser de s’allumer. Il faut également composer avec les descriptifs très évasifs des produits sur la page amazon.

= 298€

DD

4 Western Red de 4to

= Récupérés d’une autre configuration, tout comme l’alimentation, et le ventirad

-edit 24/12/2016: et également un ssd de 500go pour stocker les vm

= 640€ pour les wd et 100€ pour le ssd

 

Bilan :

C’est la prix d’un serveur pro, j’en ai conscience. Mais procéder ainsi m’a permis de mettre les mains dans le cambouis, et de choisir finement mes composants. Le tout fort plaisamment!

- edit 23/12/2016: il faut disposer d'un cg pour l'installation, la carte mère n'a pas de sortie vidéo

- edit 23/12/2016: je vous conseille de partir directement sur une cm serveur avec proc basse consommation d'intégré (ceci est valable si vous souhaitez les fonctionnalités avancées comme le vt-d et l'ecc).

Dans une seconde partie je détaillerai l’organisation logicielle.

    

 

 

 

12 commentaires

#1  - Flo a dit :

Hello,

C'est que de tout faire soit même est très formateur. As tu peut être pensé à le faire chez ovh ou un autre hebergeur qui propose du proxmox ?
Même si c'est cool à faire je pense que ce qui est plus formateur c'est de jouer sur la partie réseau notamment avec les vlan ou vxlan. Et surtout avoir un 2ème serveurs pour voir comment proxmox gère le stockage qui doit être partagé pour faire des migrations. Car proxmox est différent que ovirt par exemple.

En tout cas Good job et bonne continuation :)

#2  - propositionjoe a dit :

Merci pour le messages; effectivement faire tout cela est et reste très fun. J'avoue ne pas avoir creusé la partie réseau. Je n'ai des connaissances que de mes lectures sur internet, et tout ce qui touche aux ip et firewall me semble [encore] très obscur. J'utilise proxmox pour me faire des petits serveurs web. Mais si tu as des pistes ou des choses à me conseiller, ce serai plaisir!

#3  - Flo a dit :

Justement le fait de faire un 2eme serveur, tu vas pouvoir jouer et comprendre comment ça fonctionne exactement. Mais l'inconvénient c'est qu'il te faut un stockage partagé. Donc bon ... la ça coûte beaucoup plus cher. Après si tu fais des serveurs web je pense qu'il peut être bien de jouer avec iptables. Un firewall reste un firewall. Le principe reste le même. Sinon tu peux jouer avec pfsense qui est vraiment pas mal. Si tu veux un outil "comparé" à proxmox regarde ovirt. Je dirais que ovirt est un peu plus pro et se rapproche plus du comportement de vsphere de vmware.
Après sinon juste pour des sites web moi j'ai un serveur chez ovh avec docker. Simple pour dev sur ton poste local ensuite tu export ton image. Les update simple et court. Donc j'aime ;)

#4  - propositionjoe a dit :

Un stockage partagé j'y pense oui, mais je me restreins un peu sinon je pars dans tous les sens.

#5  - Cascador a dit :

Salute,

Un avis d'un lecteur curieux et intéressé :
- Pour le firewall/routing pfSense comme déjà dit par Flo, attention par contre c'est basé sur FreeBSD ce n'est donc pas du Linux (donc pas iptables)
- Ça aurait été bien de mettre le total pour que le lecteur se rende compte plus facilement (et éventuellement en mettant un prix sur les DD Western Red)
- Kingston ValueRAM 16 Go DDR4 2133 MHz ECC CL15 DR X8 en double, c'est pas très clair, je suppose que c'est 2 barrettes de RAM de 8 Go ?
- Comment tu as calculé tes besoins en RAM pour ZFS ? Ça me parait faible non pas trop au niveau de ZFS mais si tu commences à rajouter des VM
- Tu as 4 disques de 4 To chacun, la quantité d'espace disque va être importante, où vas tu faire tes sauvegardes ? En général quand on s'attaque au NAS à la maison, cette partie pose problème. Le paragraphe sauvegarde me parait peu explicite, ça va sauvegarder quoi, quelle est la taille des DD ?
- Tu ne parles pas bruit, c'est silencieux ?
- Tu m'as l'air de partir sur un NAS qui fera aussi serveur, c'est une mauvaise idée en général. Mauvaise car mélanger ZFS et machines virtuelles va te forcer à ajouter de la RAM et vu les coûts ça va piquer lol
- Le plus gros besoin des VM c'est la rapidité des disques puis la RAM puis le processeur. Tes disques sont normaux (7200 rpm), tu vas le sentir
- De toute les solutions que j'ai vu c'est celle qui a le plus retenue mon attention : https://www.latelierdugeek.fr/2016/01/11/un-nas-4-baies-de-qualite-et-evolutif-pour-250e/

Tcho !

#6  - propositionjoe a dit :

Je vais te répondre au mieux, ton commentaire étant copieux. Mais sache aussi que je n'ai pas terminé ma série d'article, j'en ai gardé sous la main...
- Un prix sur les DD Western Red: je ne les ai pas acheté récemment, en ce moment ce genre de dd se négocie 160€
- Kingston ValueRAM 16 Go DDR4 2133 MHz ECC CL15 DR X8 en double, cela manque de clarté, effectivement, j'ai pris 2*16go
- Pour la ram et ZFS: j'ai lu à beaucoup d'endroit qu'il faut calculer ainsi: 8 go de base + 1 go par to de donnée. J'ai un raid qui me donne 7 to d'espace, donc en arrondissant 16 go seront nécessaire (cela correspond à ce que mon système consomme actuellement hors vm, donc l'estimation est bonne, chez moi en tout cas).
- Pour la sauvegarde, j'en parle dans l'article 2: sync pour un dd de 4to dans une autre machine, et un dd externe de 4 to également. Cela convient pour l'instant puisque je n'ai "que" 3.1 to de donnée actuellement.
- Pour le bruit: c'est subjectif, mais il ne me dérange pas plus que ça. J'ai placé ce serveur dans mon bureau et il n'est pas silencieux; j'entends un soufflement régulier si je m'approche à moins d'un mètre ou que je tends l'oreille; ou encore le soir quand tout est éteins. Mais franchement c'est acceptable, et ce n'est pas un "bruit" qui dérange, ça ressemble à une vmc en fait. Je précise également que j'ai mis le rhéobus du boitier à fond: je préfère un peu plus de bruit pour des disques frais.
- Effectivement je mélange serveur et nas... Je suis d'accord avec toi que ce n'est pas idéal, mais j'ai un proc de 80 watt là, pas trop le goût d'augmenter encore la facture edf... À voir si à l'avenir je ne bricole pas une solution.
- Mes disques sont normaux, les red tournent à 5400 rpm, il me semble. Ces derniers ne me servent que de stockage, j'ai un ssd intel de 500 go pour les disque des vm. De plus, suivant la configuration du zfs, tu peux optimiser pour rendre le volume zfs plus rapide: miroiter les disques comme un raid 10 et ajouter un cache ssd (j'en parlerai bientôt!).
- J'avais vu l'article dont tu parles, mais je souhaitais me monter un truc à moi. Mais c'est un bon choix le proliant hp.
Mais merci pour ce billet, ça va m'aider pour la suite.

#7  - Cascador a dit :

Merci à toi pour le retour :
- Tu as bien fait de préciser pour la RAM car j'avais compris 16 Go pour ma part
- Je suis allé voir sur le site de WD les Red sont annoncés à 7200 rpm. Après c'est toi qui a les disques, je peux me tromper
- J'ai lu ton second article à la suite de celui-ci ce matin et je viens d'y retourner, aucune référence à la sauvegarde avec sync
- Tu me vois rassuré par le SSD et la RAM
- Désolé pour les nombreux points soulevés, c'est de la curiosité pas de la critique

Tcho !

#8  - skc a dit :

Bonjour,

C'est intéressant. Coté disque, si tu veux jouer la sécurité, il faut clairement éviter d'avoir une matrice de disques uniformes; les disques fabriqués en même temps tombent souvent en panne en même temps. Dans ce cas, même le RAID1 ne peut pas de miracle pour tes données. Au moment où le premier disque lache, on a alors besoin de relire l'intégralité de l'autre ou des autres pour reconstruire la matrice, et c'est à ce moment qu'en général les autres disques font preuve de solidarité dans la défaillance. On lit ici où là que ça dégrade les performances, sans plus de justification. Après quelques tests, je n'ai rien constaté de particulier, le kernel distribue les lectures sur les disques, donc on a la latence du disque qui reçoit la requête.

Je ne vois pas trop le lien entre ECC et ZFS. La couche de contrôle de parité de la mémoire n'est pas exposée par l'OS, donc le système de fichier ne peut pas l'utiliser particulièrement. Que ce soit ZFS ou tout autre système de fichier, ou d'une façon générale pour tout l'OS, s'il y a des corruptions de mémoire (ECC ou non), de toute façon ça va mal se passer.

#9  - propositionjoe a dit :

Tu as raison de préciser la nécessité de disposer de disques avec des numéros de série qui ne se suivent pas: par exemple, les acheter chez des revendeurs différents et/ou à des moment différents et/ou différentes marques...
Pour le lien entre ZFS, RAM et OS; je n'ai pas vraiment d'avis la dessus, les infos que j'ai trouvés sont toutes en anglais; et de là j'adonc préféré minimiser mes risques en optant pour les recommandations des utilisateurs de freenas ou nas4free, qui ont déjà une expérience certaine de zfs... Mais je suis d'accord que ça se débat, chacun fera son choix mais j'ai fait le mien!

#10  - seb a dit :

Bonjour,
j'avais cet article sous le coude à propos de la corruption de données et ZFS (et du lien entre ECC et ZFS)
http://research.cs.wisc.edu/wind/Publications/zfs-corruption-fast10.pdf
et plus généralement un excellent article sur freenas : http://blog.brianmoses.net/2016/02/diy-nas-2016-edition.html

#11  - propositionjoe a dit :

Merci pour le partage. Tu me permets de mettre ça dans le corps de l'article?

#12  - seb a dit :

oui bien sur tu peux

Les commentaires sont fermés.

Fil RSS des commentaires de cet article