SME-101.09: Supplément: SME & BackupPC-4.2

From SME Server
Jump to: navigation, search

Contents

Description générale

Ce Cahier-9 du Cours SME-101 décrit: l'installation de BackupPC-4.2, les sauvegardes de l'hôte de BackupPC et du serveur SOURCE et enfin la restauration de la sauvegarde complète du Serveur SME SOURCE sur le Serveur SME DESTINATION pour que ce dernier devienne un clone du premier.

Référence: https://fr.wikipedia.org/wiki/BackupPC.

BackupPC est un logiciel de sauvegarde de systèmes de fichiers publié sous licence GPL. Il est utilisé pour sauvegarder sur disque un ensemble de postes clients et de serveurs sous: Unix, Linux, Windows ou Mac OS X. Les protocoles utilisables pour les transferts sont: SMB, tar over SSH/rsh/nfs, et rsync. Il ne nécessite l'installation d'aucun logiciel client sur les machines à sauvegarder. Il possède une interface Web pour lancer des sauvegardes ou restaurer des fichiers. Il est également possible de sauvegarder des bases de données via un script shell lancé avant la sauvegarde.


But final de ce cahier

Le but final est de migrer le serveur SOURCE vers le serveur DESTINATION.

  • BackupPC est le serveur qui roulera BackupPC et qui entreposera les sauvegardes sur son deuxième disque.
  • SOURCE est le Serveur SME-9.2 dont on fera une sauvegarde Complète et deux Incrémentielles.
  • DESTINATION est un Serveur SME-9.2 sur lequel on restaurera la sauvegarde du serveur SOURCE et ainsi il en deviendra un clone parfait.
  • Micronator-101.org est un Serveur SME-9.2 qui sert de pare-feu et de passerelle Internet pour tout le réseau.
001-BPC-ButFinal.png


Prérequis

Serveur SME-9.2

  • Pour l'installation d'un Serveur SME-9.2, voir: SME-101.02 Serveur SME.
  • Le Cahier-2 du cours SME-101 décrit aussi l'installation de VirtualBox et la création d'une machine virtuelle SME-9.2.
  • Installation des dernières mises à jour SME-9.2.

Disque de sauvegarde

  • Disque de sauvegarde: un volume dédié est recommandé (peut être un simple disque unique ou des disques en RAID).

Logiciels prérequis

Machine virtuelle

Ce document utilise des machines virtuelles roulant SME-9.2 sous VirtualBox. La marche à suivre pour l'installation de BackupPC sur un Serveur SME physique est exactement la même.


Installation

Serveur BackupPC

Une machine virtuelle, sous VirtualBox, roulant un Serveur SME-9.2. La marche à suivre pour l'installation sur un Serveur SME physique est exactement la même.

Les dernières mises à jour SME-9.2 ont été installées.

Un deuxième disque à été créé pour recevoir les sauvegardes. Il n'est que de 20Go mais est amplement suffisant pour cette démonstration.

Icone-AsurveillerAPT.png  Si vous créez le disque de stockage des sauvegardes trop petit, BackupPC pourrait manquer d'inodes pour la création de liens.

Ce document utilise trois machines virtuelles, sous VirtualBox, roulant toutes un Serveur SME-9.2.

Les marches à suivre pour des sauvegardes de Serveurs SME physiques sont exactement les mêmes.


Paramètres SSH de tous les serveurs

Vu que:

  1. Les sauvegardes se font à travers une connexion SSH afin que personne ne puisse copier les données en transit.
  2. L'usager qui lit les fichiers à être sauvegardés doit être root car, il est le seul qui peut lire tous les fichiers sans exception.

Il faut donc autoriser les connexions SSH pour l'usager root.

Gestionnaire Server Manager > Accès à distance > Paramètres SSH.
002-BPC-ParamSSH.png


  • Accès par terminal sécurisé (SSH)
    Si tous vos serveurs sont sur le réseau local, choisissez N'autoriser l'accès que depuis les réseaux locaux sinon, choisissez Autoriser l'accès complet (LAN et Internet).
  • Autoriser l'administrateur à se connecter au serveur par SSH
    Oui obligatoirement car, seul root peut lire tous les fichiers à sauvegarder.
  • Autoriser l'authentification par SSH à l'aide de mots de passe standards
    Oui car quelquefois, on pourrait devoir accéder au serveur pour corriger un trouble quelconque.
    BackupPC utilise une clé publique SSH créée par l'usager backuppc pour se connecter sans avoir à fournir de mot de passe.
  • Port TCP pour l'accès SSH
    On utilise le port 2222 afin de dérouter un peu plus les indésirables.


Disque de stockage des sauvegardes

Création d'une partition principale sur le disque de stockage

Icone-AstuceAPT.png  Les sauvegardes devraient toujours être sur un volume séparé.

