frnlendeitptes

 

L'idée de ma mise en œuvre d'une grappe de serveurs s'articulant autour du concept de la haute disponibilité de services.

La haute disponibilité de services par le faites qu'en cas de l'arrêt d'une machine diffusant l'un des services sur le réseau, ce service doit quand même disponible de manière complète ou partielle.

La haute disponibilité se subdivise en deux grands ensembles :

  • La continuité de vie ou FailOver.
  • Le basculement de charge ou le Loadbalancing.

Le problème est qu'il faut savoir quel niveau de perte d'une partie des données est acceptable quand l'on passe d'une machine à l'autre au moment du basculement, c'est ce niveau-là qui va décider du mode de fonctionnement principal de la grappe de serveurs, et de son coût.

Pour ma part mon but est d'avoir tous les services sur une seul ip mais qu'en cas de crash de la machine fournissant les services l'autre aura les mêmes informations et pourra les fournir sans que mes utilisateurs en soient conscients.

La seule solution est le FailOver en mode de fonctionnement actif/passif, les services sont montés sur les deux machines en clones mais seul une à le service actif et les données sont répliquées de manière synchrone vers l'autre par une ligne de vie.

La mise en action de cette solution part d'une chose essentielle ; les deux machines doivent être des clones physiques, pour une meilleure compatibilité pour les paramètres de l'une vers l'autre.

Et ensuite sur le plan logiciel il faut aussi réaliser une installation identique autant que pour le système d'exploitation que pour les applications, seuls certains paramétrages peuvent différer, d’une machine à l'autre.

Je me suis inspiré de plusieurs tutoriels trouvé sur le web pour réaliser mon article :

Pour la réalisation d'un cluster en haute disponibilité sous « Debian 9 » il nous faudra : deux machines identique, donc un achat en double des éléments suivants :

  • 1 Carte mère Supermicro x8dth-i Format E-ATX
  • 2 Cpu qui est un Intel xeon L5530 socket 1366
  • 16 Go Ram (2*8Go) en DDR3
  • 1 Disque SSD de 120 Go pour le système découpé comme suit :
    • 60 Go pour le système /
    • 60 Go pour la zone de swap 1
  • 2 Cartes raid lsi 9520se-12ml
    • grappe 1 ==> 4*2 To pour le volume iscsi vers l'hyperviser 1
    • grappe 2 ==> 4*3 To pour le volume iscsi vers l'hyperviser 2
    • les grappes de disques seront intégré plus tard en fonction de l'évolution du projet
  • 5 Cartes réseaux :
    • l cartes intégrées dual ports à la carte mère en 10/100/1000 sont des intel pro qui sera connectée vers la dorsale lan de mon réseau
    • 1 carte mono port additionnelle en 10/100/1000 intel pro en pci-e qui servira pour la synchronisation entre les deux machines
    • 1 carte dual ports hp en 10/100/1000 intel pro en pci-e qui servira pour monter les volumes iscsi
  • 1 Boitier grand tour avec suffisamment d’emplacements pour les futurs disques dur que je rajouterais par la suite pour mon cluster de data (le but final du projet)
  • 1 Alimentation sur dimensionnée à l'heure actuelle mais pour l'usage futurs devrait bien aller

0 - Le déroulement des opérations

  • L'installation de base.
  • Les paramétrages post installation de base.
  • L'intégration et paramétrages de DRBD9 et Heartbeat.
  • L'intégration de la résolution de domaine internet, deux options possibles de paramétrage.
  • L'intégration des services.

1 - L'installation de base de notre système

Nous passons à l'installation du système d'exploitation via le cd « net install »

  • Nous retirons tous les modules proposés par défaut sauf le dernier
  • Nous ajouterons le serveur ssh pour réaliser des prises en mains à distance en ligne de commande.

Dans le cadre de mon projet de cluster sous Debian 9, nous allons procéder à une installation en double (sur deux machines) avec de petites différences sur les paramètres qui seront obligatoires pour la bonne marche du cluster au final.

1.1 - Le partitionnement des disques dur :

Nos deux machines ont deux disques dur un pour le système et un pour les données qui seront découpés comme suit :

dmz-01 et dmz-02
Sda1 ⇒ 60 Go ⇒ / en ext4
Sda2 ⇒ 60 Go ⇒ Swap
 

1.2 - Le choix des packages à installer de base sont réduits :

  • La base système.
  • Le serveur ssh.
  • Retirez le reste, nous n'en aurons pas besoin pour l'installation de base.

