Integrer un backup MFPF à Bacula

Intégrer un backup MFPF à Bacula, Softia vous explique point par point comment procéder.
Sur NAMEK, nous avons créer un lxc « mfpf-sshfs » (192.168.10.197) qui servira de FileDaemon bacula pour le NAS MFPF, car bacula-client n’est pas disponible sur Synology. Nous mettrons en place un partage sshfs sur le lxc, ainsi bacula pourra venir récupérer les fichiers sur ce lxc.

Premièrement, nous avons mis en place un tunnel SSH sur le LXC afin de forward le port ssh du NAS MFPF en passant par le Proxy MFPF

Fichier de config (en root):

~/.ssh/config

Host   
HostName               
User                 
Port               
IdentityFile       
LocalForward           
ServerAliveInterval
ServerAliveCountMax

Il faut bien évidemment rajouter la clé ssh id_rsa sur le proxy avec un ssh-copy ( en root toujours)

ssh-keygen # si ce n’est pas déjà fait
ssh-copy-id 

Nous automatisons au startup boot le tunnel ssh via systemd et autossh en créant un fichier:

/etc/systemd/system/autossh-mfpf-tunnel.service

[Unit]
Description=AutoSSH tunnel service everythingcli ssh mfpf on local port
After=network.target

[Service]
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -M 0 -T -N

[Install]
WantedBy=multi-user.targe

On lance le service et l’active au démarrage:

systemctl start autossh-mfpf-tunnel.service
systemctl enable autossh-mfpf-tunnel.service

Nous nous connectons au user bacula, ce qui est par default impossible puisque le shell est set à /bin/false, on effectue donc la commande suivante sur le LXC:

usermod -s /bin/bash bacula

puis rajoutons notre clé ssh au NAS MFPF, mais pour cela il faut d’abord corriger les permissions des dossiers SUR le NAS mfpf.

Nous rajoutons finalement la clé depuis le user bacula sur le lxc vers le NAS mfpf via le tunnel ssh:

ssh-keygen # si ce n'est pas déjà faiss
sh-copy-id -p



Puis nous installons sshfs sur le lxc.

apt-get install sshfs fuse libfuse-dev fusesmb samba

Cependant les containers lxc rencontrent des problèmes liés à fuse qui ne monte pas un certain device pourtant nécessaire à son fonctionnement lors de l’installation, les 2 lignes suivantes sont à rajouter sur proxmox dans le fichier de conf du container:

lxc.autodev: 1
lxc.hook.autodev: sh -c "mknod -m 0666 ${LXC_ROOTFS_MOUNT}/dev/fuse c 10 229"

Ce qui donne dans notre cas:

/etc/pve/lxc/134.conf

Désormais nous nous rendons sur bacula, configurons le job et n’oublions pas de monter le sshfs avant chaque backup:

/usr/bin/sshfs /volume1 -p -o IdentityFile=/var/lib/bacula/.ssh/id_rsa

Et d’umount après chaque backup

/bin/fusermount -u /volume1

Nous contacter !

Toutes nos publications sur Linkedin !

Leave a Comment