On prépare un disque dur avec un système de fichiers ext4 (on peut utiliser tous les systèmes de fichiers qui sont supportés; nous utilisons ext4 car, il autorise plus d'inodes).

Dans ce document, on utilise un disque entier ayant une simple partition primaire: /dev/sdb1. On pourrait utiliser une matrice RAID ou un volume logique (LVM, ou une combinaison de RAID et LVM). Si vous connaissez la gestion LVM, son utilisation est également recommandée car, plus tard, il sera plus facile de gérer les données des sauvegardes.

Recherche du dispositif[1] (device) du disque de stockage des futures sauvegardes.

# cat /proc/partitions
major minor  #blocks  name

   8       16   20971520 sdb
   8        0    8388608 sda
   8        1     256000 sda1
   8        2    8131584 sda2
   9        1    8127488 md1
 253        0    7286784 dm-0
 253        1     835584 dm-1
   9        0     255936 md0

* Le disque est /dev/sdb.


On lance fdisk pour la création de la partition.

# fdisk /dev/sdb


On vérifie s'il existe déjà une partition, "p".

p  [Entrée]
Disque /dev/sdb: 21.5 Go, 21474836480 octets
255 têtes, 63 secteurs/piste, 2610 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identifiant de disque : 0x51550b50

Périphérique Amorce  Début        Fin      Blocs     Id  Système

Commande (m pour l'aide):

* Il n'y a pas de partition sur le disque. S'il y en avait une, on la supprimerait avec d (delete / supprimer la partition).


On crée la partition, on entre: n, p, 1, les choix par défaut pour le premier et le dernier cylindre.

On enregistre les nouveaux paramètres et on quitte wq (write and quit).

On vérifie.

# cat /proc/partitions
major minor  #blocks  name

   8       16   20971520 sdb
   8       17   20964793 sdb1
   8        0    8388608 sda
   8        1     256000 sda1
   8        2    8131584 sda2
   9        1    8127488 md1
 253        0    7286784 dm-0
 253        1     835584 dm-1
   9        0     255936 md0


Création du système de fichiers ext4 dans la partition sdb1

Remarque sur les inodes: En plus de l'espace disque total, vous devez vous assurer que vous avez beaucoup d'inodes sur votre partition de données de BackupPC. Certains utilisateurs ont signalé l'épuisement des inodes sur leur partition de données de BackupPC. Par conséquent, même si vous disposez de suffisamment d'espace disque, BackupPC signale un échec lorsque les inodes sont épuisés. C'est un problème particulier avec les systèmes de fichiers ext2 et /ext3 qui ont un nombre fixe d'inodes lors de la construction du système de fichiers. Utilisez df -i pour voir votre utilisation d'inodes.

Pour notre machine, avec un système de fichiers créé en ext3 sans l'utilisation du paramètre -i, le nombre d'inodes était de seulement 1 310 720.

Icone-AsurveillerAPT.png  BackupPC utilise un très grand nombre de liens. Une partition Ext4 sur un système 64 bits peut avoir 2^64 ou 64bits inodes; ce qui représente 1.2470298e+28 inodes.

Depuis la version BackupPC-4, il n'y a plus d'utilisation de liens physiques (sauf temporairement pour faire des renoms atomiques). Le comptage des références est géré en batch au niveau de l'application. (Les "hardlinks" resteront toujours pour toutes les sauvegardes héritées des versions BackupPC-3.)

Voici, sur un système déjà existant, les infos de l'espace disque et du nombre d'inodes utilisés par la partition principale.


Espace disque

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/main-root
                      6,8G  3,5G  2,9G  55% /
tmpfs                 1,9G     0  1,9G   0% /dev/shm
/dev/md0              239M   77M  150M  34% /boot

* Environ 3.5 Go d'espace disque est utilisé.


Nombre d'inodes

# df -i
Filesystem            Inodes  IUsed  IFree IUse% Mounted on
/dev/mapper/main-root
                     456064 155019 301045   34% /
tmpfs                490294      1 490293    1% /dev/shm
/dev/md0              64000     54  63946    1% /boot
  • Comme on le voit ci-dessus, le nombre d'inodes utilisés est de 155 019 pour 3.5 Go d'espace disque utilisé.
  • Pour notre disque de 20 Go avec BackupPC, on prendra au minimum 10 fois plus d'inodes, environ 1 500 000. (Bien au dessus du maximum pour une partition ext3 de 20 Go créé de manière standard.)
  • Prendre en considération: plus d'inodes et plus il faudra de temps pour créer le système de fichiers.
  • D'autres systèmes de fichiers tels que btrfs peuvent créer des inodes de manière dynamique; à vous de choisir...


Paramètres de la commande mkfs.ext4

-N nombre d'inodes

Ce paramètre remplace le calcul par défaut du nombre d'inodes qui devrait être réservés pour le système de fichiers (basé sur le nombre de blocs et le ratio octets par inode). Il permet à l'utilisateur de spécifier directement le nombre d'inodes désirés.

Icone-AsurveillerAPT.png  Si on spécifie un nombre d'inodes trop grand, mke2fs donnera une erreur et ne créera pas le système de fichiers.


-b block-size

Spécifie, en octets, la taille des blocs. Les tailles valides sont: 1024, 2048 et 4096 octets par bloc. Si omis, la taille d'un bloc est déterminé de manière heuristique par la taille et l'utilisation du système de fichiers (voir le paramètre -T).

Si la taille d'un bloc est négative, alors mke2fs utilisera l'heuristique pour déterminer le taille d'un bloc avec la contrainte que la taille d'un bloc sera au moins de block-size octets.

* Utile pour certains périphériques matériels qui exigent que la taille des blocs soit un multiple de 2k.

Icone-NoteAPT.png  BackupPC utilise un très grand nombre de liens, une longueur de bloc de 1024 est plus profitable.


-L nom_nouveau_volume

Configure l'étiquette (Label) du système de fichiers à nom_nouveau_volume. La taille maximale du nom est de 16 octets.


-m pourcentage_blocs_réservés

Indique le pourcentage de blocs du système de fichiers réservés pour le superutilisateur. Permet d'éviter la fragmentation. Permet aussi aux démons lancés par le superutilisateur, comme syslogd(8), de continuer à fonctionner correctement après que les processus non privilégiés ne soient plus autorisés à écrire sur le système de fichiers. La valeur par défaut est de 5 (5%).


Pour notre exemple, on crée un système de fichiers ext4 sur le nouveau volume /dev/sdb1.

# mkfs.ext4  -L SAUVEGARDE  -b 1024  -N 15000000  -m 1 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Avertissement : 1463 blocs inutilisés.

Étiquette de système de fichiers=SAUVEGARDE
Type de système d'exploitation : Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
« Stride » = 0 blocs, « Stripe width » = 0 blocs
15005976 i-noeuds, 20963329 blocs
209647 blocs (1.00%) réservés pour le super utilisateur
Premier bloc de données=1
Nombre maximum de blocs du système de fichiers=88080384
2559 groupes de blocs
8192 blocs par groupe, 8192 fragments par groupe
5864 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553,
        1024001, 1990657, 2809857, 5120001, 5971969, 17915905, 19668993

Écriture des tables d'i-noeuds : complété
Création du journal (32768 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété

Le système de fichiers sera automatiquement vérifié tous les 30 montages ou
après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
pour écraser la valeur.


Montage du nouveau volume

Point de montage

On crée un point de montage (répertoire) pour le nouveau volume.

# mkdir -p /var/lib/BackupPC


Ajout dans fstab

On ajoute (>>) le point de montage dans /etc/fstab afin que le volume soit monté automatiquement à tous les amorçages.

Icone-AsurveillerAPT.png  Prendre tout le contenu de l'encadré pour la commande.

cat >> /etc/fstab <<'EOT'
# Pour le volume de stockage des sauvegardes de BackupPC
/dev/sdb1               /var/lib/BackupPC       ext4    noatime         0 0

EOT


On vérifie.

# tail -n 5 /etc/fstab


Montage du volume dans /var/lib/BackupPC

On remonte tous les volumes en relisant fstab à l'aide de la commande mount -a.

# mount -a


On vérifie avec mount...

# mount | grep BackupPC


... et avec df.

# df -h


Icone-AsurveillerAPT.png    Pour le même volume sans spécifier le nombre d'inodes, la quantité d'espace disque est un peu plus grande.

/dev/sdb1 20G 4,3M 20G 1% /var/lib/BackupPC


Espace disque en spécifiant le nombre d'inodes.

/dev/sdb1 17G 4,3M 17G 1% /var/lib/BackupPC
  • La différence réside dans l'espace réservé pour le stockage de la table des inodes.


Création des liens symboliques

Cette partie est facultative mais recommandée.

Icone-AstuceAPT.png  Avec l'ajout de nouveaux liens, tous les fichiers liés à BackupPC (config et journaux) seront stockés sur le volume SAUVEGARDE. Vous serez alors en mesure d'échanger le disque SAUVEGARDE entre deux serveurs de sauvegardes.

On crée les sous-répertoires etc et log dans le répertoire /var/lib/BackupPC/.

# mkdir -p /var/lib/BackupPC/{etc,log}


Pour les configurations, on crée un lien /etc/BackupPC qui pointe vers /var/lib/BackupPC/etc.

# ln -s /var/lib/BackupPC/etc /etc/BackupPC


Pour les journaux, on crée un lien /var/log/BackupPC qui pointe vers /var/lib/BackupPC/log.

# ln -s /var/lib/BackupPC/log /var/log/BackupPC


Installation de la Contrib BackupPC

Dépôt de logiciels

Référence: https://wiki.contribs.org/Fws.

Installation du dépôt de logiciels fws.

Icone-AsurveillerAPT.png  Prendre tout le contenu de l'encadré pour la commande.

db yum_repositories set fws repository  \
BaseURL http://repo.firewall-services.com/centos/\$releasever \
EnableGroups no GPGCheck yes  \
Name "Firewall Services"  \
GPGKey http://repo.firewall-services.com/RPM-GPG-KEY  \
Visible no  \
status disabled


On signale le changement à yum.

# signal-event yum-modify


Installation de la Contribs

Nous installons la contribution BackupPC-4 et les ajouts pour les Serveurs SME.

# yum -y --enablerepo=smecontribs,fws install BackupPC4 smeserver-BackupPC


Signalisation de toutes les modifications

Signalisation sans réamorçage.

# signal-event backuppc-update


Signalisation traditionnelle avec réamorçage.

# signal-event post-upgrade ; signal-event reboot


AutoBlock

Référence: https://wiki.contribs.org/BackupPC#Known_Issues.

Si on essaie de sauvegarder un Serveur SME distant, on risque de rencontrer une erreur ou un dépassement du délai d'attente de ssh dû à la fonction AutoBlock de sshd.

Bogue: https://bugs.contribs.org/show_bug.cgi?id=9893.

Le message ci-dessous apparaîtra dans le journal de la machine BackupPC du serveur en question.

Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out


Le problème vient du paramètre AutoBlock=enabled de sshd.

Icone-NoteAPT.png  Pour une description détaillée d'AutoBlock, voir la section: #sshd & AutoBlock.

On pourrait ouvrir une connexion sur le serveur distant et désactiver manuellement le paramètre AutoBlock. Une fois la sauvegarde terminée, il faudrait se reconnecter au serveur distant et réactiver AutoBlock. De plus, il faudrait le faire à chaque sauvegarde et pour tous les serveurs. Cette solution n'est donc pas très pratique.

Icone-AstuceAPT.png  Nous allons nous occuper d'AutoBlock avec les scripts pré/post-sauvegarde ci-dessous.


Contribution Fail2Ban

Lorsqu'on désactive la variable AutoBlock, le Serveur SME n'empêche plus les tentatives de connexions SSH infructueuses. Les tentatives peuvent ainsi se poursuivre tout au long de la sauvegarde.

Icone-AsurveillerAPT.png  Pour remédier à cette situation, on peut installer la contribution Fail2ban qui elle, bannira les adresses IP des instigateurs de ces tentatives.

Pour l'installation de Fail2ban, voir: https://www.micronator.org/affaires/produit/sme-9-x8-x-fail2ban/.


Scripts pré/post-sauvegarde

Derscription

  • Au début d'une sauvegarde, un Serveur SME nécessite une commande pré-sauvegarde signal-event pre-backup pour manipuler les bases de données afin qu'elles deviennent disponibles pour être sauvegardées.
  • À la fin de la sauvegarde, le serveur nécessite une commande post-sauvegarde signal-event post-backup pour remettre les bases de données dans leur état initial.
  • BackupPC fournit une variable $Conf{DumpPreUserCmd} pour exécuter une commande pré-sauvegarde et $Conf{DumpPostUserCmd} pour une commande post-sauvegarde.
  • BackupPC fournit deux paramètres aux commandes pré-sauvegarde et post-sauvegarde:
    $sshPath - le chemin de la commande ssh (Pour les Serveurs SME, le chemin de cette commande est toujours le même: /usr/bin/ssh).
    $host - variable qu'utilise BackuPC pour sauvegarder le nom ou l'IP du serveur à être sauvegardé.


Fail2ban

Icone-AsurveillerAPT.png  Vu que ce ne sont pas tous les Serveurs SME qui roulent Fail2ban, les scripts de pré/post-sauvegarde présentés dans cette section s'occupent de désactiver AutoBlock avant la sauvegarde et de la réactiver après la sauvegarde.

Icone-AstuceAPT.png  Si certains Serveurs SME roulent Fail2ban, AutoBlock est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas ces scripts de pré/post-sauvegarde. Voir les paragraphes: #Variable DumpPreUserCmd et #Variable DumpPostUserCmd.


Répertoire de stockage des scripts

Nous créons un répertoire pour stocker nos scripts.

# mkdir /var/lib/BackupPC/script


On ajuste le propriétaire et le groupe.

# chown backuppc:backuppc /var/lib/BackupPC/script


On ajuste les droits.

# chmod 750 /var/lib/BackupPC/script


Script pre-sauvegarde.sh

Icone-NoteAPT.png  Prendre tout le contenu de l'encadré pour générer le script dans le fichier pre-sauvegarde.sh.

cat > /var/lib/BackupPC/script/pre-sauvegarde.sh <<'EOT'
#!/bin/sh

#-------------------------------------------
# /var/lib/BackupPC/script/pre-sauvegarde.sh
#
# Michel-André, 2018-05-06_09h50
#-------------------------------------------

# Désactivation d'AutoBlock
/usr/bin/ssh -l root $1 "config setprop sshd AutoBlock disabled; /sbin/e-smith/signal-event remoteaccess-update"
 
# Pause de BackupPC
/bin/sleep 45

# Le test ci-dessous va écrire le statut de la propriété AutoBlock dans le journal.
# Output from DumpPreUserCmd:     AutoBlock=disabled
# ou
# Output from DumpPreUserCmd:     AutoBlock=enabled
if  ( ! (/usr/bin/ssh -l root $1 config show sshd | grep  'AutoBlock=disabled') )
    then
        /bin/mail -s "AutoBlock=disabled NON FONCTIONNEL, arrêt des sauvegardes de la machine $1 pour 24 heures" admin@micronator-101.org < /dev/null

#    Arrêt de la sauvegarde en cours et désactivation des sauvegardes de cette machine pour 24 heures.
#
#    Référence: https://www.mail-archive.com/backuppc-users@lists.sourceforge.net/msg10075.html
#    BackupPC_serverMesg stop HOST REQ_USER BACKOFF
#    HOST is the host to cancel, REQ_USER is the requesting user (just for log purposes) and BACKOFF is the backoff time in hours.
#
    /usr/share/BackupPC/bin/BackupPC_serverMesg stop $1 backuppc 24
fi

# pre-backup
/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup"

# Pause de BackupPC
/bin/sleep 15

EOT


On ajuste le propriétaire et le groupe du script.

# chown backuppc:backuppc /var/lib/BackupPC/script/pre-sauvegarde.sh


On ajuste les droits.

# chmod 550 /var/lib/BackupPC/script/pre-sauvegarde.sh


Variable $Conf{DumpPreUserCmd}

Choisir l'Hôte > Modifier la configuration > onglet Paramètres de sauvegarde > cadre Commandes des usagers.
/var/lib/BackupPC/script/pre-sauvegarde.sh $host
005-BPC-DumpPreUserCmd.png
  • Le chemin et le nom du script de pré-sauvegarde:   /var/lib/BackupPC/script/pre-sauvegarde.sh.
  • Le nom ou l'IP (de la machine à être sauvegardée: $host) qu'on passe en paramètre au script.


Icone-AstuceAPT.png  Si certains Serveurs SME roulent Fail2ban, AutoBlock est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas le script de pré-sauvegarde; on entre plutôt directement la commande suivante dans la variable DumpPreUserCmd:

/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event pre-backup ; /bin/sleep 15" $host


Script post-sauvegarde.sh

Icone-NoteAPT.png  Prendre tout le contenu de l'encadré pour générer le script dans le fichier post-sauvegarde.sh.

cat > /var/lib/BackupPC/script/post-sauvegarde.sh <<'EOT'
#!/bin/sh

#--------------------------------------------
# /var/lib/BackupPC/script/post-sauvegarde.sh
#
# Michel-André, 2018-05-06_09h58
#--------------------------------------------

# Commande post-backup
/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup"

# Pause de BackupPC
/bin/sleep 15

# Activation d'AutoBlock
/usr/bin/ssh -l root $1 "config setprop sshd AutoBlock enabled; /sbin/e-smith/signal-event remoteaccess-update"

# Pause de BackupPC
/bin/sleep 45

# Le test ci-desous va écrire le statut de AutoBlock dans le journal.
# Output from DumpPreUserCmd:     AutoBlock=disabled
# ou
# Output from DumpPreUserCmd:     AutoBlock=enabled

if  ( ! (/usr/bin/ssh -l root $1 config show sshd | grep  'AutoBlock=enabled') )
    then
        /bin/mail -s "AutoBlock=ensabled NON FONCTIONNEL. Vérifiez le paramètre de la machine $1 s.v.p." admin@micronator-101.org < /dev/null
fi

EOT


On ajuste le propriétaire et le groupe du script.

# chown backuppc:backuppc  /var/lib/BackupPC/script/post-sauvegarde.sh


On ajuste les droits.

# chmod 550  /var/lib/BackupPC/script/post-sauvegarde.sh


On vérifie.

# ls -lsd /var/lib/BackupPC/script/post-sauvegarde.sh


Variable $Conf{DumpPostUserCmd}

Choisir l'Hôte > Modifier la configuration > onglet Paramètres de sauvegarde > cadre Commandes des usagers.
/var/lib/BackupPC/script/post-sauvegarde.sh $host
009-BPC-DumpPostUserCmd.png

Icone-AstuceAPT.png  Si certains Serveurs SME roulent Fail2ban, AutoBlock est désactivé en permanence et c'est Fail2ban qui le remplace. Pour ces serveurs particuliers, on n'utilise pas le script de post-sauvegarde; on entre plutôt directement la commande suivante dans la variable DumpPostUserCmd:

/usr/bin/ssh -l root $1 "/sbin/e-smith/signal-event post-backup ; /bin/sleep 15" $host


Clé SSH de BackupPC

BackupPC doit générer une clé SSH, qu'on téléversera sur les machines à sauvegarder, afin qu'il puisse ouvrir un canal de communication SSH sans avoir à fournir de mot de passe.


Usager backuppc

L'installation de BackupPC a créé l'usager backuppc.

# cat /etc/passwd | grep backuppc
backuppc:x:393:393::/var/lib/BackupPC:/sbin/nologin


Génération de la clé SSH

On se substitue à l'usager backuppc.

# su -s /bin/bash backuppc


On génère une clé SSH de type RSA et de 2048 bits.

  • On accepte le nom du fichier par défaut en tapant la touche [Entrée].
  • On n'utilise pas de phrase de passe[2] en tapant la touche [Entrée].
  • On confirme en tapant encore la touche [Entrée].
# ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/BackupPC/.ssh/id_rsa): [Entrée]
Created directory '/var/lib/BackupPC/.ssh'.
Enter passphrase (empty for no passphrase): [Entrée]
Enter same passphrase again: [Entrée]
Your identification has been saved in /var/lib/BackupPC/.ssh/id_rsa.
Your public key has been saved in /var/lib/BackupPC/.ssh/id_rsa.pub.
The key fingerprint is:
a9:cb:44:f6:1a:ec:df:aa:1a:85:69:30:a5:5e:b6:5e backuppc@sme-9
The key's randomart image is:
+--[ RSA 2048]----+
|   .....         |
|   ...o.         |
| o....  .        |
|ooB      .       |
|++++    S        |
|+*oo             |
|.E=              |
|.  .             |
|                 |
+-----------------+


On vérifie.

ls -ls /var/lib/BackupPC/.ssh/
2 -rw------- 1 backuppc backuppc 1675 28 avril 10:30 id_rsa
1 -rw-r--r-- 1 backuppc backuppc  396 28 avril 10:30 id_rsa.pub

Icone-AsurveillerAPT.png  La clé id_rsa est la clé privée qui doit toujours être cachée et n'être divulguée à absolument personne.

La clé id_rsa.pub est la clé publique et peut être partagée avec n'importe qui. Elle sert à chiffrer un message qui vous est destiné et que seule votre clé privée peut déchiffrer.


Différence entre les jeux de clés SSH

Jeu SSH pour BackupPC

  • Ce jeu de clés SSH servira uniquement pour les communications SSH entre les clients des sauvegardes et le serveur BackupPC. Ce jeu se trouve dans le répertoire /var/lib/BackupPC/.ssh et comprend: ssh/id_rsa et id_rsa.pub.

Jeu SSH du Serveur SME

  • Le jeu de clés SSH standard d'un Serveur SME se trouve dans le répertoire /etc/ssh/ et comprend: ssh_host_rsa_key et ssh_host_rsa_key.pub.


Téléversement de la clé SSH publique de BackupPC

Étant toujours l'usager backuppc, On téléverse la clé publique de BackupPC sur le serveur lui-même (127.0.0.1[3]) afin que BackupPC puisse entrer en communication avec le serveur hôte sans devoir utiliser un mot de passe lors d'une connexion SSH.

Icone-NoteAPT.png  Explications des paramètres pour la prochaine commande.

  • cat /var/lib/BackupPC/.ssh/id_rsa.pub indique d'afficher la clé publique id_rsa.pub.
  • Le caractère de pipe | indique de passer le résultat de la commande précédente cat à la commande suivante ssh.
  • Le paramètre -p 2222 indique d'utiliser le port 2222 pour la communication SSH.
Si nous avons spécifié un port différent dans le fichier /root/.ssh/config, le port spécifié dans le fichier config aura toujours préséance sur celui spécifié sur la ligne de commande pour l'usager root.
  • Le paramètre root@127.0.0.1 indique de se connecter en tant que root à l'adresse 127.0.0.1 (localhost).
  • La partie entre guillemets ("...") indique au serveur de destination i.e. BackupPC (localhost) d'exécuter la commande qui se trouve entre ces guillemets. Donc, BackupPC va afficher avec cat ce qu'il reçoit et va l'ajouter >> au fichier: /root/.ssh/authorized_keys2.


# cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@127.0.0.1 "cat >> /root/.ssh/authorized_keys2"
The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established.
RSA key fingerprint is a0:2f:27:ab:cc:d8:a0:57:fc:57:ee:63:dd:58:cc:02.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[127.0.0.1]:2222' (RSA) to the list of known hosts.
root@127.0.0.1's password: mot-de-passe-de-root_du-serveur-BackupPC


Vérification de la connexion

On vérifie la connexion SSH sans mot de passe.

# ssh -p 2222 root@127.0.0.1
Last login: Fri Apr 28 10:31:11 2018 from 127.0.0.1
************ Welcome to SME Server 9.2 *************

Before editing configuration files, familiarise
yourself with the automated events and templates
systems.

Please take the time to read the documentation
http://wiki.contribs.org/Main_Page

Remember that SME Server is free to download
and use, but it is not free to build

Please help the project :
http://wiki.contribs.org/Donate

****************************************************

* La connexion sans mot de passe fonctionne.


On se désengage de la connexion SSH sans mot de passe.

# exit


Nous sommes de retour, on sort de su et on revient à l'usager root.

# exit


Accès à la page BackupPC

Vous pouvez accéder à l'interface de BackupPC:

  • Par le gestionnaire Server Manager.
  • Directement par l'adresse de BackupPC: https://mon_domaine.tld/BackupPC.


Accès par le gestionnaire Server Manager

On lance le gestionnaire Server Manager en allant à: https://mon_domaine.tld/server-manager ou en passant par son adresse IP: https://IP_du_Serveur_SME/server-manager.

  1. On se logue obligatoirement avec l'usager admin.
  2. On clique BackupPC
011-BPC-LoginServerManager-A.png
011-BPC-LoginServerManager-B.png


Accès direct par l'adresse de BackupPC

https://mon_domaine.tld/BackupPC ou avec l'adresse IP: https://IP_du_Serveur_SME/BackupPC.

Si nous ne sommes pas déjà logué dans le gestionnaire Server Manager, on nous présentera l'écran de login:

  1. On se logue obligatoirement avec l'usager admin/mot-de-passe du Serveur SME.
  2. La page principale de BackupPC s'affiche sans avoir à passer par le gestionnaire.
011-BPC-LoginServerManager-A.png
011-BPC-LoginServerManager-C.png


Configuration préliminaire de BackupPC

CGI

Langue de l'interface

On clique: Edit Config > onglet CGI.

  1. Pour la variable Language, on choisit fr.
    Le bouton Save devient actif.
    On le clique pour sauvegarder la modification.
  2. Rafraîchir la page du navigateur
    Renvoyer.
012-BPC-CGI-A.png
012-BPC-CGI-B.png


L'interface BackupPC est maintenant en français.

012-BPC-CGI-C.png


Icone-NoteAPT.png  Actuellement, le paramètre Language s'applique à l'interface CGI seulement.
Les fichiers journaux et les autres textes sont toujours en anglais.


Format de la date pour l'interface CGI

La valeur 1 utilise des dates de type US (MM/DD), la valeur 2 utilise le format AAAA-MM-JJ complet et 0 les dates internationales (JJ/MM).

012-BPC-CGI-D.png
  • - On clique: Modifier la configuration > onglet CGI.
    - On veut un affichage AAAA-MM-JJ, on entre
    2 à la variable CgiDateFormatMMDD et on clique Sauvegarder pour enregistrer ce nouveau paramètre.


Paramètres de sauvegarde

CompressLevel (Niveau de compression)

013-BPC-ParamsDeSauvegarde.png
  • Il n'y a rien à faire, sauf peut-être, le niveau de compression des sauvegardes; le défaut de 3 est très suffisant.
    - Il ne faut pas oublier que la compression requière une assez grande partie du temps CPU.
    - Il n'y a presque rien à gagner à changer le niveau de compression.
    - Si on a modifié un paramètre sur cette page, on clique Sauvegarder.


Courriel

014-BPC-Courriel-A.png

EMailNotifyMinDays 0.97

Période minimale entre les courriels consécutifs à un seul utilisateur. Ce paramètre tente de garder les courriels gênants pour les utilisateurs à un niveau raisonnable. La vérification du courriel est effectuée tous les soirs, de sorte que ce nombre est effectivement arrondi.   (0.97 signifie qu'un utilisateur ne recevra jamais de courriel plus d'une fois tous les 1 jour.)


EMailFromUserName backuppc

Expéditeur du courriel. Selon le gestionnaire de messagerie de BackupPC, il s'agit d'un nom complet (backuppc) ou d'un nom complet qualifié (backuppc@mondomaine.com).


EMailAdminUserName admin

Adresse de destination d'un utilisateur administratif qui recevra un courriel tous les soirs avec les avertissements et les erreurs. S'il n'y a pas d'avertissement ou d'erreur, aucun courriel ne sera envoyé. Selon le gestionnaire de messagerie de BackupPC, il s'agit d'un nom complet (admin) ou d'un nom complet qualifié (admin@FQDN).


EMailUserDestDomain @micronator.org

Nom du domaine de destination pour les courriels envoyés aux utilisateurs. Par défaut, il est vide et signifie que le courriel est envoyé à des adresses simples et non qualifiées. Sinon, définissez ce paramètre avec le domaine de destination, par exemple:

Icone-NoteAPT.png  Avec les paramètres $Conf{EMailAdminUserName} = admin et $Conf{EMailUserDestDomain} = @micronator.org dans le fichier /var/lib/BackupPC/etc/config.pl, le courrier électronique sera envoyé à: admin@micronator.org.

Sauvegarder.



Vérification du courriel

Pour vérifier que BackupPC peut exécuter sendmail et envoyer correctement le courrier électronique, vous pouvez lui demander de vous envoyer un courriel de test.

On devient l'usager backuppc>.

# su -s /bin/bash backuppc


On envoie le courriel de test.

# /usr/share/BackupPC/bin/BackupPC_sendEmail -u admin@micronator.org
On vérifie le courrier d'admin.
015-BPC-VerficationDuCourriel.png

On se désengage de l'usager backuppc.

# exit

Horaire

016-BPC-Horaire.png

Cadre Sauvegardes Complètes


FullPeriod 6.97

Période minimale en jours, entre les sauvegardes Complètes. Une vidange complète ne sera effectuée que si au moins ce délai s'est écoulé depuis la dernière sauvegarde Complète et, au moins IncrPeriod jours s'est écoulée depuis la dernière sauvegarde réussie.

Généralement, cette valeur est légèrement inférieure à un nombre entier de jours. Le temps pris pour la sauvegarde, plus la granularité de WakeupSchedule rendront l'intervalle de sauvegarde réel un peu plus long.


FillCycle 1

Avec la version V4+, les sauvegardes Complètes/Incrémentielles sont dissociées de fusionnée/non-fusionnée.

Pour imiter le comportement de la version V3, si FillCycle est défini à zéro, alors fusionnée/non-fusionnée continuera à s'associer à Complète/Incrémentielle: les sauvegardes Complètes seront fusionnées et les sauvegardes Incrémentielles seront non fusionnées. (Toutefois, la sauvegarde la plus récente est toujours fusionné, qu'elle soit Complète ou Incrémentielle.) La valeur 0 est le paramètre recommandé pour simplifier les choses; vu que l'expiration de la sauvegarde est en fait basée sur fusionnée/non-fusionnée (non pas sur Complète/Incrémentielle) en les conservant ainsi synchronisées, facilite alors la compréhension des paramètres d'expiration.

Icone-AstuceAPT.png  Si vous envisagez d'effectuer uniquement des sauvegardes Incrémentielles (c'est-à-dire: FullPeriod est défini à une très grande valeur), vous devez définir FillCycle à quelle fréquence vous voulez qu'une sauvegarde stockée soit fusionnée. Par exemple, si FillCycle est défini à 7, toutes les 7e sauvegardes seront fusionnées (que la sauvegarde correspondante soit Complète ou non).

Il existe deux raisons pour lesquelles vous voulez un paramètre FillCycle différent de 0 lorsque vous ne faites que des Incrémentielles:

  • Une sauvegarde fusionnée est un point de départ pour la fusion des deltas lorsque vous restaurez ou examinez des sauvegardes. Avoir périodiquement des sauvegardes fusionnées rend plus efficace l'examen ou la restauration d'anciennes sauvegardes.
  • Plus important encore, dans V4+, la suppression des sauvegardes se fait en fonction de fusionnée/non-fusionnée et non pas si la sauvegarde d'origine était Complète/Incrémentielle. S'il n'y a pas de sauvegardes fusionnées (autres que la plus récente), alors FullKeepCnt et les paramètres qui y sont associés n'auront aucun effet.
  1. Si FillCycle = 1, toutes les sauvegardes seront Fusionnées et le demeureront mais, leur début sera légèrement plus long et on verra "début de la sauvegarde" s'afficher pour un certain temps supplémentaire.
  2. Si BackupPC doit faire du nettoyage à cause d'un dépassement du nombre de sauvegardes à conserver, le message de droite s'affichera après celui de gauche.
017-BPC-FillCycle1-A.png
017-BPC-FillCycle1-B.png


FullKeepCnt 1

Nombre de sauvegardes Fusionnées à conserver (le nom porte à confusion). Doit être > = 1.

À partir de V4+, la suppression des sauvegardes se fait en fonction de fusionnée/non-fusionnée et non plus si la sauvegarde d'origine était Complète ou Incrémentielle. Pour des raisons de compatibilité avec les anciennes versions, ce paramètre continue d'être appelé FullKeepCnt plutôt que FilledKeepCnt. Si FillCycle est à 0, alors, les sauvegardes Complètes continueront d'être Fusionnées; donc, les termes sont interchangeables. Pour les sauvegardes V3, les paramètres d'expiration ont leur signification d'origine.

Chaque fois qu'une sauvegarde Complète se termine avec succès, la plus ancienne est supprimée. Si ce nombre est diminué, les anciennes sauvegardes en surplus seront supprimées.


FullKeepCntMin 1

Les anciennes sauvegardes Complètes sont supprimées après FullAgeMax jours. Cependant, BackupPC conserve au moins FullKeepCntMin sauvegardes Complètes, quel que soit leur âge.

On garde au moins 1 sauvegarde Complète.


FullAgeMax 180

FullAgeMax sera augmenté à FullKeepCnt fois FullPeriod si FullKeepCnt spécifie suffisamment de sauvegardes Complètes pour dépasser FullAgeMax.




Cadre Sauvegardes Incrémentielles

018-BPC-SauvegardesIncrémentielles.png

IncrPeriod 0.97

Période minimale en jours entre les sauvegardes Incrémentielles (une sauvegarde Incrémentielle demandée par l'utilisateur sera effectuée à tout moment, à sa demande).

Généralement, cette valeur est légèrement inférieure à un nombre entier de jours. Le temps pris pour la sauvegarde, plus la granularité de WakeupSchedule rendront l'intervalle de sauvegarde réel un peu plus long.


IncrKeepCnt 6

Nombre de sauvegardes Incrémentielles à conserver. Doit être > = 1.

Chaque fois qu'une sauvegarde Incrémentielle se termine avec succès et que le compte est > que IncrKeepCnt, la plus ancienne est supprimée. Si ce nombre est diminué, les anciennes sauvegardes Incrémentielles en surplus seront supprimées.


IncrKeepCntMin 1

Garder au moins 1 sauvegarde Incrémentielle.


IncrAgeMax 30

Les sauvegardes Incrémentielles très anciennes sont supprimées après IncrAgeMax jours. Cependant, BackupPC conserve au moins IncrKeepCntMin sauvegardes Incrémentielles, quel que soit leur âge.




Cadre Suspension

019-BPC-CadreSuspension.png

BackupsDisable 0

Icone-AstuceAPT.png  On peut désactiver en mettant à 1 et activer les sauvegardes dans la configuration des machines clientes lors de leur création.

Désactive toutes les sauvegardes Complètes et Incrémentielles. Ce paramètre est utile pour un client qui n'est plus sauvegardé (par exemple: une machine qui est retirée) mais, vous souhaitez conserver les dernières sauvegardes disponibles pour la navigation ou la restauration vers d'autres machines.

Ce paramètre peut prendre trois valeurs:

  • 0 - Les sauvegardes sont activées.
  • 1 - Ne pas faire de sauvegardes régulières sur ce client. Les sauvegardes demandées manuellement(via l'interface CGI) se produiront toujours.
  • 2 - Ne faire aucune sauvegarde sur ce client. Les demandes manuelles des sauvegardes (via l'interface CGI) seront ignorées.

BlackoutBadPingLimit 3

Si le serveur ne répond pas après le 3e ping, abandonner.

BlackoutGoodCnt 7

Les PCs qui sont toujours, ou souvent, présents sur le réseau peuvent être sauvegardés après les heures régulières afin de réduire la charge sur le PC, le réseau et le serveur pendant les heures de travail. Pour chaque PC, le nombre de pings consécutifs est maintenu. Une fois qu'un PC a au moins BlackoutGoodCnt bons pings consécutifs, il est sujet à un "blackout" et non sauvegardé pendant les heures et les jours spécifiés par BlackoutPeriods.

Pour permettre le redémarrage périodique d'un PC ou d'autres brèves périodes où un PC n'est pas sur le réseau, un nombre de pings négatifs consécutifs est autorisé avant que le nombre de bons ping soit réinitialisé. Ce paramètre est BlackoutBadPingLimit.

Icone-NoteAPT.png  Les bons et mauvais pings ne se produisent pas avec le même intervalle. Si une machine est toujours présente sur le réseau, un ping ne sera envoyé qu'une fois tous les IncrPeriod (par exemple: une fois par jour). Donc, un paramètre pour BlackoutGoodCnt de 7 signifie qu'il faudra environ 7 jours pour qu'une machine soit soumise à un "blackout". D'un autre côté, si un ping échoue, il sera réessayé à chaque fois que BackupPC se réveillera, par exemple, toutes les heures ou toutes les deux heures. Donc, un paramètre pour BlackoutBadPingLimit de 3 signifie que le PC perdra son état de "blackout" après 3-6 heures d'indisponibilité.

Pour désactiver la fonction de "blackout", configurez BlackoutGoodCnt sur une valeur négative. Une valeur de 0 rendra toutes les machines sujettes à un "blackout". Mais, si vous ne voulez pas faire de sauvegardes pendant la journée, il serait plus facile de simplement mettre WakeupSchedule à un horaire restreint.


BlackoutPeriods

Une ou plusieurs périodes d'interdiction peuvent être spécifiées. Si un client est sujet à un "blackout", aucune sauvegarde régulière (non manuelle) ne sera démarrée pendant l'une de ces périodes. Les paramètres hourBegin et hourEnd spécifient les heures à partir de minuit et weekDays est une liste des jours de la semaine où 0 est dimanche, 1 lundi, etc.




Cadre Divers

020-BPC-CadreDivers.png

RestoreInfoKeepCnt 10

Nombre de journaux de restauration à conserver. BackupPC mémorise les informations de chaque demande de restauration. Ce nombre, par client, sera conservé avant que les plus anciens ne soient purgés.

Icone-NoteAPT.png  Les fichiers/répertoires transmis via les téléchargements Zip ou Tar ne sont pas considérés comme des restaurations. Seule la première option de restauration compte pour les restaurations consignées.


ArchiveInfoKeepCnt 10

Nombre de journaux d'archives à conserver. BackupPC mémorise les informations sur chaque requête de sauvegarde. Ce nombre d'archives du journal de chaque client sera conservé avant que les plus anciennes ne soient purgées.


BackupZeroFilesIsFatal

Une sauvegarde d'un partage ayant zéro fichier est considérée comme fatale. Ce paramètre est utilisé pour attraper diverses erreurs qui surviennent lorsque Xfer ne sauvegarde aucun fichier. Si vous avez des partages qui peuvent être vides (et donc une sauvegarde vide est valide), vous devez mettre cet indicateur à 0 (décoché).

  • Sauvegarder




Serveur

021-BPC-Serveur.png

MaxOldLogFiles 14

Nombre maximal de fichiers journaux que BackupPC conserve dans le répertoire des journaux. L'âge de ces fichiers est mis à jour tous les soirs. Un paramètre de 14 signifie que le répertoire du journal contiendra environ 2 semaines de vieux fichiers journaux: les fichiers LOG, LOG.0, LOG.1, ... LOG.14 (sauf le journal d'aujourd'hui, ces fichiers auront une extension de ".z" si la compression est activée).

Icone-AsurveillerAPT.png  Si vous diminuez ce nombre après que BackupPC ait roulé un certain temps, vous devrez supprimer manuellement les anciens fichiers journaux.

  • Sauvegarder




Xfer

022-BPC-Xfer-B.png
022-BPC-Xfer-A.png

XferLogLevel 0

Niveau de verbosité dans les fichiers journaux Xfer.

  • 0 signifie être calme,
  • 1 donnera une ligne par fichier,
  • 2 montrera également les fichiers sautés par les incrémentielles,
  • des valeurs plus élevées donnent plus de résultats.

Icone-AstuceAPT.png  Pour le déverminage, un niveau de 8 pourrait vous orienter vers une solution à un problème donné.

  • Sauvegarder




Paramètres ssh

023-BPC-PortSSH.png

Port SSH du Serveur SME 2222

Dans le gestionnaire Server Manager, nous avons déjà configuré le Port TCP pour l'accès SSH à 2222.

Il faut ajuster le port SSH pour les communications de BackupPC vers les Serveurs SME clients.

Fichier de configuration SSH de BackupPC

Le répertoire pour tout ce qui concerne SSH est: /var/lib/BackupPC/.ssh.

Nous créons un fichier pour spécifier les paramètres de configuration SSH de BackupPC.

# touch /var/lib/BackupPC/.ssh/config


On ajuste le propriétaire et le groupe du fichier.

# chown backuppc:backuppc /var/lib/BackupPC/.ssh/config


On ajuste les droits.

# chmod 640 /var/lib/BackupPC/.ssh/config


Spécification du port SSH

Il existe plusieurs manières de spécifier ce port mais, la plus efficace est celle ci-dessous.

Host *

    Port 2222

Icone-AstuceAPT.png  Ce paramètre, dans le fichier de configuration SSH de BackupPC, aura préséance sur tous les autres paramètres de BackupPC spécifiant le port SSH.


Nous aurions pu utiliser les expressions suivantes pour spécifier le nom de l'hôte. Pour plus d'information, voir: https://www.digitalocean.com/community/tutorials/how-to-configure-custom-connection-options-for-your-ssh-client.

Host 192.168.1.33,192.168.1.149

    Port 2222


Autre forme.

Host 192.168.1.0/24

    Port 2222


On peut spécifier des hôtes utilisant des ports différents.

Host 192.168.1.33

    Port 2222

Host 192.168.1.144

    Port 3333


Icone-SeTirerDembarrasAPT.png  Sur notre réseau, tous les Serveurs SME utilisent le port SSH 2222 alors, pour notre réseau, on spécifie le port 2222.

Icone-NoteAPT.png  Prendre tout le contenu de l'encadré pour générer le fichier config.

cat > /var/lib/BackupPC/.ssh/config <<'EOT'
# Michel-André: 2018-04-24_11h04 HNE
# Spécification du port SSH à être utilisé par BackupPC
Host *
    Port 2222

EOT

Icone-AsurveillerAPT.png  Il faut que le mot Port soit au moins à un espace de la marge de gauche.


On vérifie les droits, le propriétaire et le groupe.

# ls -ls /var/lib/BackupPC/.ssh/config
0 -rw-r----- 1 backuppc backuppc 120 28 avril 10:52 /var/lib/BackupPC/.ssh/config


Propriétés DB

Il n'existe que trois propriétés DB que vous pouvez modifier:

  • status [enabled | disabled]
    Voulez-vous que le service démarre automatiquement à l'amorçage du serveur?

  • examples [enabled | disabled]
    Souhaitez-vous que les exemples de fichiers de configuration soient ajoutés à nouveau s'ils ont été supprimés?

  • sudo
    Liste des commandes que l'usager backuppc pourra exécuter en tant que root en utilisant sudo. La valeur par défaut est: /usr/bin/rsync,/bin/gtar.

Affichage des propriétés du service backuppc.

# db configuration show backuppc
backuppc=service
    examples=enabled
    status=enabled
    sudo=/usr/bin/rsync,/bin/gtar


Après avoir modifier une de ces propriétés, vous devez en signaler la mise à jour en lançant la commande ci-dessous.

# signal-event backuppc-update


Utilitaire sudo

L'utilitaire sudo[4] est une commande informatique utilisée principalement dans les systèmes d'exploitation de type Linux/Unix. (abréviation de substitute user do: "exécuter en se substituant à l'utilisateur".)

Cet utilitaire permet, à un utilisateur autorisé, d'exécuter une commande en tant que superutilisateur (root) ou d'un autre utilisateur tel que spécifié par la politique de sécurité (fichier de configuration).

Dans notre cas particulier sudo offre, entre autre à l'usager backuppc, une liste de commandes que ce dernier pourra exécuter en tant que root.

Par défaut, cette liste comprend les commandes suivantes:

  • /usr/bin/rsync
  • /bin/gtar


Fichier de configuration de sudo

L'utilitaire sudo est un cas particulier car, sa configuration se trouve dans le fichier /etc/sudoers.

Icone-AsurveillerAPT.png  Pour modifier ce fichier de configuration, il faut absolument utiliser l'éditeur visudo.

Lancement de l'éditeur de sudo.

visudo


Erreur en modifiant le fichier /etc/sudoers avec visudo

Si vous avez fait une erreur lors de la modification du fichier, un message d'erreur de syntaxe s'affichera à la sortie de visudo et l'invite demandera ce que visudo devrait faire.

visudo: >>> /etc/sudoers: syntax error near line 15 <<<

 Options are:
   (e)dit sudoers file again
   e(x)it without saving changes to sudoers file
   (Q)uit and save changes to sudoers file (DANGER!) </div>

Icone-NoteAPT.png  La meilleure réponse est "x", sans guillemets, pour quitter visudo sans sauvegarder les changements apportés.


Réveil par le réseau (WOL)[5]

À titre d'exemple, vous voulez être en mesure de réveiller une machine si la carte réseau de celle-ci possède l'option réveil par le réseau (Wake On Lan).

Modifier la propriété sudo et ajouter la commande /sbin/ether-wake.

# config setprop backuppc sudo `config getprop backuppc sudo`,/sbin/ether-wake


Signaler le changement... Modifier la propriété sudo et ajouter la commande /sbin/ether-wake.

# signal-event backuppc-update


... puis ajoutez simplement un script, tel que ci-dessous, à votre commande pré-sauvegarde ou à votre commande ping.

#!/bin/sh
# Set the mac address for each host
host1_mac=<mac address>
host1_name=<host name>
host2_mac=<mac address>
host2_name=<hmac addresshost namemac addresshost name>
# How long does the host take to boot
boottime=120
# Which interface to send the WoL packets out of
interface=eth0
# Function to check if the host pings
pingcheck()
{
ping -w 5 -c 2 $1
export pingstatus=$?
}
case $1 in
       host1)
               sudo etherwake -i $interface $host1_mac
               sleep $boottime
               pingcheck $host1_name
               exit $pingstatus
       ;;
       host2)
               sudo etherwake -i $interface $host2_mac
               sleep $boottime
               pingcheck $host2_name
               exit $pingstatus
       ;;
       *)
               echo "Unknown machine $1"
               exit 1
       ;;
esac


Icone-AsurveillerAPT.png  IMPORTANT Si vous utilisez l'usager administrateur backuppc par défaut, vous devrez utiliser le chemin complet pour les commandes ci-dessus.

Icone-AstuceAPT.png  Les scripts ne doivent pas être placés dans /etc/BackupPC car les autorisations seront remplacées. On peut les insérer dans notre répertoire de stockage de scripts: /var/lib/BackupPC/script.


Configuration du gabarit localserver-template

Pour l'installation, nous avons utilisé la contribution BackupPC4 et un ajout pour les Serveurs SME: smeserver-BackupPC qui inclut smeserver-remoteuseraccess.

  • smeserver-BackupPC
    Crée les gabarits localserver-template et smeserver-template utilisés lors de la création de machines pour les Serveurs SME dont on veut faire des sauvegardes.
  • smeserver-remoteuseraccess
    Sert à la connexion ssh vers les Serveurs SME.


Nous allons ajuster certains paramètres du gabarit de base localserver-template.

Icone-AstuceAPT.png  Lorsque nous utiliserons ce gabarit pour créer une nouvelle machine pour le serveur hôte de BackupPC, il ne sera pas nécessaire de configurer la nouvelle machine car le gabarit s'en aura chargé.


Paramètres de sauvegarde

Choisir l'Hôte > localserver-template > Modifier la configuration > Paramètres de sau­ve­garde.

024-BPC-ParamsDeSauvegarde.png


DumpPreUserCmd

/var/lib/BackupPC/script/pre-sauvegarde.sh $host


DumpPostUserCmd

/var/lib/BackupPC/script/post-sauvegarde.sh $host

Icone-NoteAPT.png  Pour plus d'information, voir le paragraphe: #Scripts pré/post-sauvegarde.


025-BPC-BlackoutPeriods.png

BlackoutPeriods

  • - Une ou plusieurs périodes d'interdiction peuvent être spécifiées.
    Aucune sauvegarde régulière (non manuelle) ne sera démarrée pendant l'une de ces périodes.
    hourBegin et hourEnd spécifient les heures à partir de minuit et weekDays est une liste des jours de la semaine où 0 est dimanche, 1 est lundi, etc.
    Icone-AstuceAPT.png  Nous ne voulons pas que le serveur se sauvegarde lui-même pendant qu'il sauvegarde un autre serveur et vu que les machines des autres serveurs auront une période d'interdiction de 7.0 - 19.5, on échange donc ces valeurs par défaut en spécifiant 19.5 - 7.0 pour la machine hôte de BackupPC. Avec cet échange, la période de sauvegarde du serveur BackupPC sera exlusive de la période de sauvegarde des autres serveurs.
    - Sauvegarder.




Courriel

026-BPC-Courrier.png

Ajustez vers quelle adresse courriel vous voulez envoyer les notifications de BackupPC.

  • Sauvegarder.





Horaire

027-BPC-Horaire.png

FillCycle 1

Pour plus d'information sur cette variable, voir ci-dessus: #FillCycle.

BackupsDisable 1

Icone-AstuceAPT.png  On activera les sauvegardes seulement après la création d'une nouvelle machine.

Sauvegardes du serveur hôte de BackupPC

Icone-NoteAPT.png  Vu que le serveur hôte de BackupPC ne sert qu'à faire des sauvegardes et qu'il n'est pas nécessaire de le sauvegarder à toutes les semaines (6.97 jours), nous pourrions ajuster FullPeriod pour une sauvegarde Complète mensuelle seulement, en spécifiant FullPeriod à 30.5 jours. Nous pourrions aussi ajuster IncrPeriod pour une sauvegarde Incrémentielle hebdomadaire seulement, en spécifiant IncrPeriod à 6.97 jours.

  • Sauvegarder.





Xfer

028-BPC-Xfer-1.png

XferLogLevel 0

Niveau de verbosité dans les fichiers journaux Xfer.

  • 0 signifie être calme,
  • 1 donnera une ligne par fichier,
  • 2 montrera également les fichiers sautés par les incrémentielles.

Des valeurs plus élevées donneront plus de résultats.

  • Une verbosité de 8 servira pour le débogage.



BackupFilesExclude

Les sous-répertoires de /var/lib/BackupPC sont les suivants:

  • cpool - Stockage de tous les fichiers compressés à partir des sauvegardes.
  • etc - Stockage des fichiers de configuration.
  • log - Stockage des journaux des sauvegardes/restaurations.
  • lost+found - Les fichiers qui seraient normalement perdus à cause d'une corruption de répertoire seraient liés dans ce répertoire.
  • mes_restaurations - Répertoire de stockage des fichiers TAR pour les restaurations. Voir: #On crée un répertoire de stockage pour nos futurs fichiers TAR
  • pc - Les sauvegardes de chaque $hôte sont stockées sous ce répertoire sous pc/$hôte.
  • pool - Tous les fichiers non compressés provenant des sauvegardes sont stockés dans ce répertoire.
  • script - Contient nos scripts de pré/post-sauvegarde.
  • .ssh - Répertoire des fichiers relatifs à SSH pour BackupPC. Voir: #Fichier de configuration SSH de BackupPC.


028-BPC-Xfer-2.png

Icone-AsurveillerAPT.png  Le gabarit par défaut de local-smeserver exclut le répertoire /var/lib/BackupPC des sauvegardes.


Lorsqu'on sauvegarde le serveur hôte de BackupPC par lui-même, nous voulons inclure certains sous-répertoires de /var/lib/BackupPC et en exclure d'autres.

  • On détruit donc l'exclusion complète:
      * Vis-a-vis /var/lib/BackupPC, on clique Détruire.



028-BPC-Xfer-3.png
  • On remplace l'exclusion complète par les exclusions suivantes seulement:
      * Ajouter et on entre les répertoires suivants.
  1. /var/lib/BackupPC/cpool
  2. /var/lib/BackupPC/mes_restaurations
  3. /var/lib/BackupPC/pc
  4. /var/lib/BackupPC/pool.


On exclut aussi les fichiers suivants des sauvegardes:

  • /etc/fstab - Sert pour le montage des disques.
  • /etc/udev/rules.d/70-persistent-net.rules - Relie les a­dres­ses MAC des cartes réseau à leur dispositif eth0 et eth1.
  1. /etc/fstab
  2. /etc/udev/rules.d/70-persistent-net.rules
  • Sauvegarder.




Icone-AstuceAPT.png  Si on sauvegarde l'hôte de BackupPC à l'aide d'un autre serveur BackupPC, on n'exclut pas le répertoire /var/lib/BackupPC ni aucun de ses sous-répertoires.


Notre gabarit localserver-template est prêt à être utilisé pour la création de la machine hôte de BackupPC.


Configuration du gabarit smeserver-template

Nous allons ajuster certains paramètres du gabarit de base smeserver-template.

Lorsque nous utiliserons ce gabarit pour créer de nouvelles machines pour les Serveurs SME, il ne sera pas nécessaire de configurer celles-ci car, le gabarit s'en sera chargé.

Paramètres de sauvegarde

Choisir l'Hôte > smeserver-template > Modifier la configuration > Paramètres de sauvegarde.


029-BPC-SmeserverTemplate.png

DumpPreUserCmd

/var/lib/BackupPC/script/pre-sauvegarde.sh $host

DumpPostUserCmd

/var/lib/BackupPC/script/post-sauvegarde.sh $host

Icone-NoteAPT.png  Pour plus d'information, voir #Scripts pré/post-sauvegarde.

  • Sauvegarder.





Courriel

026-BPC-Courrier.png

Ajustez vers quelle adresse courriel vous voulez envoyer les notifications de BackupPC.

  • Sauvegarder.





Horaire

027-BPC-Horaire.png

FillCycle 1

Pour plus d'information sur cette variable, voir ci-dessus: #FillCycle.

BackupsDisable 1

Icone-AstuceAPT.png  On désactive les sauvegardes lors de la création d'une nouvelle machine car, une sauvegarde pourrait débuter avant que la configuration de celle-ci soit totalement terminée.

  • Cette désactivation n'empêche pas les sauvegardes manuelles.
  • On activera les sauvegardes automatiques seulement après la première sauvegarde et après avoir vérifier que toutes les configurations fonctionnent correctement.


027-BPC-Horaire-A.png

BlackoutPeriods

Vu que les usagers sont au travail du lundi au vendredi et qu'ils utilisent les Serveurs SME, on ne veut pas lancer de sauvegardes sur les serveurs entre 07h00 et 19h30.

  • On ajuste BlackoutPeriods pour bloquer les sauvegardes automatiques durant les heures de travail.
  • Sauvegarder.





Xfer

028-BPC-Xfer-1.png

XferLogLevel 0

Niveau de verbosité dans les fichiers journaux Xfer.

  • 0 signifie être calme,
  • 1 donnera une ligne par fichier,
  • 2 montrera également les fichiers sautés par les incrémentielles.

Des valeurs plus élevées donneront plus de résultats.

  • Une verbosité de 8 servira pour le débogage.


028-Xfer-A.png

On exclut les fichiers suivants des sauvegardes:

  1. /etc/fstab
  2. /etc/udev/rules.d/70-persistent-net.rules
  • Sauvegarder.


Notre gabarit smeserver-template est prêt à être utilisé pour la création de machines BackupPC afin de sauvegarder des Serveurs SME..


Serveur hôte de BackupPC

Création de la machine hôte

Pour le serveur roulant BackupPC, on crée un machine en utilisant le gabarit localserver-template.

Serveur > Modifier la configuration > onglet Machines > Ajouter > host: 127.0.0.1=localserver-template > user: admin > Sauvegarder.

031-BPC-CreationDeLaMachie.png
031-BPC-CreationDeLaMachie.png-A.png

La nouvelle machine, hôte de BackupPC, a été crée.


Page d'accueil de la nouvelle machine

  1. Sous Hôtes, on choisit le nom de notre nouvelle machine 127.0.0.1 (hôte de BackupPC - 192.168.1.33). La page d'accueil s'affiche.
  2. Icone-AsurveillerAPT.png  Les liens Files actuelles, Documentation, Wiki et Homepage n'apparaissent seulement que sur la page d'accueil de BackupPC.
032-BPC-PageAccueil-A.png
032-BPC-PageAccueil-B.png


Vérification de la configuration

  1. Modifier la configuration.
  2. Paramètres de sauvegarde; on vérifie la pré-commande et la post-commande.
  3. Courriel.
  4. Sauvegardes complètes.
033-BPC-VerifConfig-A.png
033-BPC-VerifConfig-B.png
033-BPC-VerifConfig-C.png
033-BPC-VerifConfig-D.png


  1. Sauvegardes Incrémentielles.
  2. Suspension
  3. BlackoutPeriods.
  4. Divers.
  5. Exclusions.
033-BPC-VerifConfig-E.png
033-BPC-VerifConfig-F.png
033-BPC-VerifConfig-G.png
033-BPC-VerifConfig-H.png
033-BPC-VerifConfig-J.png

BackupsDisable s'applique seulement aux sauvegardes automatiques. On peut quand même faire une sauvegarde manuelle pour vérifier que tout fonctionne correctement.

Icone-AstuceAPT.png  Lorsqu'on aura fait nos sauvegardes de test, on activera les sauvegardes automatiques en mettant BackupsDisable à 0.

Tout est prêt pour notre première sauvegarde.


Sauvegarde automatique

034-BPC-ProchainReveil.png

Si nous avons créé et configuré le serveur hôte de BackupPC en dehors de ses heures d'interdiction (voir le paragraphe #BlackoutPeriods), au prochain réveil de BackupPC, il exécutera automatiquement une première sauvegarde Complète de lui-même, sans que nous ayons à faire quoi que ce soit, si BackupsDisable est à 0 (sauvegardes automatiques activées).

C'est pour cette raison que nous avons mis BackupsDisable à 1 (sauvegardes automatiques désactivées) lors de la configuration du gabarit localserver-template.


Clé SSH publique de BackupPC

Avant de faire quoi que ce soit, on téléverse la clé SSH de BackupPC afin d'éviter le problème de rejet de connexion lors de la sauvegarde.

Icone-AsurveillerAPT.png  Si on lance une sauvegarde sans que le serveur à sauvegarder ait reçu la clé SSH de BackupPC, le serveur distant bloquera les futures tentatives de connexion.


Explication du blocage des futures tentatives de connexion

Sans la clé SSH, téléversée sur le serveur à sauvegarder et qui permet à BackupPC de se connecter sans utiliser de mot de passe, la sauvegarde tentera à plusieurs reprises de se connecter sans mot de passe et ainsi dépassera la limite de tentatives infructueuses de connexions fixée par le Serveur SME à sauvegarder.

Sans la clé SSH sur le serveur à sauvegarder, lors de toute sauvegarde, BackupPC émettra l'erreur suivante:

Got fatal error during xfer (rsync error: unexplained error (code 255) at io.c(629) [Receiver=3.0.9.12]).

Icone-NoteAPT.png  Si le Serveur SME a déjà la contribution Fail2Ban installée, après 3 tentatives de connexions infructueuses, il bannit pour 30 jours l'adresse IP en question.


Téléversement de la clé SSH de BackupPC

Si nous n'avons pas déjà téléversé la clé SSH publique de BackupPC au paragraphe #Téléversement de la clé SSH publique de BackupPC, on le fait obligatoirement maintenant.


Vérification du téléchargement de la clé publique

On ouvre une session PuTTY vers le Serveur SME hôte de BackupPC (192.168.1.33).

Icone-AsurveillerAPT.png  Ne pas utiliser l'adresse 127.0.0.1 car vous vous retrouveriez sur la station hôte de PuTTY.

On vérifie la présence de la clé publique de BackupPC.

cat /root/.ssh/authorized_keys2
034-BPC-CleSSH.png


Sauvegarde "Complète" de l'hôte BackupPC

Nous allons sauvegarder le Serveur SME roulant BackupPC et dont l'adresse IP est 192.168.1.33 (localhost - 127.0.0.1).


Lancement de la sauvegarde

On retourne à la page 127.0.0.1 Accueil et on clique Démarrer la sauvegarde Complète.

035-BPC-LancementDeLaSauvegarde.png


  1. On confirme en cliquant Démarrer la sauvegarde complète.
  2. On retourne à la page d'accueil en cliquant le nom de notre machine i.e. 127.0.0.1.
035-BPC-LancementDeLaSauvegarde-A.png
035-BPC-LancementDeLaSauvegarde-B.png


  1. Au retour à la page d'accueil, BackupPC nous informe du "début de la sauvegarde" > Fichier journal.
  2. La page du journal nous indique que:
    - le répertoire de stockage des sauvegardes pour la machine 127.0.0.1 a été créé,
    - AutoBlock est maintenant désactivé,
    - la sauvegarde a débutée et commencée dans le répertoire racine /.
035-BPC-LancementDeLaSauvegarde-C.png
035-BPC-LancementDeLaSauvegarde-D.png


L'utilitaire top

À la console du Serveur SME BackupPC, on peut lancer la commande top pour voir les processus en cours: top -d 1.

On voit que backuppc utilise peu de mémoire mais, un pourcentage très substantiel du CPU.

035-BPC-LancementDeLaSauvegarde-E.png


Fichier journal de la machine

Après quelques minutes et un rafraîchissement de la page du journal, BackupPC nous dit que la sauvegarde est complétée.

035-BPC-LancementDeLaSauvegarde-F.png
  • On remarque qu'AutoBlock a été réactivé par la commande post-sauvegarde.
  • La sauvegarde s'est terminée correctement.


Liste d'attente d'arrière plan

Lors d'une sauvegarde quelconque, la page d'acceuil pourrait afficher le message ci-dessous.

035-BPC-LancementDeLaSauvegarde-H.png


BackupPC est occupé par BackupPC_refCountUpdate qui vérifie le pool des références.

Icone-NoteAPT.png  BackupPC_refCountUpdate est utilisé pour mettre à jour le nombre de références par sauvegarde et par hôte, de même que le nombre de références à l'échelle du système. Cet utilitaire est exploité par: BackupPC_dump, BackupPC_nightly, BackupPC_backupDelete, BackupPC_backupDuplicate et BackupPC_fsck.

Ci-dessous, BackupPC_refCountUpdate a pris 236 secondes.

035-BPC-LancementDeLaSauvegarde-H-1.png


Examen de la sauvegarde

Lorsque que la sauvegarde est terminée, la page d'accueil nous donne les différentes statistiques de cette sauvegarde.

035-BPC-LancementDeLaSauvegarde-I.png


Journaux de la sauvegarde

On voit que c'est une sauvegarde Complète et qu'elle est fusionnée.

036-BPC-Journal.png


JournalXfer

Le JournalXfer nous indique les fichiers sauvegardés selon le paramètre XferLogLevel au paragraphe #XferLogLevel. Le fichier journal de cette première sauvegarde est XferLOG.0.z.

  • Le script pre-sauvegarde.sh a été exécuté avant la sauvegarde et AutoBlock a été désactivé.
  • Le script post-sauvegarde.sh a été exécuté après la sauvegarde et AutoBlock a été réactivé.
037-BPC-JournalXfer.png
037-BPC-JournalXfer-A.png

Icone-NoteAPT.png  Pour cette sauvegarde particulière, le paramètre XferLogLevel était à 1 pour démontrer la liste des fichiers sauvegardés.


Journal Erreurs

  • Le journal Erreurs nous indique le nombre d'erreurs encourus.
041-BPC-JournalErreurs.png


Journal principal de BackupPC

Le journal principal de BackupPC contient tous les événements survenus.

  • Ce journal indique notre sauvegarde Complète du serveur 127.0.0.1.
042-BPC-JournalPrincipal.png
...

2018-05-05 09:10:28 User admin requested backup of 127.0.0.1 (127.0.0.1)

2018-05-05 09:11:36 Started full backup on 127.0.0.1 (pid=2527, share=/)

2018-05-05 09:35:09 Finished full backup on 127.0.0.1

..


Journal "messages" du Serveur SME

Les commandes signal-event pre-backup, signal-event post-backup et les deux remoteaccess-update ont toutes été exécutées correctement.

La première commande remoteaccess-update a mis à jour la désactivation de la propriété AutoBlock et la deuxième sa réactivation.

...
Processing event: pre-backup
Running event handler: /etc/e-smith/events/actions/generic_template_expand
...
Processing event: remoteaccess-update
Running event handler: /etc/e-smith/events/actions/generic_template_expand
...
Processing event: post-backup
Running event handler: /etc/e-smith/events/post-backup/S10mysql-delete-dumped-tables
...
Processing event: remoteaccess-update
Running event handler: /etc/e-smith/events/actions/generic_template_expand
...


Espace disque et nombre d'inodes

Espace disque

L'espace disque est passé de 4,6M à 1,7G.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/main-root
                      6,8G  3,6G  2,8G  57% /
tmpfs                 1,9G     0  1,9G   0% /dev/shm
/dev/md0              239M   77M  150M  34% /boot
/dev/sdb1              17G  1,7G   15G  11% /var/lib/BackupPC


Nombre d'inodes

Le nombre d'inodes est passé de 67 à 201 294.

# df -i
/dev/mapper/main-root
                       456064 159191   296873   35% /
tmpfs                  490294      1   490293    1% /dev/shm
/dev/md0                64000     54    63946    1% /boot
/dev/sdb1            15005976 201294 14804682    2% /var/lib/BackupPC

Icone-AsurveillerAPT.png  Pour 11% (1,7G) de l'espace disque de la partition /dev/sbd1 le nombre d'inodes est de 201 294. Ce qui serait plus de 15% du total de 1 310 720 si nous avions formaté avec un système de fichiers ext3 sans utiliser le paramètre -N. Ce pourcentage n'est que de 2% pour un système ext4.


043-BPC-RecapitulatifPremiereSauvegarde.png
  • C'est ici qu'on voit l'utilisation du disque et du grand nombre d'inodes (le nombre de Fichiers existants vs le nombre de Nouveaux fichiers).
  • Ce nombre s'explique par la création des liens et le stockage de la sauvegarde Complète.


XferLogLevel

On pourrait mettre XferLogLevel à 1 pour une légère augmentation de l'espace disque utilisé.

Icone-AsurveillerAPT.png  Attention: Il ne faut pas modifier la configuration d'une machine qui est en train de se faire sauvegarder car, on recevrait l'erreur suivante.

...
2018-03-03 11:35:44 full backup started for directory /
2018-03-03 11:39:29 Got fatal error during xfer (rsync error: unexplained error (code 139) at io.c(1556) [generator=3.0.9.11])
2018-03-03 11:39:34 Backup aborted (rsync error: unexplained error (code 139) at io.c(1556) [generator=3.0.9.11])
...


Première sauvegarde Incrémentielle

On clique: Démarrer la sauvegarde Incrémentielle.

044-BPC-PremiereIncrementielle-A.png


  1. On confirme en cliquant: Démarrer la sauvegarde Incrémentielle.
  2. On retourne à la page d'accueil.
  3. BackupPC indique que la sauvegarde a débutée.
  4. La sauvegarde est en cours.
044-BPC-PremiereIncrementielle-B.png
044-BPC-PremiereIncrementielle-C.png
044-BPC-PremiereIncrementielle-D.png
044-BPC-PremiereIncrementielle-E.png

Icone-NoteAPT.png  Les 2 minutes écoulées entre le début 10:06 et la sauvegarde elle-même 10:08 ont été utilisées, par BackupPC_refCountUpdate, pour l'ajustement des liens vers la sauvegarde précédente #0.


  1. La sauvegarde Incrémentielle est commencée.
  2. La sauvegarde Incrémentielle est terminée.
044-BPC-PremiereIncrementielle-F.png
044-BPC-PremiereIncrementielle-G.png


Ci dessous, on voit que la sauvegarde Incrémentielle a été fusionnée à la dernière sauvegarde Complète.

044-BPC-PremiereIncrementielle-H.png


L'Incrémentielle a pris 3.0 minutes et a trouvé un delta de 101 fichiers d'une taille totale de 37.5 Mo.


Fusion

  1. Comme l'affiche la page d'accueil, l'Incrémentielle #1 a été Fusionnée avec la Complète #0.
  2. La fusion est aussi démontrée ci-dessous, par la grandeur de l'Incrémentielle #1.
045-BPC-Fusion-A.png
045-BPC-Fusion-B.png


Examen des fichiers

On peut afficher le contenu d'une sauvegarde en cliquant le numéro de celle-ci "1".

046-BPC-ExamenDeFichier-A.png


L'arborescence des fichiers de la sauvegarde est affichée.

046-BPC-ExamenDeFichier-B.png


Deuxième sauvegarde Incrémentielle

On lance une deuxième sauvegarde Incrémentielle.

  1. Le script pre-sauvegarde.sh a roulé avec succès.
    La deuxième sauvegarde Incrémentielle a débutée.
    La script post-sauvegarde.sh a roulé avec succès.
    La deuxième sauvegarde Incrémentielle s'est terminée.
  2. BackupPC fusionne toutes les sauvegardes car, pour la machine 127.0.0.1, le paramètre FillCycle est à 1 indiquant de fusionner toutes les sauvegardes et de toujours les garder ainsi.
047-BPC-Incrementielle-2-A.png
047-BPC-Incrementielle-2-B.png


Restauration d'un fichier

Restauration vers le répertoire original

  1. Si on veut restaurer un fichier particulier, on clique sur le numéro de la sauvegarde contenant le fichier à restaurer.
  2. On se rend dans le répertoire du fichier en parcourant l'arborescence à gauche.
    On coche la case du fichier à restaurer > Restaurer les fichiers sélectionnés.
    On peut sélectionner le nombre de fichiers désirés sans aucun problème.
048-BPC-Restauration-A.png
048-BPC-Restauration-B.png


On vérifie le nom du fichier à restaurer > Démarrer la restauration.

048-BPC-Restauration-C.png


On vérifie le chemin de la source et celui de la destination > Restaurer.

048-BPC-Restauration-D.png


La restauration a réussie; on retourne à la page d'accueil.

048-BPC-Restauration-E.png


Le fichier journal de la machine.

048-BPC-Restauration-F.png


Icone-NoteAPT.png  La restauration a été complétée. La variable 0 files ne tient compte que des fichiers créés et non de ceux qui ont été restaurés à l'emplacement original.


À la page d'accueil, on peut voir un nouveau cadre: Résumé de la restauration. Cliquer le numéro de la restauration #0 pour en afficher les détails.

048-BPC-Restauration-G.png

Vérification

  1. On peut cliquer Visionner ou Erreurs.
  2. Si on clique Visionner.

048-BPC-Restauration-H.png
048-BPC-Restauration-I.png


Si on a clique Erreur.

048-BPC-Restauration-J.png


Restauration vers un répertoire différent

On peut choisir un autre répertoire de destination tel que /temp pour la restauration > Démarrer la restauration.

048-BPC-Restauration-K.png


On clique Restaurer.

048-BPC-Restauration-L.png


On retourne à la page d'accueil.

048-BPC-Restauration-M.png


La restauration s'est terminée avec Succès.

048-BPC-Restauration-N.png


Vérification dans le Fichier journal de la machine.

048-BPC-Restauration-O.png


Icone-NoteAPT.png  Cette fois-ci, restore 1 complete, la restauration a créé un fichier car, le fichier restauré n'était pas présent dans le répertoire /temp.


Vérification manuelle.

# ls -als /temp/
total 12
4 drwxr-xr-x  2 root root 4096  3 mars   2017 .
4 dr-xr-xr-x 27 root root 4096  5 mai   11:47 ..
4 -rw-------  1 root root 1314  3 mars   2017 renouvelerSSL

Nettoyage nocturne

Sauvegardes à conserver

Complètes

049-BPC-NettoyageNocturne-A.png

Dans la page de configuration, sous l'onglet Horaire, nous avons mis FillCycle à 1 qui implique de fusionner toutes les sauvegardes.

Nous avons aussi mis FullKeepCnt à 1 pour indiquer à BackupPC de ne garder qu'une seule sauvegarde Complète car, les Incrémentielles fusionnées peuvent être considérées comme des Complètes.

  • À partir de V4+, la suppression des sauvegardes se fait en fonction de fusionnée/non-fusionnée et non plus si la sauvegarde d'origine était Complète ou Incrémentielle.
  • Pour des raisons de compatibilité avec les anciennes versions, ce paramètre continue d'être appelé FullKeepCnt plutôt que FilledKeepCnt.
  • La sauvegarde la plus récente (qui est toujours fusionnée) ne compte pas lors de la vérification de FilledKeepCnt.
  • Avec ces paramètres, chaque fois qu'une sauvegarde Complète se termine avec succès, la plus ancienne est supprimée.


Incrémentielles

049-BPC-NettoyageNocturne-B.png
Nous avons indiqué de conserver un maximum de 6 Incrémentielles avec un minimum de 1.


Journal principal de BackupPC

Nous avons fait 1 Complète et 2 Incrémentielles.

049-BPC-NettoyageNocturne-C.png
049-BPC-NettoyageNocturne-C0.png


Fermeture et amorçage du serveur BackupPC

Icone-AstuceAPT.png  Pour cette démonstration seulement, nous avons ajuster BlackoutPeriods du serveur hôte de BackupPC pour qu'il puisse exécuter une sauvegarde durant la journée.

Nous avons éteint le serveur BackupPC à 20:59:23.

Le lendemain, nous avons amorcer le serveur BackupPC à 09:49:23.

Le prochain réveil se fera à 10:00:00.

2018-05-05 20:59:23 Got signal TERM... cleaning up (exit code = 0)

...
2018-05-06 09:49:23 Reading hosts file
2018-05-06 09:50:26 BackupPC 4.2.0 (Perl v5.10.1) started, pid 2284
2018-05-06 09:50:27 Next wakeup is 2018-05-06 10:00:00
...


Journal de la machine 127.0.0.1, hôte de BackupPC

049-BPC-NettoyageNocturne-D.png

Vu que:

  • Nous avons 3 sauvegardes: 1 Complète et 2 Incrémentielles, toutes Fusionnées.
  • FilledKeepCnt = 1 et FilledKeepCntMin = 1.
  • La sauvegarde la plus récente #2 (qui est toujours fusionnées) ne compte pas lors de la vérification de FilledKeepCnt.
  • À partir de V4+, la suppression des sauvegardes se fait en fonction de fusionnée/non-fusionnée.

Icone-NoteAPT.png  Nous pouvons affirmer que nous avons présentement: (3 - (la plus récente)) = 2 fusionnées.

  • Nous avons donc 1 sauvegarde fusionnée de trop.


Lorsque BackupPC s'est réveillé, le Nettoyage nocturne n'ayant pas été fait, il a constaté qu'il fallait qu'il supprime 1 sauvegarde fusionnée.

Il a donc:

  • Supprimé la plus ancienne fusionnée i.e. la sauvegarde Complète, backup 0.
...
2018-05-06 10:00:01 Removing filled backup 0
2018-05-06 10:00:01 BackupPC_backupDelete: removing #0
2018-05-06 10:00:01 BackupPC_backupDelete: No prior backup for merge
...


  • Mis les pointeurs à jour.
...
2018-05-06 10:03:23 BackupPC_refCountUpdate: host 127.0.0.1 got 0 errors (took 1 secs)
2018-05-06 10:03:23 Finished BackupPC_backupDelete, status = 0 (running time: 202 sec)
...


  • Débuté une sauvegarde Complète car, FullKeepCnt = 1.
...
2018-05-06 10:05:43 Output from DumpPreUserCmd:     AutoBlock=disabled
2018-05-06 10:06:02 full backup started for directory /
2018-05-06 10:13:31 Output from DumpPostUserCmd:     AutoBlock=enabled
2018-05-06 10:13:32 full backup 3 complete, 84114 files, 3331261397 bytes, 0 xferErrs (0 bad files, 0 bad shares, 0 other)
...


  • Supprimé la sauvegarde backup 1 car, il existait encore une sauvegarde Fusionnée de trop.
...
2018-05-06 10:13:32 Removing filled backup 1
2018-05-06 10:13:32 BackupPC_backupDelete: removing #1
2018-05-06 10:13:32 BackupPC_backupDelete: No prior backup for merge
...


  • Terminé sont nettoyage, en mettant les pointeurs à jour.
...
2018-05-06 10:15:21 BackupPC_refCountUpdate: host 127.0.0.1 got 0 errors (took 1 secs)
2018-05-06 10:15:21 Finished BackupPC_backupDelete, status = 0 (running time: 109 sec)
...


Voici le résultat du nettoyage.

049-BPC-NettoyageNocturne-E.png


049-BPC-NettoyageNocturne-F.png


Activation des sauvegardes automatiques

050-BPC-ActivationDesSauvegardes.png

Icone-AsurveillerAPT.png  Notre configuration fonctionne correctement, nous pouvons maintenant activer les sauvegardes automatiques en mettant BackupsDisable = 0 sous l'onglet Horaire.

Icone-AstuceAPT.png  La démonstration étant terminée, nous avons remis BlackoutPeriods de la machine du serveur hôte de BackupPC 127.0.0.1, aux mêmes valeurs que celles décrites au paragraphe: #BlackoutPeriods.

Les sauvegardes Complètes et Incrémentielles de l'hôte de BackupPC fonctionnent correctement.


Serveur SOURCE

  1. Diagramme réseau
  2. On affiche la page Web du serveur SOURCE: https://192.168.1.152/ afin de pouvoir la comparer après la restauration de SOURCE sur DESTINATION.
051-BPC-DiagServeurSource.png
051-BPC-IndexHTMLSource.png

Création de la machine SOURCE dans BackupPC

Nous allons créer une nouvelle machine dans BackupPC pour représenter le Serveur SME SOURCE.

Nom du serveur: source.micronator-101.org // Adresse IP: 192.168.1.152.

Nous utilisons des machines virtuelle sur un réseau privé, le DNS ne fonctionne pas car, nous n'avons aucun enregistrement DNS pour nos serveurs. Il nous faut donc utiliser les adresses IP des serveurs au lieu de leur nom d'hôte.

Icone-AstuceAPT.png  Si vous pouvez faire un ping en utilisant le nom de votre Serveur SME, vous pouvez alors utiliser ce nom pour la création de la machine dans BackupPC.

  • Nous utilisons le gabarit smeserver-template pour créer la nouvelle machine dans BackupPC.

Serveur > Modifier la configuration > onglet Machines > Ajouter > host 192.168.1.152=smeserver-template > user admin > Sauvegarder.

053-BPC-MachineSource-A.png
053-BPC-MachineSource-B.png


Page d'accueil

Sous Hôtes, on choisit le nom de notre nouvelle machine c.-à-d. 192.168.1.152. Sa page d'accueil s'affiche.

053-BPC-MachineSource-D.png


Vérification de la configuration

  1. Modifier la configuration
  2. Paramètres de sauvegardeCommandes des usagers.
    On vérifie la pre-commande et la post-commande.
053-BPC-MachineSource-E.png
053-BPC-MachineSource-F.png


  1. HoraireSauvegardes complètes.
  2. Sauvegardes incrémentielles.
  3. Suspension.
    * BackupsDisable = 1 = désactivé, s'applique seulement aux sauvegardes automatiques. On peut quand même faire une sauvegarde manuelle pour vérifier que tout fonctionne correctement.
    * Vu que nous ne ferons que quelques sauvegardes manuelles de cette machine, plus tard, il ne sera pas nécessaire d'activer les sauvegardes automatiques. Après la sauvegarde Complète et les deux Incrémentielles du serveur SOURCE, nous allons recycler cette quincaillerie et allons restaurer la dernière sauvegarde Incrémentielle vers la nouvelle quincaillerie i.e. le serveur DESTINATION. Cette Incrémentielle est fusionnée donc, elle est "complète" parce qu'elle contient aussi les liens vers tous les fichiers qui lui manque.
    * Sur nos Serveurs SME en production, on activera les sauvegardes automatiques seulement après avoir vérifier une sauvegarde manuelle.
  4. BlackoutPeriods.
053-BPC-MachineSource-H.png
053-BPC-MachineSource-I.png
053-BPC-MachineSource-G.png
027-BPC-Horaire-A.png


Téléversement de la clé SSH de BackupPC vers SOURCE

Sur le serveur hôte de BackupPC, on se substitue à l'usager backuppc.

# su -s /bin/bash backuppc


On téléverse la clé publique de BackupPC vers le client SOURCE afin que BackupPC puisse entrer en communication sans devoir utiliser un mot de passe lors d'une connexion SSH.

# cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@192.168.1.152 "cat >> /root/.ssh/authorized_keys2"
The authenticity of host '[192.168.1.152]:2222 ([192.168.1.152]:2222)' can't be established.
RSA key fingerprint is c0:24:7f:fe:00:83:cd:f6:2b:ad:e7:b9:dc:b4:aa:bf.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.1.152]:2222' (RSA) to the list of known hosts.
root@192.168.1.152's password: mot-de-passe-de-root-du-serveur-SOURCE