L'installation de base est terminée nous avons retiré le cd/dvd d'installation et redémarrer les machines, ensuite depuis la console nous allons nous loguer pour vérifier si l'installation c'est bien faite et attaquer la partie 2.

2 - Le paramétrage post Installation

2.1 - Le paramétrage des cartes réseaux

  • aggréer les ports de la carte intégrer pour n'avoir qu'une ip dessus partagée entre les deux afin que si un lien lache l'autre serve de secour ou d'avoir les deux pour doubler le débit.
  • appliquer une ip static sur la carte mono port qui aura la charge de supporter le battement de coeur, il est possible de la doubler comme pour la premier opération.
  • aggréer les ports de la carte dual port pour qui sera dévolue pour le service iscsi.

Vos cartes sont paramétrés en IP V4 il ne reste plus qu'à désactiver l'adressage IP V6

2.2 - La désactivation de l'ip V6 sur les cartes réseaux

  • Au sien de mon réseau vu le nombre de machines, j'ai décidé de ne pas avoir d'adressage en ipv6 d'actif.
  • Ces opérations sont à faire avec les droits et l'utilisateur adéquat.
  • Donc pour ce faire avec mes machines sous Debian 7.xx je vais les désactiver au boot du système.
  • Nous nous plaçons sur la console ou via une interface de console distante en ssd de votre machine.
  • Dans le chemin /etc/ le fichier "systcl.conf", nous modifions comme suit :
  • Après avoir vérifié si les lignes sont présentes et si elles ne le sont pas encore, rajoutez-les à la fin du fichier
  • Si vous n'avez qu'une carte réseau c'est simple, mais si comme moi vous avez plusieurs cartes sur vos machines il va falloir incrémenter de 1 la ligne
  • Exemple nous avons 4 cartes sur la machines cela va donner sur le fichier systcl.conf la chose suivante 
  • Sauvegardez et redémarrez la machine.
  • Une fois la machine up, nous vérifions si les paramètres sont bien pris en comptes avec un ifconfig. (penser a faire un apt-get net-tools pour avoir cette outil il a été retirer dans la deb9)
  • C'est fait plus d'ipv6 sur la machine.

 

3 - L'intégration de DRBD9, Corosync, HeartBeat

 

3.1 - L'installation  Drbd9

  • Drbd8-utils ce module va nous servir au montage des disques en mode miroir via le réseau, une sorte de raid 1 mais réseau.
  • Corosync et Pacemaker ces modules vont nous servir de battement entre les deux serveurs via eth1 et la gestion des ressources.

Cette partie de l'installation et paramétrage est plus complexe car c'est ici que l'on va déterminer qui est le maitre et qui est l'esclave, il va y avoir des opérations à réaliser en double et d'autres que sur l'une ou l'autre machine, vous aurez une indication au moment voulu.

L'installation via apt-get de ces trois modules se fait comme suit :
apt-get update
apt-get upgrade

apt-get install corosync

Pour le paquage il va falloir trouver les sources sur le site en TAR.GZ

3.2 - Paramétrage de DRBD ou Distributed Replicated Block Device

  • La définition sur wikipédia http://fr.wikipedia.org/wiki/DRBD
  • Le paramétrage du drbd8 se fait par un fichier dans /etc sous le nom de « drbd.conf » et dans le dossier /etc/drbd.d/ avec les fichiers *.res qui initialiser les ressources. suivant les tutoriaux que j'ai parcouru certain modifie que le premier fichier et ne touche pas au *.res, pour avoir un fichier monolithique, personnellement je suis adepte du paramétrage modulaire en utilisant le fichier de base et les *.res un par disque dur en fait. Drbd9 est l'outil qui va initier le montage des disques dur sur le réseau et synchroniser via le lien de vie avec la carte ENPS0F1. il est plus simple de voir avec un tableau à trois colonnes permettra de voir d'avoir une meilleur lisibilité.
  • Dans /etc/hosts sur les deux machines

Pour dmz-01
127.0.0.1    localhost
127.0.1.1    dmz-01.tb-info.info    dmz-01
192.168.2.14    dmz-01.tb-info.info    dmz-01
192.168.2.15    dmz-02.tb-info.info    dmz-02
Pour dmz-02
127.0.0.1    localhost
127.0.1.1    dmz-02.tb-info.info    dmz-02
192.168.2.14    dmz-01.tb-info.info    dmz-01
192.168.2.15    dmz-02.tb-info.info    dmz-02

  • Dans /etc/resolv.conf sur les deux machines

