Aller au contenu principal

Installer l'agent sur Linux

Ce que fait la commande d'installation​

Le portail donne une commande d'une seule ligne. Vous la lancez en root sur la machine. Elle fait tout, dans cet ordre :

  1. Elle télécharge le script d'installation depuis le serveur BaaStide, en HTTPS.
  2. Elle télécharge l'agent de la version publiée, et le manifeste de cette version.
  3. Elle vérifie la taille et l'empreinte SHA-256 de l'agent téléchargé. Un fichier abîmé arrête l'installation.
  4. Elle installe l'agent dans /usr/local/bin/baastide, le garde de démarrage dans /usr/lib/baastide/start-guard et l'unité systemd dans /etc/systemd/system/baastide.service.
  5. Elle crée /etc/baastide et /var/lib/baastide, lisibles par root seul.
  6. Elle enrôle la machine avec votre jeton d'enrôlement, et écrit l'identité dans /etc/baastide/agent.conf.
  7. Elle active le service, puis elle le démarre.

La commande écrit une ligne par étape. Elle finit par install: agent baastide <version> installed and started (systemctl status baastide).

Quand une étape échoue, la commande s'arrête tout de suite. Elle écrit la cause sur une seule ligne, qui commence par install:.

Prérequis​

  • Linux x86-64, avec systemd, curl et sha256sum. Voir Avant d'installer.
  • Un accès root sur la machine.
  • Un accès HTTPS sortant vers le serveur BaaStide, port 443.
  • Un jeton d'enrôlement, créé dans le portail. Voir Créer un jeton d'enrôlement.

Installer l'agent​

  1. Créez le jeton d'enrôlement dans le portail. Copiez la commande Linux : à lancer en root sur la machine.

  2. Ouvrez une session sur la machine.

  3. Devenez root. Par exemple, lancez sudo -i.

  4. Collez la commande, puis lancez-la. Elle a cette forme :

    curl -fsSL 'https://<serveur>/install.sh' | BAASTIDE_ENROLL_TOKEN='<jeton>' sh -s -- --server 'https://<serveur>'

    Prenez toujours la commande du portail. Elle porte l'adresse de votre serveur et votre jeton. Quand votre MSP a changé les noms de l'agent, l'adresse du script et celle du serveur sont celles de votre MSP.

  5. Attendez la fin de la commande. Elle écrit une ligne par étape.

  6. Lisez la dernière ligne. Elle doit dire installed and started.

L'agent ouvre ensuite sa connexion vers le serveur. La machine apparaît dans les endpoints du client, avec l'état En ligne.

Vérifier l'installation​

Lancez ces commandes sur la machine, en root.

  1. systemctl is-active baastide : la réponse doit être active.
  2. systemctl is-enabled baastide : la réponse doit être enabled. Le service redémarre alors avec la machine.
  3. baastide version : la commande donne la version de l'agent installé.
  4. journalctl -u baastide -n 50 : lisez les dernières lignes du journal. Elles ne doivent porter aucune erreur de connexion.
  5. ls -l /etc/baastide/agent.conf : le fichier existe, et il appartient à root.

Vérifiez aussi dans le portail :

  1. Ouvrez la fiche du client.
  2. Trouvez la machine dans ses endpoints.
  3. Lisez son état. Il doit être En ligne.

Une machine qui reste Hors ligne n'a pas de connexion sortante vers le serveur. Reprenez la section « Accès réseau sortant » de Avant d'installer.

Installer sans les scripts de sauvegarde​

Une politique de sauvegarde lance des scripts avant et après une sauvegarde. Vous coupez ces scripts sur une machine dès l'installation.

  1. Copiez la commande du portail.
  2. Ajoutez --no-scripts à la fin de la commande.
  3. Lancez la commande en root.

Sans cette option, l'installation ne change pas le choix courant de la machine. Une machine neuve accepte les scripts.

Réinstaller les fichiers de l'agent​

Cette procédure remet les fichiers de l'agent en place, et garde l'identité de la machine. Elle sert après la perte d'un fichier de l'agent, ou pour revenir à l'unité systemd d'origine.

  1. Ouvrez une session sur la machine, en root.

  2. Lancez le script d'installation sans le jeton d'enrôlement :

    curl -fsSL 'https://<serveur>/install.sh' | sh -s -- --server 'https://<serveur>'

    Prenez l'adresse du serveur dans la commande que le portail affiche.

  3. Lisez la sortie. Elle doit dire install: /etc/baastide/agent.conf exists, keeping the current identity.

Ne relancez pas la commande complète du portail : elle porte un jeton, et ce jeton ne sert qu'une fois. L'installation irait jusqu'à l'enrôlement, puis elle échouerait.

Piloter le service​

L'agent tourne dans l'unité systemd baastide.service. Elle démarre après le réseau, et elle démarre avec la machine.

ActionCommande
Lire l'état du servicesystemctl status baastide
Lire le journaljournalctl -u baastide
Suivre le journal en directjournalctl -u baastide -f
Redémarrer le servicesystemctl restart baastide
Arrêter le servicesystemctl stop baastide
Démarrer le servicesystemctl start baastide

Le service redémarre tout seul 10 secondes après un arrêt en erreur.

Un arrêt du service arrête aussi les sauvegardes de la machine. L'agent annule la tâche en cours quand il s'arrête. Le portail signale alors la machine Hors ligne.

Limites et précautions​

  • L'agent Linux tourne sur x86-64 seulement. L'installation s'arrête sur une autre architecture.
  • systemd est obligatoire. L'installation s'arrête sans systemctl.
  • curl et sha256sum sont obligatoires. L'installation s'arrête quand l'un des deux manque.
  • La commande du portail contient toujours un jeton d'enrôlement. Ne la relancez pas, et ne la gardez pas dans un fichier.
  • Le service tourne en root. L'agent lit ainsi tous les fichiers de la machine, et il restaure les fichiers avec leurs droits.
  • Ne modifiez pas /etc/systemd/system/baastide.service : une mise à jour de l'agent remet l'unité d'origine. Pour un réglage propre à une machine, ajoutez un fichier dans /etc/systemd/system/baastide.service.d/. L'agent ne touche pas à ces fichiers.
  • Une version de systemd antérieure à la 236 reçoit un fichier de réglage en plus, /etc/systemd/system/baastide.service.d/systemd-before-236.conf. L'installation le pose seule. Ne le retirez pas.
  • L'enrôlement est refusé quand une autre machine active du même client porte déjà le même identifiant machine. Une machine clonée garde l'identifiant de son modèle. Donnez-lui un nouvel identifiant avec systemd-machine-id-setup avant d'installer l'agent.
  • Un refus du serveur n'est jamais réessayé. La commande s'arrête, et elle écrit la cause.
  • L'agent se met à jour tout seul. Il revient à la version précédente quand la nouvelle ne démarre pas. Ne remplacez pas /usr/local/bin/baastide à la main.

Référence​