Vérification

On vérifie le login sans mot de passe et la clé SSH de BackupPC stockée sur le serveur SOURCE.

# ssh -p 2222 root@192.168.1.152  "cat /root/.ssh/authorized_keys2"
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA24XUsh60M8PA7Xe6+lsk7+LdnpHcTx+U8XLjhRpUXTj2muSdS8QjBv4A7eSyiXOt550HUPlLELMZuewPnNt+ODViPAl7TC+at7xSfDGHmlcdDek+M36P
OSIyStoK2LEGsvnK2v6lpo3exChf0QTfGMAn43nxybyFGJ+I3USG/HAfuqzqfFrCwFxYxc8WcjcocK6HXXziF8E1BWheyO4qz1S0KWq2NEr7KdOa2xT+xYB5wtSKrYdJV7QEoGOtZ3PwNvE6
xTl3rAcHI7ZVMSJAGRjQLKPXo9isfzZfs/FW8QuoqqZCSPYeIp/n+qjj/iTttfO17sbzF09HKdSCboUEw== backuppc@sme-9

L'usager root s'est logué au serveur SOURCE sans mot de passe, le temps d'exécuter la commande cat qui a affiché le contenu du fichier authorized_keys2 du serveur 192.168.1.152.


Sur le serveur hôte, on vérifie la concordance des clés en affichant la clé publique de BackupPC stockée sur le serveur hôte.

