View Categories

Installation agent Linux

Introduction #

Cet agent Linux basé est basé sur rear et restic.

Installation et configuration #

Crontab #

Dans le contexte où la sauvegarde est orchestrée « de l’exterieur », par exemple avec un script tiers qui préparerait une base de donnée avant que nblinux la sauvegarde, il est possible de désactiver les fonctions de gestion de planification/crontab avec l’argument --skip-cron. Dans ce contexte, nblinux ne cherchera pas à avoir son propre lancement dans le cron du système.

Il est aussi possible d’utiliser une variable d’environnement  : NB_SKIP_CRON=true

Installation #

Pour installer l’agent sur un serveur Linux, connectez-vous à un superuser sur la machine et entrez les commandes suivantes :

wget li.nuabee.fr/nblinux
chmod +x nblinux
./nblinux

Ce premier lancement va permettre de paramétrer le compte de service, le stockage de destination, le mot de passe de chiffrement.

nblinux s’installe dans /usr/local/bin

Gestion des exclusions #

Lors de l’installation initiale, un éditeur s’ouvrire afin d’ajouter ajouter d’éventuelles exclusions de sauvegarde. Cette étape ouvre l’éditeur de texte par défaut de la machine pour permettre l’ajout, la modification ou la suppression des exclusions de sauvegarde. Un chemin doit être entré par ligne, et ces chemins peuvent comporter des astériques pour avoir des exclusions « wildcard », par exemple /srv/*.iso.

Configurer à nouveau #

Si une erreur a été faite lors de l’installation, il est possible de reconfigurer le tout en supprimant le fichier suivant : /usr/local/etc/nblinux.json et en lançant à nouveau :

nblinux

Utilisation après l’installation #

La documentation spécifique d’utilisation à jour de l’agent est disponible en tapant nblinux rear --help ou nblinux restic --help.
Voici une description des arguments :

Procédure complète manuelle #

Pour lancer manuellement la procédure complète incluant sauvegarde, lancez la commande suivante :

nblinux rear ...

Procédure de sauvegarde manuelle #

Pour lancer la procédure de sauvegarde uniquement, lancez la commande suivante :
nblinux rear --backuponly ...

Gestion des exclusions de sauvegarde #

Cette commande ouvre l’éditeur de texte par défaut de la machine pour permettre l’ajout, la modification ou la suppression des exclusions de sauvegarde. Un chemin doit être entré par ligne, et ces chemins peuvent comporter des astériques pour avoir des exclusions « wildcard », par exemple /srv/*.iso. Plus d’infos : https://restic.readthedocs.io/en/latest/040_backup.html#excluding-files
nblinux rear --edit-exclusions ...

Gestion des variables d’environnement #

Cette commande ouvre l’éditeur de texte par défaut de la machine pour permettre l’ajout, la modification ou la suppression de variables d’environnement supplémentaires. Chaque ligne est au format [CLÉ]=[VALEUR]. Si une des lignes est incorrectement formée, un message est affiché et la ligne en question est ignorée. Utilisez cette commande pour configurer un proxy web lors du backup. Une aide est disponible au sein de la commande dans l’éditeur de texte qui est ouvert.
nblinux --edit-env-vars

Limitation de la bande passante de sauvegarde #

Indique une limite de débit autorisée lors de la sauvegarde restic. Cette limite est exprimée en KiB par seconde. Cet argument peut être ajouté à la commande du cron afin de garder la limite de backup lors des exécutions planifiées.

nblinux rear --limit-upload 500 ...
Il est aussi possible d’utiliser une variable d’environnement : NB_BW_LIMIT=500

Contourner la gestion du crontab #

Dans le contexte où la sauvegarde est orchestrée « de l’exterieur », par exemple avec un script tiers qui préparerait une base de donnée avant que nblinux la sauvegarde, il est possible de désactiver les fonctions de gestion de planification/crontab avec l’argument --skip-cron. Dans ce contexte, nblinux ne cherchera pas à avoir son propre lancement dans le cron du système.

Il est aussi possible d’utiliser une variable d’environnement  : NB_SKIP_CRON=true

Pilotage direct de Restic #

L’agent nblinux a aussi la capacité de commander directement restic.
Ce mode là permet de sauvegarder spécifiquement certains répertoires, d’effectuer de la maintenance sur le repository, et ainsi de suite…
Tous les argument après une commande nblinux restic sera passée directement à restic. Par défaut cependant, nblinux va automatiquement configurer les accès au repository (Access key, secret key, access token, url de repository, mot de passe de chiffrement) ainsi que d’autres options de base pour le bon fonctionnement de restic sur le Cloud.
Il est possible de modifier le comportement via les arguments suivants :

Ne pas inclure le mot de passe de chiffrement configuré dans les paramètres de restic. Dans ce cas, il devra être spécifié via la variable d’environnement RESTIC_PASSWORD #

nblinux restic --without-encryption-password ...

Ne pas inclure les paramètres et URLs spécifiques à la destination de stokage auto-configurée #

nblinux restic --without-repository-location ...
Si ces deux arguments sont utilisés ensemble, la commandenblinux restic devient en pratique un simple wrapper pour restic supportant l’envoi de log vers Grafana.

Régler la fréquence de mise à jour d’affichage du progrès #

nblinux rear --progress-update-secs 10 ...
Régle la fréquence, en seconde, de l’afficage du progrès principalement dans les commandes de backup. Par défaut, ce réglage est à 5 secondes pour limiter les logs remontés à Grafana.

Il est aussi possible d’utiliser une variable d’environnement  : NB_RESTIC_PROGRESS_FREQ=true

Arguments avancés / Arguments de debug #

Pour des raisons de diagnostic, il existe les arguments suivants :
nblinux -d ...
Règle l’affichage des journaux en mode Debug. Nota : Les logs envoyés à Grafana sont DÉJÀ en niveau debug.
nblinux --keep-log ...
Indique de ne pas supprimer le fichier de log d’exécution en fin de programme. Par défaut, un fichier de log est créé dans /tmp/nb_linux.XXX.log, et en fin de programme est envoyé à Atlas avant d’être supprimé. Cet argument permet d’omettre la suppression du fichier.

Utilisation des UUID #

Il serait préférable d’utiliser le UUID de vos disques lorsqu’il est référencé dans le fichier /etc/fstab.
En effet, lorsque votre serveur est redémarré dans le cloud le chemin des répertoires, ex : /dev/sdb1 change et le serveur une fois redémarré ne trouve plus le disque.
Pour pallier cela il faut indiquer l’UUID (numéro de série) de votre disque à la place, qui lui ne change jamais.

Méthode pour modifier le UUID #

Pour changer cette entrée trouvez d’abord l’UUID de votre disque en tapant ‘blkid /dev/sdb1’ (ou chemin de votre disque)

Puis dans le fichier /etc/fstab remplacez /dev/sdb1 par UUID=XXXXXX

Prise de contact Nuabee

65, rue Hénon
69004 Lyon
France