Pour dmz-01 et Pour dmz-02
domain tb-info.info
search tb-info.info
nameserver    127.0.0.1
nameserver    192.168.2.15
nameserver    192.168.2.10

  • Drbd8 est installé, il nous reste à réaliser le paramétrage des fichiers depuis /etc/drbd.d/
  • Pour le fichier globa_common.conf


global {
  usage-count no;
}
common {
  protocol C; 
  syncer {
    rate 100M;
    verify-alg sha1;
  }
  disk {
    on-io-error   detach;
  } 
  startup {
    wfc-timeout  60;
    degr-wfc-timeout 30;
    become-primary-on dmz-01;
  } 
  net {
    after-sb-0pri discard-older-primary;
    after-sb-1pri call-pri-lost-after-sb;
    after-sb-2pri call-pri-lost-after-sb;
  }
  handlers {
    pri-lost-after-sb "reboot -f";
    pri-lost "echo Déconnexion des serveurs, vérifier les logs | mail -s 'SERVEUR: Alerte DRBD' Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.";
    out-of-sync "echo Désynchronisation des serveurs, vérifier les logs | mail -s 'SERVEUR: Alerte DRBD' Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.";
    pri-on-incon-degr "reboot -f";
    outdate-peer "/usr/lib/heartbeat/drbd-peer-outdater -t 5";
    local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
  }
}

  • Pour les fichiers des ressources *.res dans notre cas nous avons deux ressources drbd0 et drbd1, il est agréable de noter qu'avec cette manière de faire nous pouvons avoir X ressources.
    • !!! l'ip de la carte eth1 du serveur maitre et de l'esclave, souvenez nous sommes avec des machines à deux cartes réseaux.
    • !!! le port de communication après l'ip change entre les deux fichiers de ressources, regardez bien il est incrémenté de +1 et - 1 suivant votre mode de raisonnement.
  • La configuration pour drbd0.res


resource disk00 {
  on dmz-01 {
    device    /dev/drbd0;
    disk      /dev/sda2;
    meta-disk internal;
    address   192.168.200.14:7789;
  }
  on dmz-02 {
    device    /dev/drbd0;
    disk      /dev/sda2;
    meta-disk internal;
    address   192.168.200.15:7789;
  }
}

  • La configuration pour drbd1.res


resource disk01 {
  on dmz-01 {
    device    /dev/drbd1;
    disk      /dev/sdb1;
    meta-disk internal;
    address   192.168.200.14:7788;

  }
  on dmz-02 {
    device    /dev/drbd1;
    disk      /dev/sdb1;
    meta-disk internal;
    address   192.168.200.15:7788;
  }
}

  • Les fichiers de paramétrage ont été créés sur dmz-01 et dupliqué sur dmz-02 sur nous allons lancer le processus drbd et initialiser le disque ressources « data-00 » et « data-01 »
  • On vérifie si le processus est actif ou pas
    • cat /proc/drbd
    • Il doit nous retourner :

cat: /proc/drbd: Aucun fichier ou répertoire de ce type

  • On lance le processus et on vérifie s'il est bien up
    • modprob drbd
    • cat /proc/drbd :

upversion: 8.3.11 (api:88/proto:86-96)

srcversion: F937DCB2E5D83C6CCE4A6C9

  • On active et change les droits sur certain fichiers


chgrp haclient /sbin/drbdsetup
chgrp haclient /sbin/drbdmeta
chmod o-x /sbin/drbdsetup
chmod o-x /sbin/drbdmeta
chmod u+s /sbin/drbdsetup
chmod u+s /sbin/drbdmeta

  • On passe le script de lancement par défaut de drbd, c'est à dire en l'automatisation du lancement de l'application au moment du démarrage du système, j'ai eu des petits déboires avant de comprendre que j'avais passé ce point-là avant que je comprenne ou je m'étais trompé.

update-rc.d drbd defaults 70

  •  Il doit nous retourner

update-rc.d: using dependency based boot sequencing

  • On va dire à drbd de créer les ressources sur le système.


drbdadm create-md disk00
puis
drbdadm create-md disk01

  • Si tout est conforme, il doit nous retourner une question à laquelle il faut repondre "yes"
  • Si non vous aurez un petit souci du genre code 20
    • Pour réparer cela faites.

shred -zvf -n 1 /dev/sda2

  • On va monter la ressource comme suit :