# cat /var/lib/BackupPC/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA24XUsh60M8PA7Xe6+lsk7+LdnpHcTx+U8XLjhRpUXTj2muSdS8QjBv4A7eSyiXOt550HUPlLELMZuewPnNt+ODViPAl7TC+at7xSfDGHmlcdDek+M36P
OSIyStoK2LEGsvnK2v6lpo3exChf0QTfGMAn43nxybyFGJ+I3USG/HAfuqzqfFrCwFxYxc8WcjcocK6HXXziF8E1BWheyO4qz1S0KWq2NEr7KdOa2xT+xYB5wtSKrYdJV7QEoGOtZ3PwNvE6
xTl3rAcHI7ZVMSJAGRjQLKPXo9isfzZfs/FW8QuoqqZCSPYeIp/n+qjj/iTttfO17sbzF09HKdSCboUEw== backuppc@sme-9
  • Les clés coïncident. La clé a donc bien été téléversée sur le serveur SOURCE.


On se désengage de la session backuppc et on retourne à l'usager root.

# exit


Icone-AstuceAPT.png  Si la connexion distante n'a pas réussie, on peut se loguer en root à la console du serveur distant et désactiver AutoBlock.

# config setprop sshd AutoBlock disabled


On signale le changement.

# signal-event remoteaccess-update


