Nous avons refait le point avec Shepeng.
Côté architecture, nous allons partitionner l'espace disque avec
LVM, puis faire des VM avec
Xen. Docker ne nous semble pas forcément pertinent dans notre utilisation ; les VM de ce genre permettent une certaine résilience (chaque VM se gère comme un serveur à part ou presque, il y a de la doc pour ça, et puis ça empêche pas d'utiliser docker à l'intérieur) allié à de la sécurité (certains auront accès à la VM1, d'autres à la VM2 ; ainsi on peut confier les clés, pleins pouvoirs roots sur une VM, à un néophyte ou une personne qu'on connait encore peu, sans mettre en péril l'ensemble de l'architecture). Je ne crois pas que Docker permette de gérer les permissions aussi finement et le but reste de déléguer les pouvoirs chaque fois que possible.
Côté machine physique, les serveurs que Shepeng avait trouvé ont des soucis. Comme les offres kimsufi sont peu coûteuses, on va peut-etre aller au plus simple... sauf si vous avez un super serveur à nous proposer ! Actuellement, il y a deux offres intéressantes, à voir ce qu'on choisit ; le prix est ok :
Modèle CPU Ind * Cores /Threads Freq. RAM Disq. Réseau IPv6 Prix /mois
KS-5 Xeon 2 x E5504 4997 8c / 8t 2 GHz+ 16 Go ECC 2 To 100 Mbps /128 24,99 € HT
KS-4A Core™ i7-920 5003 4c / 8t 2.66 GHz+ 16 Go 2 To 100 Mbps /128 21,99 € HT
Le fréquençage du KS-4A est plus élevé, le KS-5 a 8 coeurs au lieu de 4... entre les deux mon cœur balance, sachant que ça va surtout être utile lors de la compilation, je laisserais les pros décider de ce qu'ils préfèrent
À 3€ près, ce n'est pas le prix qui va décider.
Pas de SSD donc on ne gagnera pas en perfomance de ce côté, m'enfin pas grave... et la RAM est suffisante pour nos besoins. L'ECC est un plus, mais qui ne me semble pas essentiel non plus à ce stade du projet.
Les kimsufi ne sont pas des serveurs "fiables", dans le sens où, s'ils ne sont pas chers, c'est pas pour rien : support très limité, machines ayant déjà vécu et déclassées. Il est donc possible d'avoir des soucis, comme sur le premier que nous avions pris (avec des clusters corrompus si je me souviens bien) ; mais ce n'est pas mieux sur des serveurs d'occases comme ceux de Shepeng, où on devra assurer le support nous-même (mais où on aura un accès à la machine, moyennant quelques heures de route). Le jour où Khaganat ramènera des foules, on payera un serveur pro
Nous prendrons ce serveur en août, probablement ; j'ai pas mal de travail actuellement et je ne lancerais ce chantier que quand j'aurais du temps à y consacrer, idem pour Shepeng (qui lui, sera moins dispo en septembre).
Je souhaite aussi prendre le temps de bien préparer le projet en amont. Réfléchir soigneusement aux choix à faire, et documenter au fur et à mesure.
ArchitectureNous aurons donc 2 serveurs physiques : celui de sauvegarde (actuellement serveur de dépôt), qu'on rebaptisera nuxru à cette occasion ("retour à la sécurité" en lojban), et le serveur général, qu'on appellera groska eu égard à sa taille et sa polyvalence. C'est de Groska qu'on va parler, l'autre on s'en moque un peu...
Sur Groska, comment on va séparer les choses, quelle taille sur le DD, quelle quantité de RAM on va allouer à chaque morceau ?
Un lot de VM perpétuelles (qu'on n'éteins pas) :
- Une première VM contiendra le reverse proxy, peut-être aussi LDAP ? pour dispatcher ensuite vers les diverses VM. Je pense qu'on pourrait aussi mettre dessus le Zabbix principal, pour monitorer. Cette VM s'occuperait finalement des fonctions d'aiguillage, donc je propose qu'elle s'appelle kuckla (carrefour). Je ne sais pas de combien Zabbix a besoin... Au pif, je lui donnerait 1Go de ram, 10Go d'espace disque
- liria, pour le serveur de jeu tant qu'on est dans la période des Brumes et du tâtonnement. 4Go de ram, 50Go d'espace physique.
- jukni ("machin à huit pattes", qui loge sur une toile
) pour les services web de base : dokuwiki, forum, pastebin, log irc, galerie d'images, et j'ajouterais bien owncloud dessus, dont on a un usage limité. 1Go de RAM, 100Go d'espace physique (si owncloud).
- etherpad : oui, on va lui mettre une VM à lui tout seul, mais vu comme ce service peut pomper, ça devrait améliorer les choses. Et éviter qu'il fasse tout planter. 1Go de RAM rien que pour lui ! 10Go d'espace disque (c'est large mais c'est un luxe qu'on peut se permettre).
- depots, qui hébergera le gitlab, et va donc aussi servir à compiler. 4Go de RAM minimum, et pas mal d'espace disque (1To ?).
Cela fait 10Go de RAM, 170Go d'espace disque (plus depots).
Il y a ensuite des VM temporaires, qu'on allumera suivant les besoins :
- spofu, le serveur de jeu pour les crash test, clone de liria : 4Go de ram, 50Go d'espace physique. À noter qu'on pourra faire un snapshot avant de mettre des tests, et donc revenir rapidement à un état antérieur.
- rirni, clone de jukni, qui servira lorsqu'on voudra tester des trucs web : 1Go de RAM, 30Go d'espace physique.
Si tout est allumé, ça fera 15Go de ram utilisé, plus 1Go pour le système hôte. Je pense que spofu sera souvent en route par moment
Il restera de l'espace disque en rab, qu'on allouera suivant les besoins.
Si les VM temporaires sont éteintes, il est peut-être possible via xen d'allouer temporairement plus de RAM à certaines VM, type dépots, qui peut consommer pas mal en cas de compilation.