drbdadm up disk00
Puis
drbdadmin up disk01

  • Si à ce stade vous avec un code 10 regardez sur vos deux machines si drbd est bien en fonction par la commande "modprobe drbd, C'est un oubli courant.
  • On va regarder si tout est bien en place avec :
  • cat /etc/drbd

version: 8.3.11 (api:88/proto:86-96)
srcversion: F937DCB2E5D83C6CCE4A6C9
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----
    ns:386941544 nr:0 dw:6093812 dr:380849249 al:1871 bm:23245 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

  • Ici tout est bon car on a "Secondary/Secondary" qui signifie que les deux serveurs on bien up la ressource et qu'ils attendent que la synchronisation se fasse.
  • Un autre moyen est de lancer la commande suivante :

drbdadmin role all

Secondary/Secondary

  • A ce stade la nous en avons fini avec les opérations lancer en simultané sur les deux serveurs, nous commençons les opérations réaliser sur la machines qui va être le serveur maitre et seulement le maitre.
  • Pour la lancer la synchronisation ce fait en attribuant le rôle de maitre à dmz-01 comme suit :


drbdadm -- --overwrite-data-of-peer primary data-00
puis
drbdadm -- --overwrite-data-of-peer primary data-00
Nous aurions pu faire
drbdadm -- --overwrite-data-of-peer primary all

  • Après cette commande la synchronisation se lance automatiquement du maitre vers l'esclave nous vérifions la progression de la synchronisation dmz-01 / dmz-02

cat /proc/drbd

  • Ne pas oublier encore une fois si vous ressources sont de grandes tailles vous devrez attendre tres longtemps cela peut aller de quelques minutes à des heures.
  • Au moment du lancement de la synchronisation nous avons une barre de progression, un temps estimé de fin un débit
  • Regardez bien les ressources en 0 et en 1 mise en gras nous montre que les ressrouces sont bien montées.

version: 8.3.11 (api:88/proto:86-96)
srcversion: F937DCB2E5D83C6CCE4A6C9 
0: cs:SyncTarget ro:Primary/Secondary ds:Inconsistent/UpToDate C r-----
    ns:0 nr:10080820 dw:10080640 dr:312 al:0 bm:615 lo:2 pe:7516 ua:1 ap:0 ep:1 wo:f oos:345355508
    [>....................] sync'ed:  2.9% (337260/347104)Mfinish: 2:45:18 speed: 34,808 (54,784) want: 102,400 K/sec
1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
    ns:1170584 nr:0 dw:0 dr:1179416 al:0 bm:71 lo:1 pe:3 ua:64 ap:0 ep:1 wo:f oos:477329232
    [>....................] sync'ed:  0.3% (466140/467284)Mfinish: 3:45:20 speed: 35,284 (27,216) K/sec

  • Pour finir au bout de la synchronisation avec un statut ds: qui est passé à UpToDate/UpToDate et la barre de progression n'est plus là.

version: 8.3.11 (api:88/proto:86-96)
srcversion: F937DCB2E5D83C6CCE4A6C9
0: cs:SyncTarget ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:0 nr:10080820 dw:10080640 dr:312 al:0 bm:615 lo:2 pe:7516 ua:1 ap:0 ep:1 wo:f oos:345355508
1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:1170584 nr:0 dw:0 dr:1179416 al:0 bm:71 lo:1 pe:3 ua:64 ap:0 ep:1 wo:f oos:477329232

  • Le temps du choix du système de fichiers, pour ma part j'ai choisi Ext4 pour se faire.

mkfs.ext4 /dev/drbd0

  • Comme dans mon projet j'ai l'intention de rajouter des disques supplémentaires dans les machines donc des ressources dans le fichier drbd.conf, j'ai décidé de prendre un plan de nommage comme suit

data-01 pour le disk00 qui est en fait /dev/drbd0

data-02 pour le disk01 qui est en fait /dev/drbd1 et ainsi de suite... et ce sur les deux machines.

  • Donc nous allons monter le volume drbd0 sur un répertoire data-01 qui sera bien évidement à faire pour les autres volumes si vous en avez d'autres ou que vous en rajouter par après.

Pour disk00
mkdir /srv/disk00
mount /dev/drbd0 /srv/disk00
Pour disk01
mkdir /srv/disk01
mount /dev/drbd0 /srv/disk01

  • Nous en avons fini avec Brbd qui nous servira pour la synchronisation des données entre dmz-01 et dmz-02, passons à l'étape de heratbeat