Icone-AsurveillerAPT.png  Depuis la console du serveur BackupPC, on ré-essaie une connexion à distance vers le serveur 192.168.1.152.

Icone-NoteAPT.png  Il ne sera pas nécessaire de réactiver AutoBlock sur le serveur distant car, la script post-sauvegarde.sh s'en chargera.


S'il est impossible de désactiver AutoBlock à cause de l'inaccessibilité de la console à distance:

  • On peut demander d'installer Fail2ban sur le serveur distant et mettre l'IP du serveur BackupPC sur la liste blanche.
  • Vu que Fail2ban remplace les fonctionnalités d'AutoBlock, on désactive ce dernier et ainsi, les logins depuis BackupPC ne seront plus jamais bloqués.
  • Pour l'installation de Fail2ban, voir https://www.micronator.org/affaires/produit/sme-9-x8-x-fail2ban/.


Sauvegardes du Serveur SME SOURCE

  1. Diagramme du Serveur SME SOURCE.
  2. Sur la page d'accueil de la machine du serveur SOURCE (192.168.1.152), on lance la sauvegarde Complète de la même manière que celle du serveur BackupPC exécutée plus tôt.
    La sauvegarde débute.
rignt
054-BPC-SauvegardeSource-B.png


  1. La sauvegarde est en cours.
  2. Le Fichier journal de la machine SOURCE affiche les résultats de la sauvegarde Complète.
