Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Un commentaire sur un article ou sur le site ? Vous voulez dire à Cyrare que vous lui vouez votre vie ? Eventuellement parler (en mal !) d'autres sites ? C'est ici.

Modérateur : DojoSuperHeroes

Répondre
Avatar de l’utilisateur
Mortal
Satoru Iwata
Messages : 14609
Inscription : 15 avr. 2002 10:17
Localisation : Monde 4, Galaxie 2, Planete 1
Contact :

Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Mortal » 02 août 2018 14:36

Kikoo :kikoo:

Notre bien-aimé serveur commence à se faire un peu vieux et surtout particulièrement bordélique :vomi:. Entre mes trucs à moi :vice: (messagerie, roundcube, xmpp, ttrss, etc…), les trucs du Dojo :vivice: (phpbb + wp), les trucs de pipoworld :vache: (y'a pas grand chose mais quand même) et d'autres bricoles, ça commence à faire beaucoup de monde et ça commence à ressembler à rien.

Du coup, je vais entamer des travaux de migrations vers un nouveau serveur avec plein de conteneurs dedans parce que c'est la mode et parce que c'est rigolo :)

La BÉÉÉÉÉTE

Le nouveau serveur recyclera mon PC de bureau actuel :
  • CPU : Intel(R) Core(TM) i5-3350P CPU @ 3.10GHz :drinking:
  • RAM : 16Gio :fist:
Va falloir que je rachète :
  • 2 SSD petits (pour le système)
  • 2 SSD plus grands (pour les données)
  • potentiellement une petite CG (parce que la mienne, je vais la mettre dans mon nouveau PC et parce que ma carte mère démarre pas sans :oscar:)
L'idée étant de reprendre du BTRFS Raid 1 comme actuellement mais distribué sur deux disques pour limiter les risques et les écritures.

Rézo

Je vais également séparer plus strictement les réseaux entre mon réseau domestique et le réseau serveur. L'idée est de faire une sorte de pseudo DMZ mais en un peu plus ouverte : tout accès autorisé depuis Internet sera autorisé également depuis mon réseau domestique.

L'idée est donc de permettre à ces deux bouts de réseau de sortir comme ils l'entendent vers Internet, mais d'autoriser les connexions entrantes que sur des ports standard bien précis que ce soit depuis internet ou depuis mon réseau domestique.

Système

Comme j'héberge beaucoup de trucs et pour beaucoup de monde au final, il va falloir que je m'organise un peu mieux. Notamment pour pouvoir donner la possibilité à certaines personnes de se connecter avec des privilèges très élevés sur certains services.

C'est aujourd'hui pas possible avec un serveur complètement monolithique. Les VMs, c'est bien, mais c'est trop consommateur de ressources (RAM, CPU, etc…). Je vais donc opter pour une troisième voix : LXC/LXD. C'est du conteneur léger qui permet du coup d'avoir de la virtualisation mais sans vraiment virtualiser :angel:

Plus léger mais pas dénué de possibilité : on peut mettre du docker dans du LXC, ça va donc être possible aussi de faire tourner des applis plus complexes et de tester des trucs beaucoup plus poilus :fear:

Pour le moment, iso-périmètre, je serais à 12 conteneurs (environ) :
- mail : postfix, dovecot, spamassassin, opendkim
- mailman : mailman, postfix
- bt : transmission, sonarr, radarr, jackett
- haproxy (pour l'aiguillage en frontal)
- dojo : nginx, php-fpm, mariadb
- trucs perso : nginx php-fpm mariadb
- zpush : nginx, php-fpm
- xmpp : prosody
- mastodon : docker + postgresql + nginx
- teamspeak : ts3 + mariadb
- voix : mumble + icecast2

LXD/LXC me permet aussi d'avoir une adresse IPv6 publique sur chaque conteneur : tout sera donc accédé le plus directement possible.

Pour pouvoir gérer tout ça de manière plus souple, je vais également avoir un contenur SaltStack. Si j'ai pas le courage, je vais ptet aussi foutre dans des conteneurs Docker les applis qui s'y prêtent bien (je pense notamment à mon conteneur BT).

Quand est-ce qu'on commence ?

En fait, c'est déjà commencé :n8rd: : j'ai maquetté pas mal de trucs ces derniers jours. Je vais m'arranger pour récupérer des plages d'IPv6 et probablement commencer les règles de routage et de filtrage assez rapidement.

Après, pour le reste, il va falloir que je me débarasse de mon ancien PC et ça risque donc de prendre du temps :oscar:

Mon objectif est d'arriver à tout migrer proprement d'ici la fin de l'année (ambitieux mais jouable).

Est-ce que je vais le subir :fear: ?

L'impact va être absolument minimal quoiqu'il arrive : temps de réponse, etc…, rien ne devrait vraiment bouger. Par contre, ça va permettre d'expérimenter plus de trucs et d'accélérer éventuellement les migrations vers des versions plus avancées de PHP notamment mais aussi de NginX. Au final, ça va forcément améliorer les choses (y).

Est-ce que je peux aider :nerde: ?

Tu peux généreusement faire donation de SSD neuf 8)