3.3 - Paramétrage de la ligne de vie et la gestion des ressources - Corosync

  • Le chef d'orchestre va etre corosync qui va gerer le battement entre les deux machines et pacemaker qui vas par ces plug-ins gérer les services que nous allons mettre en fonction pour notre cluster

3.3.1 corosync

  • En premier temps, nous allons paramétrer les fichiers de base de corosync toutes les opération sont à réaliser sur les deux machines jusqu'au premier lancement de l'application ensuite nous n'aurons plus qu'à faire les paramétrages sur la machine maitre qui n'est que dmz-01.
    • Le fichier de configuration s'appelle « corosync.conf » en partant de la version par defaulte et par une lecture de plusieurs tuto j'ai fait le choix de ces paramètrage pour ce fichier.


# Please read the openais.conf.5 manual page
totem {
    version: 2
    # How long before declaring a token lost (ms)
    token: 5000
    # How many token retransmits before forming a new configuration
    token_retransmits_before_loss_const: 20
    # How long to wait for join messages in the membership protocol (ms)
    join: 1000
    # How long to wait for consensus to be achieved before starting a new round of membership configuration (ms)
    consensus: 7500
    #we use a key to allow a node to connect to the cluster
    secauth: on
    # Turn off the virtual synchrony filter
    vsftype: none
    # Number of messages that may be sent by one processor on receipt of the token
    max_messages: 20
    # Limit generated nodeids to 31-bits (positive signed integers)
    clear_node_high_bit: yes
    # Disable encryption
     secauth: off
    # How many threads to use for encryption/decryption
     threads: 0
    # Optionally assign a fixed node id (integer)
    # nodeid: 1234
    # This specifies the mode of redundant ring, which may be none, active, or passive.
     rrp_mode: passive
     interface {
        #  l'interface qui sert de synchron machine/machine
        ringnumber: 0
        bindnetaddr: 192.168.200.0
        mcastaddr: 226.94.1.1
        mcastport: 5405
    }

     interface {
        # l'interface sur la lan qui sert qu'en cas de defaillances du lien de synchronisation
        ringnumber: 1
        bindnetaddr: 192.168.2.0
        mcastaddr: 226.94.1.1
        mcastport: 5407
    }

}
amf {
    mode: disabled
}
service {
     # Load the Pacemaker Cluster Resource Manager
     ver:       0
     name:      pacemaker
}
aisexec {
        user:   root
        group:  root
}
logging {
        fileline: off
        to_stderr: yes
        to_logfile: no
        to_syslog: yes
    syslog_facility: daemon
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
                tags: enter|leave|trace1|trace2|trace3|trace4|trace6
        }
}

  • En second temps, Nous allons occuper du fichier « authkey »
  • Pour générer le fichier authkeys :

corosync-keygen

  • Le changement de propriétaire :

chown root:root /etc/corosync/authkey

  • Et on change les droits sur le fichier

chmod 400 /etc/corosync/authkey

  • Enfin la copie via scp de dmz-01 vers dmz-02

scp /etc/corosync/authkey root@dmz-02:/etc/corosync/authkey

  • En troisième temps, nous automatiserons « corosync  », en éditant le fichier de lancement de corosync en passante le paramètre de

START=no à START=yes avec la commande nano /etc/default/corosync

  • On l'initialise
/etc/init.d/corosync start 
  • On vérifie que tout est monté avec la commande «crm status» et doit nous sortir cà.

============
Last updated: Tue Jul  1 21:22:08 2014
Last change: Tue Jul  1 19:58:34 2014 via cibadmin on dmz-01
Stack: openais
Current DC: dmz-01 - partition with quorum
Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff
2 Nodes configured, 2 expected votes
1 Resources configured.
============