054-BPC-SauvegardeSource-C.png
054-BPC-SauvegardeSource-D.png


La page d'accueil de la machine SOURCE affiche tous les détails de la sauvegarde.

054-BPC-SauvegardeSource-E.png


Icone-NoteAPT.png  Les Fichiers existants sont ceux trouvés dans la sauvegarde d'un autre SME, celle de 127.0.0.1, ils sont identiques à ceux de SOURCE et ainsi BackupPC crée des liens pour la sauvegarde de SOURCE pointant vers ces mêmes fichiers identiques appartenant à 127.0.0.1. C'est ce qui explique que 10 774 fichiers ont une grandeur totale minime de 21.9 Mo; seulement 4 852 nouveaux fichiers, exclusifs à SOURCE, ont été sauvegardés.


Incrémentielles du Serveur SME SOURCE

Première Incrémentielle

On lance la sauvegarde Incrémentielle de la même manière que celle du serveur hôte de BackupPC plus tôt.

  1. L'Incrémentielle est terminée.
  2. L'Incrémentielle a été fusionnée.
055-BPC-IncrementiellesServeurSource-A.png
055-BPC-IncrementiellesServeurSource-B.png


Sur la page d'accueil, les détails de la sauvegarde Incrémentielle 1 sont affichés.

055-BPC-IncrementiellesServeurSource-C.png


Deuxième Incrémentielle

On peut aussi faire une deuxième Incrémentielle pour voir ce qui se passera.

  1. Les deux Incrémentielles sont toutes deux fusionnées.
  2. Sur la page d'accueil, les détails de toutes les sauvegardes sont affichés.
055-BPC-IncrementiellesServeurSource-D.png
055-BPC-IncrementiellesServeurSource-E.png


Tout s'est bien passé. On est prêt pour une restauration Complète du serveur SOURCE sur le serveur DESTINATION.


Restauration de SOURCE sur DESTINATION

Description de la dernière sauvegarde de SOURCE

056-BPC-RestSourceSurDestination-C.png

  La dernière sauvegarde de SOURCE porte le #2.

  On se servira de ce numéro pour générer le fichier TAR.


056-BPC-RestSourceSurDestination-D.png

La dernière sauvegarde est de type Incrémentielle mais, Fusionnée; c'est à dire qu'elle contient aussi des liens vers les fichiers de la dernière sauvegarde Complète.


Par contre, elle n'a pas sauvegarder les fichiers:

  • /etc/fstab
    Servant pour le montage des disques.
      
  • /etc/udev/rules.d/70-persistent-net.rules
    Servant à relier les a­dres­ses MAC des cartes réseau à leur dispositif eth0 et eth1.


Création du fichier TAR de la sauvegarde

On crée un répertoire de stockage pour nos futurs fichiers TAR qui serviront pour les restaurations complètes.

Sur le serveur BackupPC en tant qu'usager root.

 # mkdir /var/lib/BackupPC/mes_restaurations


On ajuste le propriétaire et le groupe.

# chown backuppc:backuppc /var/lib/BackupPC/mes_restaurations/


On ajuste les droits.

# chmod 700 /var/lib/BackupPC/mes_restaurations/


On vérifie.

# ls -lsd /var/lib/BackupPC/mes_restaurations/


Création du fichier TAR

BackupPC_tarCreate

  • BackupPC_tarCreate crée un fichier TAR contenant tous les fichiers ou répertoires d'une sauvegarde particulière. La fusion des Incrémentielles se fait automatiquement; vous n'avez donc pas à vous soucier de savoir si certains fichiers apparaissent dans la sauvegarde Incrémentielle ou Complète.
  • Les fichiers et répertoires de la ligne de commande sont relatifs au nom du partage spécifié.
  • Les options -h, -n et -s spécifient quelle sauvegarde est utilisée pour générer l'archive TAR. Les options -r et -p peuvent être utilisées pour déplacer les chemins dans l'archive TAR afin que les fichiers extraits puissent être versés dans un emplacement différent de leur emplacement d'origine.