Si tu possèdes un datacenter, tu peux aussi nous loger gracieusement :n8rd:

Plus sérieusement, tu peux donner ton avis sur ce que tu veux, faire des suggestions, poser des questions, demander des trucs, ça aidera déjà beaucoup (y).

C'est quand même très « arrière-cuisine » comme migration, donc ça m'étonnerait pas que ça intéresse grand-monde :oscar:

Par contre, ça pourrait être intéressant pour les membres de l'équipe : des accès root dans des conteneurs GRATOS avec du DOCKER dispo, ça va forcément faire du :raptor:

Avatar de l’utilisateur
Chunky
Huggy-les-bons-tuyaux
Messages : 5182
Inscription : 05 sept. 2004 20:02
Localisation : Rennes (35)
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Chunky » 02 août 2018 19:55

Pas grand chose à dire à part un gros MERCI ! Car je sais que ça prend un temps fou tout cas :o

A la boîte on va pouvoir potentiellement récupérer du matos de « vieux » PCS (type i5 d’il y a 5 ans) ; moi je m’en fout mais ça pourrait potentiellement t’interesser ? Si oui je te redirais les specs exactes quand je le saurais :nerd:

Avatar de l’utilisateur
Aya
Super Mario World
Messages : 1136
Inscription : 24 oct. 2006 13:53
Localisation : Naoned
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Aya » 02 août 2018 20:03

C'est cool pour le docker, vous allez gagner un temps fou pour charger et décharger vos marchandises (y)

J'ai rien compris mais je participe t'as vu :n8rd:

Avatar de l’utilisateur
Mortal
Satoru Iwata
Messages : 14609
Inscription : 15 avr. 2002 10:17
Localisation : Monde 4, Galaxie 2, Planete 1
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Mortal » 02 août 2018 20:43

Chunky a écrit :
02 août 2018 19:55
Pas grand chose à dire à part un gros MERCI ! Car je sais que ça prend un temps fou tout cas :o

A la boîte on va pouvoir potentiellement récupérer du matos de « vieux » PCS (type i5 d’il y a 5 ans) ; moi je m’en fout mais ça pourrait potentiellement t’interesser ? Si oui je te redirais les specs exactes quand je le saurais :nerd:
Tant que c'est gratuit (ou on va dire pas cher du tout), ça pourrait effectivement m'intéresser. Ça permettrait de faire une petite ferme LXD/LXC avec de la reprise en cas de crash et du partage de charge plutôt que de la reprise froide (ce que je comptais faire).

En fait, j'ai aussi prévu un morceau de plan de secours : en cas de crash, je serai capable de reprendre tout ou partie des containers LXC sur une autre machine, voire sur un serveur dédié qqs parts, voire même dans un truc comme AWS.

Et comme les adresses publiques du Dojo sortent par un VPN, c'est pas bien compliqué d'aller les router ailleurs.
Aya a écrit :
02 août 2018 20:03
C'est cool pour le docker, vous allez gagner un temps fou pour charger et décharger vos marchandises (y)

J'ai rien compris mais je participe t'as vu :n8rd:
J'accepte avec très très grand plaisir vos participations et encouragements (y)

Avatar de l’utilisateur
Kenshin83
Super Mario 64
Messages : 4654
Inscription : 10 juin 2005 22:04
Localisation : Toulouse

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Kenshin83 » 03 août 2018 08:14

Mortal a écrit :
02 août 2018 20:43
Ça permettrait de faire une petite ferme
Quand le dojo diversifie ses activités 8)

Avatar de l’utilisateur
Mortal
Satoru Iwata
Messages : 14609
Inscription : 15 avr. 2002 10:17
Localisation : Monde 4, Galaxie 2, Planete 1
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Mortal » 04 août 2018 14:44

Et on va vendre du lait derrière (y)

