Bareos a forké Bacula en 2010 et a accumulé la plupart des fonctionnalités qui font qu”on regarde Bacula et qu”on se dit « ça respire 2005 ». Le format de fil est resté celui de Bacula, alors la migration est surtout mécanique, mais l”arborescence de configuration, la distribution des paquets et la WebUI fournie sont assez différentes pour qu”on sache ce qu”on installe. Cet article couvre une installation propre de Bareos sur Ubuntu 24.04 avec catalogue PostgreSQL, la WebUI, et les notes opérationnelles qu”on applique sur les mandats où Bareos est l”outil retenu.
Comment vérifier
Confirmer les paquets, les ports et la base de catalogue après installation :
systemctl status bareos-dir bareos-sd bareos-fd
ss -tlnp | grep -E ':(9101|9102|9103)\b'
sudo -u postgres psql -c "\l" | grep bareos
echo "list jobs" | bconsole | head
curl -sI http://localhost/bareos-webui/ | head -1
Les ports 9101/9102/9103 n”ont pas changé par rapport à Bacula. La commande bconsole est renommée bareos-bconsole sur certaines distributions ; sur Ubuntu elle reste bconsole. La WebUI est une application PHP distincte qui parle au Director via le même protocole que la console.
Ce qui se passe
Bareos est binairement incompatible avec Bacula au niveau des paquets mais largement compatible sur le fil. La configuration est passée d”un seul gros fichier par démon à une arborescence de répertoires sous /etc/bareos/bareos-dir.d/, /etc/bareos/bareos-sd.d/, /etc/bareos/bareos-fd.d/ avec une ressource par fichier dans des sous-répertoires comme client/, job/, pool/, storage/, fileset/. La gestion de configuration en devient nettement plus facile — Ansible peut déposer des fichiers dans job/ sans analyser un fichier monolithique de 6000 lignes.
Le backend du catalogue est par défaut PostgreSQL (le support MySQL de Bacula est essentiellement abandonné en amont). La WebUI est un paquet Apache/PHP distinct qui s”authentifie auprès du Director et donne aux opérateurs non-CLI un historique des tâches, un navigateur de restauration et une vue de l”état du stockage.
Migration depuis Bacula : le protocole est partagé, donc un Director Bareos peut piloter des File Daemons Bacula (et inversement) pendant une période de transition ; le schéma de catalogue diffère légèrement et est migré par update_bareos_tables. Nous avons fait plusieurs migrations Bacula → Bareos et la partie pénible est toujours la conversion de config — pas le protocole.
La procédure
-
Ajouter le dépôt Bareos pour Ubuntu 24.04. L”amont publie un dépôt par version ; utilisez la ligne LTS, pas l”instantané master.
. /etc/os-release wget -qO - "https://download.bareos.org/current/xUbuntu_${VERSION_ID}/Release.key" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/bareos.gpg echo "deb https://download.bareos.org/current/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/bareos.list apt update -
Installer les paquets Director, SD, FD, console et WebUI. Le paquet
bareos-database-postgresqltire les scripts de schéma.apt install -y bareos bareos-database-postgresql bareos-webui apache2 php-fpm postgresql -
Initialiser le catalogue. Le paquet livre un emballage qui gère la création du rôle, le schéma et les permissions d”un coup.
sudo su postgres -c "/usr/lib/bareos/scripts/create_bareos_database" sudo su postgres -c "/usr/lib/bareos/scripts/make_bareos_tables" sudo su postgres -c "/usr/lib/bareos/scripts/grant_bareos_privileges" -
Démarrer les trois démons et le frontal WebUI.
systemctl enable --now bareos-dir bareos-sd bareos-fd systemctl enable --now apache2 php8.3-fpm a2enconf bareos-webui systemctl reload apache2 -
Régler le mot de passe admin de la WebUI et se connecter. La WebUI utilise des comptes console définis dans
/etc/bareos/bareos-dir.d/console/. Créez une console admin avec le profil correspondant, réglez son mot de passe, puis connectez-vous àhttp://<hôte>/bareos-webui/.bconsole <<<'configure add console name=admin password="<depuis-coffre>" profile=webui-admin tlsenable=false' -
Lancer la tâche par défaut livrée pour prouver que la chaîne fonctionne de bout en bout. Les paquets livrent une tâche
BackupCatalogqui déverse le catalogue vers un pool disque local.bconsole <<<'run job=BackupCatalog yes' bconsole <<<'wait' bconsole <<<'list jobs' -
Remplacer la tâche par défaut
backup-bareos-fdpar la vraie charge de travail. Chaque fichier de ressource dans/etc/bareos/bareos-dir.d/job/est une tâche ; ajoutez de nouveaux clients via des fichiers dansclient/; rechargez avecbconsole <<<'reload'après chaque changement.
Pièges courants
- Le paquet
bareos-database-postgresqlà lui seul ne crée pas le rôle DB — vous devez exécuter le scriptcreate_bareos_databaseen tant qu”utilisateurpostgres. Sauter cette étape laisse le Director incapable de démarrer avec une erreur de connexion confuse. - La WebUI exige ses propres comptes console ; se connecter avec un mot de passe de console CLI échoue silencieusement parce que le profil WebUI manque les ACL nécessaires.
- Le répertoire de configuration éclaté signifie qu”un fichier syntaxiquement cassé n”importe où sous
/etc/bareos/bareos-dir.d/empêche le Director de démarrer.bareos-dir -tvérifie l”arborescence complète avant un rechargement. - Le chemin de mise à jour Bacula (poser les paquets Bareos par-dessus Bacula) n”est pas supporté par l”amont Bacula et pas non plus endossé par Bareos. Faites une installation parallèle, migrez le catalogue séparément.
- TLS est toujours désactivé par défaut entre démons. Générez les certificats et activez
Tls Enable = yesdans chaque paire avant d”exposer le SD à travers les réseaux.
Dans les mandats que nous menons, Bareos est le choix quand un client a besoin de l”histoire bandes et longue rétention de Bacula sans la stagnation amont. La configuration en arborescence s”insère naturellement dans Ansible ou Salt, la WebUI donne au support un navigateur de restauration en libre-service, et l”histoire de migration depuis Bacula est bien rodée. Nous traitons la base de catalogue et la sortie de fichier d”amorçage comme des données de production de premier rang, avec leur propre réplication et leurs propres copies hors site. Le motif est détaillé aux côtés d”autres outils de sauvegarde dans notre base de connaissances, et le modèle d”opération qu”on enroule autour est à /en/services/managed-operations/.