Ressources nécessaires au maquettage

Objectif

Cette documentation à pour but de recenser les ressources requises pour maquetter la solution docker ainsi que ownCloud.

VM dans la ferme de serveurs

Dans un premier temps 2 machines virtuelle, sur lesquelles docker sera installer et configuré. Puis on installera ownCloud de deux manière différentes :

Version “full” : image docker avec tout les composants dans le même conteneur.

Version “brick” : décomposer chaque couche dans un container (php-fpm, apache, postgreSQL et l’application)

Une fois les installations et configurations fonctionnel, nous réaliserons un benchmarks pour tester les performances des deux solutions et déterminer laquelle est la plus efficace. Une fois ces testes réalisés, nous verrons pour placer la structure dans un cluster à l’aide de la solution Docker Swarm.

Concernant les ressources, nous demanderons deux machines avec :

1 vCPU

1Go de RAM

15Go d'espace OS

10Go d'espace DATA

2 interfaces réseau

slesdockerdev1

eth0 : 192.168.113.110

eth1 : 192.168.113.111

slesdockerdev2

eth0 : 192.168.113.112

eth1 : 192.168.113.113

Docker

Pré-requis

Une architecture 64 bits ainsi qu’une version du noyau Linux supérieur à la version 3.10
Distribution supportées :

Ubuntu

Red Hat Enterprise Linux

CentOS

Fedora

Debian

Arch Linux

CRUX Linux

FrugalWare

Gentoo

Oracle Linux

openSUSE and SUSE Linux Enterprise

Solution retenu

Étant donnée que la majeur partie des serveurs son des SUSE, nous allons installer docker sur cette distribution. Une fois configuré nous mettrons en place différents conteneurs dont le premier qui sera ownCloud (en version full et brick), puis des conteneurs de base de donnée pour peut être remplacer les serveurs Solaris qui contiennent toutes les bases.

OwnCloud

Pré-requis

Dépend du nombre d’utilisateur/de fichier et de l’activité sur le serveur. Au minimum 128Mo de RAM et 512Mo sont recommander.

Configuration recommandé :

Red Hat Enterprise Linux 7

MySQL/MariaDB

PHP 5.4 +

Apache 2.4

Plate-forme supportées :

Serveur: Linux (Debian 7, SUSE Linux Enterprise Server 11 SP3 & 12, Red Hat Enterprise Linux/Centos 6.5 and 7 (7 is 64-bit only), Ubuntu 12.04 LTS, 14.04 LTS, 14.10)

Service web: Apache 2

Base de données: MySQL/MariaDB 5.x; Oracle 11g; PostgreSQL

PHP 5.4+

Solution retenu

L’installation se fera dans un conteneur Docker

Mise à jour

Après la mise en place de notre infrastructure, nous avons travaillé sur une évolution : la mise en cluster. Nous avons cependant rencontré une difficulté. En effet, nous avons externalisé les données de nos conteneurs et devons les placer dans un espace partagé entre nos hôtes. Nous avons étudié et tester de multiple solutions comme le partage de disque dur et la synchronisation avec Syncthing.

Suite à ces essai, nous avons pensé à la mise en place d’une machine de stockage. Lors de notre discussion avec Éric, ce dernier nous à informer qu’il existe dans l’infrastructure du département des machines virtuelles qui servent de serveurs de data. Éric va donc nous faire un point de montage NFS sur l’une d’elle avec une capacité de 10 Go qu’il nous restera à configurer de notre côté.

L’utilisation du protocole ne nécessite aucune installation particulière. Nous pouvons utiliser la commande de montage usuelle avec le paramètre de circonstance :

mount -t nfs [IP DISTANTE]:/le/repertoire/distant /le/repertoire/local

Pour effectuer l’opération automatiquement, nous ajoutons l’entrée suivante dans le fichier /etc/fstab :

[IP DISTANTE]:/le/repertoire/distant /le/repertoire/local nfs rw 0 0