
Réaliser une archive Moodle
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.