Réaliser une archive Moodle

Réaliser une archive Moodle

26 août 2020 Non Par nospheratus

En tant qu’admin système du Cluster Moodle, il nous revient de réaliser tous les ans, à la fin de chaque année scolaire, une archive de l’année écoulée. Ceci est utile afin de garder les anciens cours encore un an, mais également pour avoir une trace des différents examens ou documents ou mémoires réalisés et déposés sur la plateforme. En cas de recours, les établissements ont besoin de cette archive pour procurer au tribunal administratif les documents.

Je vais expliquer comment à partir de l’infra décrite ici http://blog.nosland.com/?p=719 je réalise cette archive.

Base de données

On réalise un dump de la base. Pour cela on se connecte sur l’un des nœuds du cluster Galera et on lance sous root :

mysqldump moodle > /var/dumpmoodle2020.sql

L’opération peut durer plusieurs minutes voir plusieurs heures.

Le serveur archive

Les frontaux sont virtualisés sur un système VMWare, ce qui rend leur duplication (clonage) très facile.
Ainsi on réalise un clone d’un frontal que l’on nomme Moodle_Archive.
Il convient ensuite de modifier la structure physique de la VM. Il faut en effet agrandir le disque ou en ajouter un de façon à ce que la taille du disque soit assez grande pour recevoir l’intégralité du dossier NFS « moodledata ».
On démarre le serveur et on alloue l’espace ajouté au volume groupe VG1 puis au livevolume /dev/mapper/opt
L’objectif est donc d’avoir une partition /opt assez large pour avoir en local le dossier moodledata.

Sur le serveur on effectue une copie de /opt/moodledata vers /opt/moodlearchives

cp –Rv /opt/moodledata /opt/dataarchives

L’opération va prendre beaucoup de temps. Surtout si vous avez un stockage important, cela peut prendre plusieurs heures de copie.

Lorsque l’ensemble des données ont été copiées, il faut désactiver le montage NFS du fstab : supprimer la ligne : 172.20.16.49:/opt/moodledata    /opt/moodledata nfs4    rw,user,exec 0 0

Ensuite on modifie le fichier /opt/public_html/config.php (ligne 117) :

$CFG->dataroot  = ‘/opt/moodledata’;   –> $CFG->dataroot  = ‘/opt/dataarchives’;

Pour finaliser l’opération, nous allons remplacer l’accès BDD du cluster par une connexion locale :

On désactive haproxy : systemctl stop haproxy.service && systemctl disable haproxy.service

On installe mariadb en local :

apt install dirmngr software-properties-common
apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository ‘deb [arch=amd64] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.4/debian buster main’
apt-get update
apt-get install mariadb-server

On importe ensuite le dump sql que l’on a réalisé plus tôt sur le cluster Galera :

mysql moodle < dumpmoodle2020.sql

Il suffit de relancer le serveur et l’archive sera opérationnel.