Options de BackupPC_tarCreate:

Options obligatoires:
   -h host         hôte à partir duquel l'archive TAR est créée
   -n dumpNum      numéro de la sauvegarde à partir de laquelle l'archive TAR est créée
                   Un nombre négatif signifie par rapport à la fin (par exemple, -1
                   signifie la sauvegarde la plus récente, -2 la 2ème plus récente etc).
   -s shareName    nom du partage à partir duquel l'archive TAR est créée

Autres options:
   -t              affiche un résumé des totaux
   -r pathRemove   préfixe du chemin qui sera remplacé par pathAdd
   -p pathAdd      préfixe du nouveau chemin
   -b BLOCKS       BLOCKS x 512 octets par enregistrement (20 par défaut, identique à tar)
   -w writeBufSz   taille du tampon d'écriture (1048576 = 1 Mo par défaut)
   -e charset      jeu de caractères pour l'encodage des noms de fichiers (par défaut: la
                   valeur de $Conf{ClientCharset} utilisée lorsque la sauvegarde a été
                   effectuée)
   -l              affiche la liste des fichiers; ne génère pas d'archive TAR
   -L              affiche la liste détaillée des fichiers; ne génère pas d'archive TAR


On se substitue à l'usager backuppc. (L'invite va passer de # à $).

# su - backuppc -s /bin/sh


On se rend dans le répertoire de stockage.

$ cd /var/lib/BackupPC/mes_restaurations/


On crée le fichier TAR de la sauvegarde numéro 2 du serveur hôte 192.168.1.152.

Icone-NoteAPT.png  Peut prendre un certain temps. Être patient!

$ /usr/share/BackupPC/bin/BackupPC_tarCreate  -h 192.168.1.152 -n 2 -s /  / > source-152-2.tar


On vérifie.

$ ls -ls
2357982 -rw-r--r-- 1 backuppc backuppc 2414571520 15 mai 15:11 source-152-2.tar


Environnement du Serveur DESTINATION

Réseau LOCAL vs externe

056-BPC-RestSourceSurDestination-E.png

Le réseau LOCAL du serveur micronator.org, servant d'aiguilleur pour les connexions à l'Internet, est sur le segment IP 192.168.1.0/24.

Toutes nos machines de travail et tous nos Serveur SME virtuels sont donc sur le réseau LOCAL du serveur micronator.org.

Tous nos serveurs virtuels sont connectés à travers leur carte réseau LOCAL (eth0) sur le segment LOCAL de micronator.org; ils sont tous sur le segment IP 192.168.1.0/24 et peuvent utiliser l'aiguilleur micronator.org pour se rendre sur l'Internet.

Tout ceci fait en sorte que toutes nos stations, pour communiquer avec leur serveur respectif, passent par le réseau LOCAL de leur Serveur SME virtuel.



Serveur SME DESTINATION distant

056-BPC-RestSourceSurDestination-F.png


Advenant le cas où le Serveur SME est distant et que l'accès SSH soit privé, on peut ouvrir une session TeamViewer sur une station distante ayant accès au réseau LOCAL du serveur distant puis, ouvrir une connexion PuTTY sur la station distante afin de se brancher localement au serveur DESTINATION et rendre l'accès SSH publique.

Icone-AsurveillerAPT.png  Dans le gestionnaire Server Manager de DESTINATION, sur la page Accès à distance, il faut aussi vérifier tous les autres paramètres SSH. Voir: #Paramètres SSH de tous les serveurs.


Mise à jour SME

Icone-AsurveillerAPT.png  Avant la restauration, il est préférable de mettre à jour le serveur DESTINATION. Le répertoire /boot du serveur SOURCE n'étant pas sauvegardé, la mise à jour avant la restauration installera sur DESTINATION le dernier noyau Linux s'il y a lieu.


Téléversement de la clé SSH de BackupPC sur DESTINATION

On se substitue à l'usager backuppc et on téléverse la clé publique de BackupPC sur le serveur DESTINATION (192.168.1.102) afin que BackupPC puisse entrer en communication avec le serveur DESTINATION sans devoir utiliser un mot de passe lors d'une connexion SSH.

$ cat /var/lib/BackupPC/.ssh/id_rsa.pub | ssh -p 2222 root@192.168.1.102 "cat >> /root/.ssh/authorized_keys2"
The authenticity of host '[192.168.1.102]:2222 ([192.168.1.102]:2222)' can't be established.
RSA key fingerprint is be:a2:3f:cf:c1:4f:05:63:1a:12:c8:75:c5:a7:2c:6f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.1.102]:2222' (RSA) to the list of known hosts.
root@192.168.1.102's password: mot-de-passe-de-root-du_serveur-DESTINATION


Vérification de la connexion

On ouvre une connexion SSH vers DESTINATION et on affiche ses paramètres d'AutoBlock.

$ /usr/bin/ssh -p2222 root@192.168.1.102 "/sbin/e-smith/config show sshd"
    AutoBlock=enabled
    AutoBlockTime=900
    AutoBlockTries=4
    LoginGraceTime=600
    MaxAuthTries=2
    MotdStatus=enabled
    PasswordAuthentication=yes
    PermitRootLogin=yes
    TCPPort=2222
    UsePAM=yes
    access=public
    status=enabled

Il n'y a pas eu de demande de mot de passe et l'exécution de la commande s'est terminé correctement. La connexion sans mot de passe est donc fonctionnelle.


On se désengage de la connexion sans mot de passe.

$ exit


Nous sommes de retour à la console du serveur BackupPC; on sort de su et on revient à l'usager root.

$ exit


Page WEB actuelle de DESTINATION

056-BPC-RestSourceSurDestination-B.png


Login sur le serveur DESTINATION

Icone-AstuceAPT.png  On peut ouvrir un session SSH vers le serveur de DESTINATION pour pouvoir voir ce qui s'est passé en cas d'erreur de restauration.

Icone-AsurveillerAPT.png  Il faut ouvrir cette session avant la restauration car, celle-ci écrasera les clés SSH de DESTINATION et le serveur pourrait refuser toutes nouvelles connexions.


Le fichier TAR de la sauvegarde a été créé et la clé SSH téléversée. Nous sommes prêt pour la restauration.


Commande de pré-restauration

Contrairement à une restauration de quelques répertoires ou fichiers, lorsqu'on restaure toute une sauvegarde, il faut exécuter la commande de pre-restauration avant la restauration et celles de post-installation après la restauration.


On envoie la commande de pre-restauration avec une pause de 15 secondes.

Icone-AsurveillerAPT.png  Attendre que l'invite revienne.

$ /usr/bin/ssh -p 2222 root@192.168.1.102 "/sbin/e-smith/signal-event pre-restore; /bin/sleep 15"


Vérification de l'exécution de la commande de pré-restauration.

$ /usr/bin/ssh -p 2222 root@192.168.1.102 "/bin/date; cat /var/log/messages | grep  'Processing event: pre-restore' | tail -1"
mar. mai 15 18:26:02 EDT 2018
May 15 18:25:21 destination esmith::event[2537]: Processing event: pre-restore


Arrêt du serveur SOURCE

Icone-AsurveillerAPT.png  Il faut absolument que le serveur SOURCE soit éteint avant de lancer les commandes de restauration car, la commande post-restauration en fait partie. Si SOURCE roule encore lors du réamorçage de DESTINATION, des conflits de noms de serveurs et d'adresses IP seraient détectés.


Restauration