Je me tâte à absolument tout dockériser… J'ai monté un forum de test pour voir et ça marche plutôt pas mal. Le seul problème, c'est que ça fait un sacré gâchis de ressources quand même : un nginx, un php-fpm (qu'il faut bricoler en plus :vomi:) et un mariadb juste pour le forum.

Ça voudrait dire que pour chaque appli PHP pratiquement, il faudrait faire la même chose. Je ne suis pas certain de l'intérêt à long terme.

Et puis, ça ne me permettrait pas forcément de déléguer des accès sur certains conteneurs, ce qui est quand même un peu gênant du coup…

Je vais quand même continuer de tester/expérimenter dans ce sens. Après tout, si j'arrive à tout faire tenir dans la future boîboîte, ça peut être intéressant (y).

Avatar de l’utilisateur
egg
Super Mario World
Messages : 1277
Inscription : 13 sept. 2004 17:20
Localisation : France
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par egg » 04 août 2018 15:40

Ça doit être l'enfer pour les mises à jour, non ?

Avatar de l’utilisateur
Mortal
Satoru Iwata
Messages : 14609
Inscription : 15 avr. 2002 10:17
Localisation : Monde 4, Galaxie 2, Planete 1
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Mortal » 04 août 2018 17:02

Dans un seul cluster Swarm ou K8s en théorie non : tu maj les conteneurs, tu rollouts le tout et c'est parti.

Par contre pour maj des applis PHP, c'est un peu autre chose :oscar:

Avatar de l’utilisateur
Holaf
Super Mario Sunshine
Messages : 8651
Inscription : 11 nov. 2002 11:37

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Holaf » 05 août 2018 14:10

C'est dommage que tu n'ai pas une carte mere avec un socket FCLGA2011 j'aurai pu te passer un meilleur processeur :(
Sinon ta ram c'est de la DDR3 ? tu as combien de slots ? et la carte mere gere combien au maximum ?
des anciens SSD 150Go ca t 'interesse ? (pour faire du cache par exemple)
des disques de 2To pour le stockage ?
une carte raid SAS peut-etre ? (mais par contre je comptais la vendre, pas la donner :oops: )
j'ai sinon une carte PciE > 4xSata (pas exceptionelle mais fonctionelle normalement)
Si tu veux une carte graphique passive pour le serveur je dois pouvoir récupérer ca aussi (ou alors avec un mini ventilo)

Avatar de l’utilisateur
Mortal
Satoru Iwata
Messages : 14609
Inscription : 15 avr. 2002 10:17
Localisation : Monde 4, Galaxie 2, Planete 1
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Mortal » 05 août 2018 17:56

C'est une carte mère mini-itx donc je pense que tous les slots mémoire sont pris.

La carte RAID ça ira (je fais du RAIS FS de toutes manières), par contre les SSD pourraient m'intéresser de même que ta carte graphique passive.

Faut que j'arrive à régler assez vite la question du matos donc toute aide est la bienvenue.

Sino, j'ai monté des bouts de lab avec du Docker Swarm et je suis assez impressionné pour le moment : c'est absolument pas adapté au projet mais c'est super marrant à monter :nerd:

Faut que je vois si je peux en recycler des bouts pour faire d'autres trucs :nerd:

Avatar de l’utilisateur
Cyrare
Satoru Iwata
Messages : 24493
Inscription : 15 avr. 2002 13:04
Localisation : Paris, France
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Cyrare » 07 août 2018 12:36

J'allais proposer une vieille carte graphique et un vieux SSD (ça me forcerait à changer) mais Holaf a forcément plus de matos.

Ton projet m'intéresse parce que parfois, j'ai envie de faire des trucs, genre un client twitter plus moderne en python, ou alors un prévisualiseur de pages web pour remplacer les Et Hop ! Mais à chaque fois faut installer des trucs et j'ai pas envie de tout casser juste pour tester. Je connais pas docker mais si c'est un équivalent d'une virtualisation, c'est top. (Sinon, faudrait que j'ai une instance du dojo chez moi, ce serait plus simple.)

Avatar de l’utilisateur
meduz'
Grand analyst
Messages : 8039
Inscription : 01 avr. 2005 13:46
Localisation : Devant la Switch
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par meduz' » 07 août 2018 14:30

C'est l'cas, pour Docker.

Avatar de l’utilisateur
Holaf
Super Mario Sunshine
Messages : 8651
Inscription : 11 nov. 2002 11:37

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Holaf » 07 août 2018 15:12

en plus avec les containers deja tout préparés ca te simplifie bien l'installation de certain softs

Avatar de l’utilisateur
Mortal
Satoru Iwata
Messages : 14609
Inscription : 15 avr. 2002 10:17
Localisation : Monde 4, Galaxie 2, Planete 1
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Mortal » 08 août 2018 07:36

C'est un peu plus compliqué que ça :oscar:

Les conteneurs, c'est drôlement bien pour du dev, mais dès qu'il s'agit de faire de la prod avec, c'est un peu une autre histoire. C'est aussi pour ça que je me tâte : du LXD correctement orchestré, ça permet de faire à peu près tout ce dont on a besoin mais en plus, je peux très facilement déléguer des accès.

Sur du Docker Swarm, c'est pas possible avec la version communautaire. Sur du Kubernetes, c'est faisable, mais la complexité des outils est assez importante et ça risque donc de partir en couille assez rapidement.

Je teste, je maquette, je regarde ce qu'il y a de mieux. Mais pour le moment, je pense sincèrement que LXD/LXC est le plus adapté. Après, ça empêche pas de faire du Docker dans du LXD/LXC.
Cyrare a écrit :
07 août 2018 12:36
Ton projet m'intéresse parce que parfois, j'ai envie de faire des trucs, genre un client twitter plus moderne en python, ou alors un prévisualiseur de pages web pour remplacer les Et Hop ! Mais à chaque fois faut installer des trucs et j'ai pas envie de tout casser juste pour tester. Je connais pas docker mais si c'est un équivalent d'une virtualisation, c'est top. (Sinon, faudrait que j'ai une instance du dojo chez moi, ce serait plus simple.)
Bah typiquement, en LXD, je pourrais faire un conteneur de dev et t'installer automatiquement tous les outils utilisés (bonne verson de NginX, PHP-FPM, MariaDB) et importer très rapidement la BDD du Dojo. En gros, en 15 min, t'as un truc fonctionnel avec tous les accès nécessaires.

En Kubernetes, on peut déployer un service supplémentaire reprenant les bons conteneurs et les bonnes données. Ça prend à peu près le même temps. Par contre, t'as pas d'accès possible, c'est pas faire pour. Du coup, tu peux tester un truc que t'as déjà bricolé, pas bricoler directement dedans.

Étant donné la manière dont on fonctionne en général, je suis pas certain que ce soit top.

On pourrait aussi envisager une 3ème voie : on fait du LXD/LXC pour avoir la souplesse VM, mais sans la lourdeur des ressources et derrière dans chaque VE, on fait tourner du Docker pour avoir des versions super à jour ou bien spécifique de certains trucs. De toutes manières, il faut l'orchestrer (SaltStack ou Ansible), donc orchestrer des composants système ou orchestrer des conteneurs Docker, ça fait pas une grosse différence.

Avatar de l’utilisateur
Zerg Killer
Super Mario Bros. 3
Messages : 532
Inscription : 27 août 2003 15:35
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Zerg Killer » 16 août 2018 07:40

Mortal a écrit :
02 août 2018 14:36
Si tu possèdes un datacenter, tu peux aussi nous loger gracieusement :n8rd:
J'ai un Novascale R422-E1 qui est hébergé gracieusement dans le datacenter où je travail, il me sert moins depuis que j'ai la fibre.

Seuls défauts, il ne gère pas les disques de plus de 2To (BIOS oblique) et on est limité à deux disque par carte-mère (Boîtier 1U avec deux CM dedans, mais le BIOS de l'une est HS)

Image

Le top serait de pouvoir faire repartir la seconde CM avec un dump et reprogrammation de BIOS (elle à déjà des CPU) et que je vous laisse la scouater. Le GROS soucis c'est qu'on est limité à un câble réseau relié aux switch public par châssis, du coup, il faudrait faire un NAT/PAT et routage entre les deux.

Du coup, si un jour ça peu dépanner. :mrgreen:
Ce message contient du trolling, sauras-tu le retrouver ? | Ce message est DTCProof.
Mes jeux et consoles.

Avatar de l’utilisateur
Mortal
Satoru Iwata
Messages : 14609
Inscription : 15 avr. 2002 10:17
Localisation : Monde 4, Galaxie 2, Planete 1
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Mortal » 16 août 2018 09:17

Je ne connais pas très bien ce modèle, t'as quoi comme CPU dedans ? C'est bruyant ou pas ?

Avatar de l’utilisateur
Zerg Killer
Super Mario Bros. 3
Messages : 532
Inscription : 27 août 2003 15:35
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Zerg Killer » 16 août 2018 09:59

C'est un boîtier 1U, donc c'est très bruyant, c'est fait pour être dans une salle à part.
Sinon dans le mien les carte-mères sont équipées de Xeon E5520.
Ce message contient du trolling, sauras-tu le retrouver ? | Ce message est DTCProof.
Mes jeux et consoles.

Avatar de l’utilisateur
Mortal
Satoru Iwata
Messages : 14609
Inscription : 15 avr. 2002 10:17
Localisation : Monde 4, Galaxie 2, Planete 1
Contact :

Re: Nouveau serveur (putain encore !) :lxd: :docker: :truenerd:

Message par Mortal » 16 août 2018 10:48

Ça pourrait m'intéresser. Faut effectivement que je vois si je peux faire repartir la seconde CM. Ce serait sacrément cool (y).

Je suis sur d'autres pistes pour du matos, faut que je vois ce qui mord. T'as un délai spécifique ou tu peux la garder autant que tu veux ?

Répondre