Online: [ dmz-01 dmz-02 ]

  • Si tous est bon, nous regardons la ligne Online en gras (j'ai mis les machines bien là, le cluster est opérationnel post installation).
  • A partir de la nous commençons le paramétrage des autres éléments de notre cluster via le crm de pacemaker.

3.3.2 HeartBeat

  • Parmi les paramètres important qu'il nous faut pour que nous ayons une ip commune aux deux machines, est sera virtuelle car non attribuée réellement à une machine définie mais à deux sur le mécanisme est que via cette ipv dmz-01 et dmz-02.
  • Pour qu'en cas d'arrêt de la machine principale, la secondaire prenne le relais de façon transparente pour les utilisateurs.
  • Donc nous activerons une ipv commune, et les ressources disques que nous avons monté avec drbd pour que les applications qui aurons à écrire des données dessus soient disponible.

4 - L'intégration du service de résolution de nom de domaine par Bind9

  • Bind9 est l'application serveur de résolution de noms de domaine ; le DNS.
  • Vous avez plusieurs solutions ne pas laisser sortir à votre disposition :
    • Avoir un domaine local sans accès depuis l'interieur
    • Avoir un domaine internet dynamique vers vos services web, ils sont de moins en moins nombreux.
    • Avoir un domaine acheté chez un registra (qui n'est en fait qu'une location sur un temps donné) que vous redirigé vers vos services web, il y a des tas de registra pour toutes les bourses et les options.
    • Avoir un sous domaine d'un domaine acheté redirigé cher vous, cela va varier en fonction des options que vous avez sur le domaine déjà acheté pour un site web hébergé mais pas chez vous par exemple.
  • J'ai fait l'acquisition, ou plutôt il m'a été offert par ma compagne un nom de domaine sans hébergement cher OVH , le domaine est tb-info.info. Nous réaliserons une redirection des dns OVH vers mon auto hébergement.

5 - L'intégration et paramétrages des Services

  • Les serveurs de bases de données
    • Mysql comme bases de données des applications web que nous aurons a installé (joomla par exemple).
    • Postgresql comme base de données pour les applications internes (nagios par exemple)
  • Les services du Web
    • Apache pour le service web.
    • Proftpd pour le service de transfert de fichier depuis et vers internet.
    • Postfix le serveur de mail et des éléments connexes comme le webmail.
  • Les services internes du réseau
    • Openldap comme annuaire d'utilisateurs
    • Freeradius et kerberos pour la sécurisation ainsi que l'authentification.
    • Apt-mirror pour les distributions Debian, Mint, Ubuntu
    • Samba pour le service de partage de fichiers entre les réseaux (local et sans fils)
  • Les services d'administration et de gestion d'un réseau
    • Webmin pour l'administration distante du cluster et de ses membres.
    • Nagios et centréon pour la supervision du réseau
    • Squid3 et Squidguard pour le filtrage des accès vers l'extérieur.
    • Snort la surveillance des intrusions venant du web et de la zone sans fils.

5.1 - Les serveurs de bases de données

  • Mysql comme bases de données des applications web que nous aurons a installé (joomla par exemple).
  • Postgresql comme base de données pour les applications internes (nagios par exemple)

5.1.1 - Mysql server 5.5

  • Mysql est un serveur de bases de données relationnelles pouvant suivant certain paramétrage d'intégrer dans un cluster avec réplication et synchronisation.
  • L'installation de Mysql seul sur un serveur est relativement simple par une ligne de commande avec atp-get.

apt-get install mysql-server-5.5

  • L'installation est faite, il nous reste plus qu'à paramétrer le serveur Mysql pour accepter que nous nous loguions dessus depuis une machine distante sur notre réseau local et interdisant les accès directe depuis le web.

5.1.2 - Postgresql server 9.1

  • Postgresql est un serveur de base de données relationnelles (SGBD) qui assez stable et robuste pouvant rivaliser face aux monstres comme Oracle ou Sql-server pour ne citer qu'eux dans le monde propriétaire. Postgresql est capable de fonctionner en mode cluster en réplication serveur à serveur sans perte de données.

5.2 - Les services du Web

De nos jours, les serveurs web s'articulent autour d'un serveur http Apache2 et d'un serveur de base de données Mysql (d'oracle)

  • Apache pour le service web.
  • Proftpd pour le service de transfert de fichier depuis et vers internet.
  • Postfix le serveur de mail et des éléments connexes comme le webmail.

5.3 - Les services interne du réseau

  • Openldap comme annuaire d'utilisateurs
  • Freeradius et kerberos pour la sécurisation ainsi que l'authentification.
  • Apt-mirror pour les distributions Debian, Mint, Ubuntu
  • Samba pour le service de partage de fichiers entre les réseaux (local et sans fils)

5.4 - Les services d'administration et de gestion d'un réseau

  • Webmin pour l'administration distante du cluster et de ses membres.
  • Nagios et centréon pour la supervision du réseau
  • Squid3 et Squidguard pour le filtrage des accès vers l'extérieur.
  • Snort la surveillance des intrusions venant du web et de la zone sans fils.