Le groupe de commandes qui envoie le fichier TAR au serveur DESTINATION:

  • Se connecte.
  • Demande à DESTINATION de se rendre dans le répertoire racine /.
  • Envoie le fichier TAR que DESTINATION décompose avec /bin/tar -xvv.  (L'option vv affiche une liste plus longue, semblabe à ls -l).
  • À la fin du téléversement, envoie les commandes de post-restauration.
  • Se déconnecte car, les commandes de restauration sont terminées.

Icone-AsurveillerAPT.png  Peut prendre plusieurs minutes et même plusieurs heures pour une très grosse restauration.


La restauration est terminée lorsque l'invite $ réapparaît.

$ ssh -p 2222 root@192.168.1.102 "cd / && /bin/tar -xvv; /sbin/e-smith/signal-event post-upgrade; /sbin/e-smith/signal-event reboot" < source-152-2.tar
...
-rw-r--r-- root/root                   172 2007-08-28 10:54 ./var/www/icons/small/unknown.png
-rw-r--r-- root/root                   125 2004-11-20 20:16 ./var/www/icons/small/uu.gif
-rw-r--r-- root/root                   166 2007-08-28 10:54 ./var/www/icons/small/uu.png
bash:   : commande introuvable
$

Icone-NoteAPT.png  La ligne bash:  : commande introuvable peut être ignorée car il n'y a pas de commande introuvable, seulement une suite d'espaces interprété comme une commande.


Réamorçage

DESTINATION a reçu les commandes de post-restauration et réamorce pour activer les nouveaux paramètres de configuration i.e. ceux contenus dans le fichier TAR.

  1. Le serveur débute son réamorçage. (Peut prendre un certain temps. Être patient!)
  2. Activation des paramètres de configuration.
056-BPC-RestSourceSurDestination-H.png
056-BPC-RestSourceSurDestination-I.jpg


  1. Remise en place des bases de données MySQL.
  2. Le fenêtre de login est affichée.
056-BPC-RestSourceSurDestination-J.png
056-BPC-RestSourceSurDestination-K.png


Vérification

Login SSH

Icone-AsurveillerAPT.png  Maintenant, DESTINATION est un clone de de SOURCE.


Si nous n'avons pas ouvert de session SSH vers DESTINATION avant la restauration, on en ouvre une maintenant et on se logue en root avec son mot de passe du serveur SOURCE.

# login as: root

root@192.168.1.152's password: mot-de-psse-de-root-sur-SOURCE
Last login: Tue May 15 19:31:03 2018
************ Welcome to SME Server 9.2 *************

Before editing configuration files, familiarise
yourself with the automated events and templates
systems.

Please take the time to read the documentation
http://wiki.contribs.org/Main_Page

Remember that SME Server is free to download
and use, but it is not free to build

Please help the project :
http://wiki.contribs.org/Donate

****************************************************
[root@source ~]#


Cartes réseau

# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:D7:69:CF
          inet adr:192.168.2.152  Bcast:192.168.2.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:79 errors:0 dropped:0 overruns:0 frame:0
          TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:5968 (5.8 KiB)  TX bytes:6941 (6.7 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:D1:6F:3C
          inet adr:192.168.1.152  Bcast:192.168.1.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:342 errors:0 dropped:0 overruns:0 frame:0
          TX packets:250 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:60892 (59.4 KiB)  TX bytes:23676 (23.1 KiB)

lo        Link encap:Boucle locale
          inet adr:127.0.0.1  Masque:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:107 errors:0 dropped:0 overruns:0 frame:0
          TX packets:107 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:8435 (8.2 KiB)  TX bytes:8435 (8.2 KiB)


Site Web

Le site Web est fonctionnel tel qu'il était sur le serveur SOURCE original.

  1. Nouveau diagramme du serveur DESTINATION.
  2. On se rend au nouveau URL du serveur DESTINATION c.-à-d. l'adresse du serveur SOURCE.
056-BPC-RestSourceSurDestination-L.png
056-BPC-RestSourceSurDestination-M.png


Le site Web est tel qu'il était sur le serveur SOURCE original. DESTINATION est maintenant identique à SOURCE. CQFD


Cartes réseaux du serveur de DESTINATION

Il faut s'assurer que le serveur DESTINATION ait une configuration unique pour ses cartes réseau et que ces dernières soient bien eth0 et eth1.

Icone-AsurveillerAPT.png  Si on change les cartes réseau, la configuration prendrait par défaut, les cartes eth2 et eth3.

Icone-NoteAPT.png  Exemple: les cartes physiques originales ne sont plus présentes sur le serveur DESTINATION car, après la restauration, elles ont été remplacées par des cartes plus rapides.


Vérification des cartes réseaux de DESTINATION

On se logue au serveur DESTINATION et on examine la configuration de ses nouvelles cartes réseau.

# ifconfig
eth2      Link encap:Ethernet  HWaddr 00:1C:C0:F0:1F:95
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:2001 (1.9 KiB)  TX bytes:5972 (5.8 KiB)

eth3      Link encap:Ethernet  HWaddr 00:50:8B:AE:88:89
          inet adr:192.168.1.1  Bcast:192.168.1.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:221 errors:0 dropped:0 overruns:0 frame:0
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:38647 (37.7 KiB)  TX bytes:15939 (15.5 KiB)

lo        Link encap:Boucle locale
          inet adr:127.0.0.1  Masque:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:5212 (5.0 KiB)  TX bytes:5212 (5.0 KiB)

Comme on le voit ci-dessus, les cartes présentes ne sont pas celles d'origine car elles portent les noms de eth2 et eth3.


On affiche le fichier de configuration des cartes réseau.

# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D7:69:CF", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D1:6F:3C", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1C:C0:F0:1F:95", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:8B:AE:88:89", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

Comme on le voit ci-dessus, les cartes originales eth0 et eth1 ont été remplacées par les cartes eth2 et eth3.


Fichier /etc/udev/rules.d/70-persistent-net.rules

On édite le fichier /etc/udev/rules.d/70-persistent-net.rules tel que ci-dessous:

  • On supprime les lignes des anciennes cartes eth0 et eth1.
  • On remplace eth2 par eth0.
  • On remplace eth3 par eth1.
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

#PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D7:69:CF", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:D1:6F:3C", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1C:C0:F0:1F:95", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:8B:AE:88:89", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


Répertoire /etc/sysconfig/network-scripts

On se rend dans le répertoire de configuration des scripts des cartes réseau.

# cd /etc/sysconfig/network-scripts


Fichier ifcfg-eth2

# cat ifcfg-eth2 | grep eth2
DEVICE=eth2


  • On change DEVICE=eth2 pour DEVICE=eth0.
# sed -i 's/DEVICE=eth2/DEVICE=eth0/' ifcfg-eth2


  • On renomme le fichier ifcfg-eth2 pour ifcfg-eth0.
# mv  ifcfg-eth2  ifcfg-eth0


Fichier ifcfg-eth3

# cat ifcfg-eth3 | grep eth3
DEVICE=eth3


  • On change DEVICE=eth3 pour DEVICE=eth1.
# sed -i 's/DEVICE=eth3/DEVICE=eth1/' ifcfg-eth3


  • On renomme le fichier ifcfg-eth3 pour ifcfg-eth1.
# mv  ifcfg-eth3  ifcfg-eth1


Fichier route-eth2

  • On renomme le fichier route-eth2 pour route-eth0.
# mv  route-eth2  route-eth0


Fichier route-eth3

  • On change eth3 pour eth1.
# sed -i 's/eth3/eth1/' route-eth3


  • On renomme le fichier route-eth3 pour route-eth1.
# mv route-eth3 route-eth1


Réamorçage

# shutdown -r now


On se logue et on vérifie.

# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1C:C0:F0:1F:95
          inet adr:192.168.2.102  Bcast:192.168.2.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:2001 (1.9 KiB)  TX bytes:5972 (5.8 KiB)

eth1      Link encap:Ethernet  HWaddr 00:50:8B:AE:88:89
          inet adr:192.168.1.102  Bcast:192.168.1.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:221 errors:0 dropped:0 overruns:0 frame:0
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:38647 (37.7 KiB)  TX bytes:15939 (15.5 KiB)

lo        Link encap:Boucle locale
          inet adr:127.0.0.1  Masque:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:5212 (5.0 KiB)  TX bytes:5212 (5.0 KiB)


Fermeture de la connexion SSH

On ferme la connexion SSH vers le serveur DESTINATION.

# exit
Les cartes réseau ont retrouvé leur dispositif par défaut.

Déverminage

sshd & AutoBlock

OpenSSH

Référence: https://fr.wikipedia.org/wiki/OpenSSH.

OpenSSH (OpenBSD Secure Shell) est un ensemble d'outils informatiques LIBREs, permettant des communications sécurisées sur un réseau informatique en utilisant le protocole SSH.

Créé comme alternative LIBRE à la suite logicielle proposée par la société SSH Communications Security, OpenSSH est développé depuis 1999 par l'équipe d'OpenBSD, dirigée par son fondateur Theo de Raadt, et diffusé sous licence BSD.

OpenSSH est à la fois une brique logicielle du système OpenBSD et l'implémentation SSH la plus utilisée sur les systèmes BSD et GNU/Linux. L'équipe du projet OpenSSH maintient une version normale propre à OpenBSD et une version multiplateforme sous l'appellation Portable OpenSSH à destination des systèmes compatibles (autres BSD, systèmes GNU/Linux...). Les versions multiplateforme sont estampillées d'un p comme portable, par exemple: OpenSSH 5.0p1.

La suite logicielle OpenSSH inclut les outils suivants:

  • ssh, un remplaçant pour les clients rlogin et telnet: ssh utilisateur@exemple.com.
  • scp, un remplaçant pour le client rcp: scp toto.txt utilisateur@exemple.com:~/utilisateur/.
  • sftp, un remplaçant pour le client ftp: sftp utilisateur@exemple.com.
  • sshd, le démon SSH: sshd, le démon qui nous intéresse le plus en ce qui concerne BackupPC.


Paramètres du démon sshd pour tous nos Serveurs SME

Comme exemple, on affiche le paramètre du démon sshd du serveur hôte de BackupPC.

# config show sshd
sshd=service
    AutoBlock=enabled
    AutoBlockTime=900
    AutoBlockTries=4
    LoginGraceTime=600
    MaxAuthTries=2
    MotdStatus=enabled
    PasswordAuthentication=yes
    PermitRootLogin=yes
    TCPPort=2222
    UsePAM=yes
    access=public
    status=enabled


AutoBlock=enabled

Si AutoBlock est activé i.e =enabled, il rejette les connexions, provenant de la même adresse IP, après 3 demandes ou plus (début du blocage indiqué par AutoBlockTries) au cours des 15 minutes précédentes (AutoBlockTime=900). Le blocage automatique se termine lorsqu'il y a eu moins de demandes que ce nombre dans le temps spécifié (AutoBlockTime). Les connexions réussies font aussi partie du nombre de demandes.

Icone-NoteAPT.png  Par design, seules les adresses IP en dehors du réseau LOCAL seront bloquées.

Icone-AstuceAPT.png  Dans cette marche à suivre, on s'occupe toujours d'AutoBlock au cas où les communications des serveurs de nos lecteurs se feraient sur le réseau externe au lieu de LOCAL.


AutoBlockTime=900

L'intervale de temps pendant lequel les connexions sont comptées.

Si AutoblockTime est à 900s, le temps de libération après une quatrième tentative est de 900s.

Si AutoblockTime est à 900s, le temps de libération après une cinquième tentative est de 2 x 900s = 1800s.

Si AutoblockTime est à 900s, le temps de libération après une sixième tentative est de 4 x 900s = 3600s.

Si AutoblockTime est à 900s, le temps de libération après une septième tentative est de 8 x 900s = 7200s.


AutoBlockTries=4

Début du nombre de connexions à partir duquel elles seront bloquées.

AutoBlockTries=4 signifie que 3 connexions, réussies ou non, sont autorisées. La quatrième sera bloquée.


Réglages

Référence: https://wiki.contribs.org/AutoBlock.

Icone-NoteAPT.png  La commande signal-event remoteaccess-update entraînera la suppression de l'historique d'AutoBlock en raison de la présence de: masq -> adjust dans le fichier services2adjust exécuté par remoteaccess-update.


AutoBlock

Activation

# db configuration setprop sshd AutoBlock enabled


Désactivation

# db configuration setprop sshd AutoBlock disabled


Il faut obligatoirement signaler le changement.

# signal-event remoteaccess-update


AutoBlockTries

# db configuration setprop sshd AutoBlockTries 4


Il faut obligatoirement signaler le changement.

# signal-event remoteaccess-update


AutoBlockTime

En secondes.

# db configuration setprop sshd AutoBlockTime 900


Il faut obligatoirement signaler le changement.

# signal-event remoteaccess-update


Historique d'AutoBlock

Affichage de l'historique d'AutoBlock.

# cat /proc/net/xt_recent/SSH
src=192.168.1.81 ttl: 128 last_seen: 4300025257 oldest_pkt: 3 4295469879, 4299976390, 4300025257


État actuel du blocage

Affichage de l'état actuel du blocage pour les 100 dernières adresses IP vues:

# iptables -L SSH_Autoblock -v
Chain  SSH_Autoblock (1 references)
 pkts  bytes target   prot  opt  in   out  source    destination
    3    156          all   --   any  any  anywhere  anywhere     recent: SET name: SSH side: source
    0      0 denylog  all   --   any  any  anywhere  anywhere     recent: CHECK seconds: 900 hit_count: 4 TTL-Match name: SSH side: source


Suppression de l'historique

Un administrateur du système, avec les droits de root, peut supprimer l'historique de SSH_AutoBlock à tout moment avec la commande suivante:

# echo "/" > /proc/net/xt_recent/SSH


Script de pré-sauvegarde

Si la désactivation d'AutoBlock est non fonctionnel:

  1. Courriel reçu par EMailAdminUserName@EMailUserDestDomain (admin@micronator-101.org).
  2. Message dans le journal BackupPC de cette machine.
  3. Message affiché sur la page d'accueil de la machine en question.
006-BPC-EMailAdminUserName.png
Aborting backup up after signal INT

Output from DumpPreUserCmd: Got reply: ok: backup of 192.168.1.152 canceled

007-BPC-ResumeDeLaSauvegarde.png


Si une expiration du délais de connexion est rencontrée

Message dans le journal BackupPC de cette machine.

Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out
Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out
Output from DumpPreUserCmd: ssh: connect to host 192.168.1.152 port 2222: Connection timed out
Output from DumpPreUserCmd: Null message body; hope that's ok
Aborting backup up after signal INT
Output from DumpPreUserCmd: Got reply: ok: backup of 192.168.1.152 canceled


Pour désactiver le blocage des sauvegardes pour cette machine

  1. Changer ce nombre.
  2. Entrer 0.0 > Arrêter/annuler la sauvegarde.
  3. Cliquer le nom de la machine: 192.168.1.152.
  4. On est de retour à la page d'accueil de cette machine.
  5. Message au retour d'une Expiration du délais de connexion.
008-BPC-DesactiverBlocage-A.png
008-BPC-DesactiverBlocage-B.png
008-BPC-DesactiverBlocage-C.png
008-BPC-DesactiverBlocage-D.png
008-BPC-DesactiverBlocage-E.png

Script de post-sauvegarde

Si la désactivation d'AutoBlock est non fonctionnel

  1. Courriel reçu par EMailAdminUserName@EMailUserDestDomain (admin@micronator-101.org).
  2. Message affiché sur la page d'accueil de la machine en question.
    Cliquer: Changer ce nombre.
010-BPC-Post-abNonFonctionnel-A.png
010-BPC-Post-abNonFonctionnel-B.png


  1. Entrer 0.0 > Arrêter/annuler la sauvegarde.
  2. Cliquer le nom de la machine: 192.168.1.152 pour retourner à la page d'accueil de cette machine.
010-BPC-Post-abNonFonctionnel-D.png
010-BPC-Post-abNonFonctionnel-E.png


Mot de la fin

Ce Cahier-9 s'ajoute en supplément aux précédents cahiers du Cours SME-101 afin de pourvoir faire une sauvegarde complète des Serveurs SME créés avec ces derniers.

Voici quelques marches à suivre relatives à Odoo-11.



Particularités de ce document

Avertissement

Bien que nous utilisions ici un vocabulaire issu des sciences informatiques, nous ne prétendons nullement à la précision technique de tous nos propos dans ce domaine.


Notes au lecteur

  • Les captures d’écrans ne sont que des références.
  • Les informations écrites ont préséance sur celles retrouvées dans les captures d’écrans. Se référer aux différents tableaux lorsque ceux-ci sont présents.


Conventions

  • Toutes les commandes à entrer à la console du Serveur SME commencent habituellement avec l'invite # pour l'usager root ou $ pour un usager sans privilège particulier.
  • L'invite mysql> de la console MySQL est toujours présente.
  • La sortie de la commande est séparée de celle-ci par une ligne vide sans couleur de fond.
  • L'invite de retour n'est jamais présent pour la plupart des commandes.
  • Les affichages à surveiller sont en rouge, bleu, orange ou magenta.
# ping 192.168.1.149
192.168.1.149 is alive


Les liens de référence Internet sont en bleu de même que ceux intra-document mais, ces derniers débute par un " # ".

Icone-SeTirerDembarrasAPT.png  Manipulation, truc ou ruse pour se tirer d’embarras.

Icone-AstuceAPT.png  Une recommandation ou astuce.

Icone-NoteAPT.png  Une note.

Icone-AsurveillerAPT.png  Une étape, note ou procédure à surveiller.

Icone-DangerAPT.png  Danger pour la sécurité du système.

IconePlusieursLignesAPT.png  Indique que la commande est sur une seule ligne. Pour ce document en PDF, il faudra copier la commande entière dans un éditeur de texte ASCII tel que NotePad++ et la mettre sur une seule ligne avant de la copier à la console.

Une chaîne de caractères en magenta indique qu’il faut remplacer cette chaîne par vos propres paramètres.

Commande à exécuter si ce n'est déjà fait.
Commande indiquée à titre d'information seulement.



Composants du Cours SME-101

Cours-SME-101-000-DiagParIcone-A-5-APT.png

Cours SME-101

Après avoir suivi le cours SME-101, l'Étudiant possédera un site de Commerce en ligne fiable et hautement sécuritaire.


De plus, il pourra utiliser un clone de son site, sur un Serveur SME virtuel sur sa station de travail, pour tester de nouvelles extensions et applications sans compromettre la sécurité ou l'intégrité de son site en ligne.


Icone-NoteAPT.png Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence GPL; ils ne coûtent pas un sous. Le seul achat nécessaire est l'obtention d'un nom de domaine FQDN au prix initial de $15 CAD et son renouvellement annuel d'environ $30 CAD.




Documentation

Se voulant une base solide pour la création d'un site de Commerce en ligne, le cours SME-101 comprend plusieurs cahiers:

Cours-SME-101-024-Tux-APT.png





Cours-SME-101-023-LogicielsPosteDeTravail-APT.png







Cours-SME-101-026-ServeurSME-APT.png
  • Cahier-02: Description du parcours des paquets IP du Serveur SME vers l'Internet, création de la machine virtuelle, installation/configuration du serveur Linux SME et enfin, sauvegarde/restauration de ce dernier, SME-101.02 Serveur SME.
  • Cahier-03: Abonnement à un FAI, installation et configuration d'un modem ADSL/VDSL, création d'un domaine chez un fournisseur de Service DNS dynamique avec installation d'un script pour sa mise à jour et enfin la marche à suivre pour l'obtention et la configuration d'un domaine FQDN[6], SME-101.03 ADSL/VDSL, DDNS et Domaine FQDN.
  • Cahier-04: Installation d'un certificat SSL de l'autorité de certification Let's Encrypt et script de mise à jour, SME-101.04 Certificat Let's Encrypt.




Cours-SME-101-027-CommerceEnLigne-APT.png
  • Cahier-05A: Installation et configuration de WordPress, SME-101.05A WordPress.
  • Cahier-05B: Installation et configuration de l'extension de sécurité Wordfence, SME-101.05B Wordfence.
  • Cahier-06: Installation et configuration de l'extension de vente en ligne WooCommerce, création de comptes chez Stripe et PayPal pour les paiements en ligne, SME-101.06 WooCommerce.




Cours-SME-101-028-Outils-APT.png




    

SME-201.01-002-RectangleBlanc-650x40-APT.png



Cours SME-201



SME-201.01-001-Logo-Proxmox.png
   * Cahier-01: Proxmox, SME-201.01: Proxmox-5.2.1.


SME-201.02-000-Logo-MediaWiki-APT.png
   * Cahier-02: MediaWiki, SME-201.02 MediaWiki-1.31.1.


SME-201.03-000-LogoDolibarr-APT-341x87.png
   * Cahier-03: Dolibarr   (À venir).


SME-201.04-000-Logo osTicket-APT.png
   * Cahier-04: OsTicket, SME-201.04: osTicket-1.10.4.



Michel-André          


caption  Victoire totale, hissons la bannière de la victoire.


  1. Dispositif: Unité qui assure la réalisation d'une opération particulière, indispensable au bon fonctionnement d'un système informatique, d'une machine ou d'un appareil.
    Référence: http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8357059.
  2. phrase de passe: Groupe de mots et de caractères alphanumériques ou spéciaux, faisant office de mot de passe, connu de l'utilisateur seulement, qui sert à protéger sa clé privée et à l'identifier lors d'une connexion ou d'un transfert de fichier, tout en lui assurant une plus grande sécurité.
    Notes: Les phrases de passe ne diffèrent des mots de passe que par la longueur. Les mots de passe sont généralement très courts - de 6 à 10 caractères -, alors que les phrases de passe peuvent comporter jusqu'à 100 caractères (et même plus). Leur longueur et la combinaison des mots et des caractères alphanumériques contribuent à les rendre plus difficiles à deviner que les mots de passe, et donc plus sûres.
    Une phrase de passe doit être: connue que de l'utilisateur, suffisamment longue pour être sûre, difficile à deviner, facile à retenir et à saisir sans erreur. Certains considèrent qu'elle devrait atteindre 80 à 100 caractères pour être vraiment efficace.
    Référence: http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8361195.
  3. 127.0.0.1: Le nom localhost est associé à l’adresse IPv6 ::1 et à la plage d’adresses IPv4 127.0.0.0/8 (toutes les adresses IPv4 comprises entre 127.0.0.1 et 127.255.255.255 dont la plus utilisée est 127.0.0.1). L’interface réseau virtuelle utilisée dans cette situation se nomme l’interface de loopback (abrégée par lo sous Unix) ou boucle locale.
    Référence: https://fr.wikipedia.org/wiki/Localhost.
  4. sudo: Référence: https://fr.wikipedia.org/wiki/Sudo.
  5. réveil par le réseau: Fonction permettant de mettre sous tension à distance des ordinateurs personnels, à partir de commandes émises par un serveur de réseau local. Note: La fonction réveil par le réseau permet, à l'aide d'un serveur, d'effectuer des travaux de télémaintenance sur des ordinateurs personnels, lorsque leurs utilisateurs sont absents et qu'ils ont fermé leurs appareils.
    Référence: http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8370856.
  6. FQDN: Dans le DNS, un Fully Qualified Domain Name (FQDN, ou nom de domaine complètement qualifié) est un nom de domaine qui révèle la position absolue d'un nœud dans l'arborescence DNS en indiquant tous les domaines de niveau supérieur jusqu'à la racine. On parle également de domaine absolu, par opposition aux domaines relatifs. Par convention, le FQDN est ponctué par un point final.
    Référence: https://fr.wikipedia.org/wiki/Fully_qualified_domain_name.