
Cet article fait partie d'une série sur la construction de NAS et est écrit pour un type de système spécifique.
La sauvegarde est la deuxième tâche principale que je voulais résoudre en utilisant le NAS, après le système de gestion du référentiel .
Sa décision a traîné en longueur ...
De nombreux articles et même plusieurs livres ont déjà été écrits sur ce sujet, et de nombreux exemplaires ont été cassés lors de différends à ce sujet.
Vous trouverez ci-dessous une tentative de comprendre ce tas de matériel, de le mettre dans votre tête et de construire un petit système de manière relativement compétente.
Le système de sauvegarde (SRK) est déterminé par:
- Politique de sauvegarde. La politique définit les principaux buts et objectifs de la sauvegarde, ses exigences, sur la base de la liste des menaces pour chaque système de sauvegarde, et justifie également sa nécessité.
- Règlements de sauvegarde basés sur des règles. Le règlement décrit les algorithmes de sauvegarde et de récupération responsables des sauvegardes, les conditions de stockage des sauvegardes, etc.
- Implémentation instrumentale. En fait, logiciel et matériel.
Le processus de sauvegarde régulier est divisé en plusieurs parties principales:
- Début périodique de la copie.
- Commencez la récupération à la demande.
- Test du processus de copie.
Points d'interface du système avec la plateforme NAS:
tank0/apps/backup
- stockage de tank0/apps/backup
.tank1/apps/backup
- stockage de tank1/apps/backup
.https://backup.NAS.cloudns.cc
- Interface système basée sur le Web.
Les référentiels de sauvegarde sont des systèmes de fichiers distincts .
Cela est nécessaire car leurs options peuvent être très différentes, à la fois des systèmes de fichiers normaux et entre eux.
Par exemple, si nécessaire, la déduplication au moyen de FS peut être activée et la compression peut être désactivée.
Principes de sauvegarde

Il vaut la peine de comprendre que bien que je décrive ici un cas particulier de sauvegarde adapté aux besoins d'un petit réseau, les principes, les observations et les modèles sont partout communs.
Dans les cas simples, certains d'entre eux peuvent être négligés, mais il est souhaitable de le savoir.
Ces principes sont basés sur des politiques et des réglementations.
Voici quelques principes de base:
- 3-2-1 . Effectuez au moins trois sauvegardes, dans deux formats de stockage, dont au moins une doit être stockée dans un endroit physiquement séparé. Le principe est souhaitable à observer. Dans mon cas, ce principe est partiellement mis en œuvre. Premièrement, il existe trois machines différentes sur lesquelles les données sont partiellement dupliquées: NAS, travail et ordinateur portable. Deuxièmement, la réplication vers le cloud est prévue.
- Vérifiez ce qui a été copié . Sinon, il peut arriver qu'à un moment crucial, les données ne puissent pas être restaurées. Vérifiez mieux tout au long du processus de récupération.
- Utilisez les bons outils pour la tâche . Il est probable qu'avec la copie d'un parc de machines virtuelles, un système de copie de fichiers avec un agent sur une machine fonctionnera mal. Un logiciel spécialisé copiera plus rapidement et moins cher sur les ressources de la machine. Il est important que l'outil soit fiable et simple. IBS n'est pas quelque chose avec lequel vous voulez habituellement creuser.
- Il vaut mieux tout copier, à l'exception évidente de l'excès . Ou "il vaut mieux dépasser que ne pas finir". Il sera possible de jeter l'excédent, mais si la politique inverse est utilisée, il peut être impossible de restaurer un fichier précieux que vous avez oublié de spécifier explicitement.
- Il devrait être possible de sélectionner et de restaurer rapidement les données . Il est conseillé, "un clic", et de ne pas attendre une heure. Officiellement, vous devez avoir un RTO suffisamment bas et un RPO suffisant. Il est extrêmement pratique si l'IBS vous permet de restaurer accidentellement supprimé, et de choisir parmi plusieurs versions, et pas seulement la dernière (par exemple, s'il est endommagé, car les erreurs logiques ne sont pas exclues).
À la fin de l'article, il y a des liens vers des sources que vous pouvez étudier afin de vous familiariser plus complètement avec ces points, ainsi que de lire sur d'autres.
Politique de sauvegarde
De toute évidence, l'objectif de toute sauvegarde est de réduire le coût de la destruction non planifiée des données dans les situations d'urgence.
Ceci est réalisé en dupliquant les données précieuses des machines en fonctionnement vers le stockage tiers.
Tâches de sauvegarde
Les tâches suivantes sont définies à des fins de sauvegarde:
- Mettez en surbrillance les données cibles.
- Enregistrement des données spécifiées pour une récupération ultérieure.
- Récupération des données enregistrées.
- Assurer la stabilité des données stockées au changement et à la destruction.
- Différenciation de l'accès aux données stockées.
- Assurer le contrôle du système et le processus de sauvegarde.
Configuration requise
Plus loin dans la liste, les exigences fonctionnelles et non fonctionnelles sont mélangées:
- La sauvegarde doit être effectuée:
- Dans les délais.
- Sur demande.
- Si vous sautez le précédent.
- La sauvegarde des données doit être effectuée au moins 1 fois par jour jusqu'à une profondeur d'un mois. La pratique de prendre des instantanés, ainsi que d'utiliser la version précédente du système sur une machine qui fonctionne, montre que cela me suffit.
- Le temps de récupération des données ne doit pas dépasser 2 minutes pour 1 Go (la limite de bande passante réseau est de 81 s. Pour 1 Go). Prise en compte de la bande passante LAN et de la vitesse du disque, comme facteurs limitants.
- Tous les canaux doivent être cryptés. Les données sensibles, telles que les données d'autorisation dans les services en ligne, peuvent être enregistrées.
- Il devrait être possible de chiffrer les sauvegardes des utilisateurs avec une clé secrète sur la machine de l'utilisateur, sans possibilité de déchiffrement sur le serveur. Ceci est important car les utilisateurs ne sont pas obligés de faire confiance au serveur du tout.
- Une copie incomplète ne devrait pas prendre beaucoup de temps, par exemple plus de 30 minutes. Internet est utilisé pour copier des données à partir d'un ordinateur portable.
- Il devrait être possible de répliquer des copies sur le cloud (la possibilité de configurer de manière flexible la réplication pour un stockage cloud particulier) avec le cryptage des sauvegardes. C'est aussi l'une des conséquences du «principe 3-2-1».
- Il devrait y avoir une gestion centralisée simple avec intégration dans l'interface Web.
- Un minimum d'améliorations et de paramètres complexes sur le serveur.
Composition des ressources réservées
Dans mon cas, c'est assez typique:
- La principale machine de travail. Ordinateur de bureau.
- Machine de travail mobile. L'ordinateur portable.
- Routeur LAN. Il stocke les paramètres réseau, qui peuvent contenir des identifiants et des mots de passe pour une connexion Internet et certains services.
- NAS Oui, la configuration NAS est également redondante. Malgré le fait que la plupart des FS ont des instantanés.
Composition de la menace
C'est où, quoi et quoi protéger et de quelle manière.
Pour ce faire, j'ai compilé un petit tableau des menaces. Toutes les principales menaces pesant sur l'ordinateur mobile répètent les menaces pesant sur l'ordinateur fixe.
Les tablettes électroniques ne diffèrent pratiquement pas du mobile, de ce point de vue.
Conditions de politique supplémentaires
Il est conseillé de les prendre en compte:
- Des tests de récupération réguliers doivent être effectués.
- Les procédures de reprise après incident doivent être documentées.
- Les actions doivent être réglementées en cas de défaillance secondaire: que faire si, après la restauration, le système n'est pas opérationnel ou si les données ne peuvent pas être restaurées.
- Il est nécessaire de tester si le processus de récupération dépend d'un équipement spécifique
(qui peut échouer au moment de la récupération). Dans mon cas, je ne vérifierai pas cela, limité à une simple vérification du système de base. - Si vous disposez d'une sauvegarde complète du système, vous devez sauvegarder immédiatement après une mise à niveau substantielle.
- Si le volume cumulé de sauvegardes incrémentielles dépasse le volume de sauvegarde complète, il est rationnel d'effectuer une sauvegarde complète non planifiée. Autrement dit, la fréquence de création de sauvegardes complètes doit être augmentée dans ce cas.
Je ne prends pas en compte le dernier point de la politique, car généralement mon flux de travail ne change pas, et il suffit de surveiller le volume pendant un certain temps, uniquement pour la configuration initiale.
Empiriquement, il a été constaté que le schéma "mois, semaine, jour, heure" me convenait parfaitement.
Pour les systèmes plus importants, vous devrez peut-être modifier la fréquence de sauvegarde de manière dynamique pour chaque système.
Règlements de sauvegarde
Après l'élaboration d'une politique, il est possible de procéder directement à l'élaboration d'un règlement.
Dans le cas général, il peut y avoir plusieurs réglementations: générales, pour les administrateurs IBS, pour les utilisateurs, pour les responsables du stockage, pour les administrateurs des systèmes cibles, etc ...
Mais dans le cas d'un petit système, il s'agit généralement d'une seule personne, et donc il n'y a qu'une seule réglementation.
Les objectifs de la réglementation
- Définition des procédures de sauvegarde des données.
- Définition des procédures de récupération de données.
- Définition d'une procédure de vérification de l'intégrité du système.
- Conditions de stockage de sauvegarde et exigences relatives aux supports.
- Rationaliser le travail.
Exemple de régulation
Sous le spoiler, vous pouvez voir à quoi ressemblent les règles dans une grande organisation, en utilisant l'exemple de la réglementation Rosreestr tirée de sources ouvertes .
Réglementation de Rosreestr.RÉGLEMENTATION DE LA SAUVEGARDE DES DONNÉES DANS LES DÉPARTEMENTS TERRITORIAUX DE ROSRESTR
Table des matières
- Dispositions générales
- Ordre de sauvegarde.
- Suivi des résultats.
- Support réglementaire.
- Rotation des supports de sauvegarde.
- Restaurez les informations à partir d'une sauvegarde.
- Annexe 1
- Annexe 2 Liste des personnes responsables de la sauvegarde.
1 Général
Ce règlement établit les exigences de base pour l'organisation de la sauvegarde (récupération) des programmes et des données stockés dans les bases de données sur les serveurs de l'autorité territoriale de Rosreestr, ainsi que pour la sauvegarde du matériel.
Le présent règlement vise à:
- détermination de la catégorie des informations soumises à une sauvegarde obligatoire;
- déterminer la procédure de sauvegarde des données pour la restauration ultérieure des performances des systèmes d'information en cas de perte totale ou partielle d'informations provoquée par des pannes ou des dysfonctionnements du matériel ou des logiciels, des erreurs des utilisateurs, des urgences (incendie, catastrophes naturelles, etc.);
- déterminer la procédure de récupération des informations en cas de besoin;
- rationaliser les travaux et déterminer la responsabilité des fonctionnaires concernant la sauvegarde et la restauration des informations.
La sauvegarde des informations signifie la création de copies complètes des bases de données de production de l'Office pour la récupération rapide du système de gestion de l'information du Registre d'État unifié des entreprises AIS "Justice" en cas d'urgence entraînant des dommages ou des pertes de données.
Toutes les bases de données de production de tous les services territoriaux de l'Office peuvent faire l'objet d'une sauvegarde.
Les supports de stockage de la machine contenant une copie de sauvegarde se voient attribuer un tampon de confidentialité pour le tampon le plus élevé d'informations qu'ils contiennent.
Les sauvegardes sont stockées à l'extérieur de la salle des serveurs, l'accès aux sauvegardes est limité. La liste des personnes ayant accès aux données est établie sur la base d'une demande écrite du chef de l'unité informatique (IT), convenue avec le chef de l'unité sécurité informatique (SI). Les droits d'accès aux moyens techniques, baies et supports de stockage réservés sont modifiés sur la base d'une demande du chef du service informatique, convenue avec le chef du service SI. Les tentatives détectées d'accès non autorisé aux informations et au matériel réservés, ainsi que les autres violations de SI qui se sont produites pendant le processus de sauvegarde, sont signalées à l'unité SI avec une note de service pendant la journée de travail après la détection de l'événement spécifié.
2 Ordre de sauvegarde
La sauvegarde est effectuée au moyen d'Oracle DBMS. La sauvegarde peut être effectuée:
- Manuellement - l'opérateur responsable de la sauvegarde démarre la procédure d'exportation Oracle (un exemple de démarrage de la procédure dans l'annexe 1).
- Automatiquement - le fichier exécutable qui appelle la procédure d'exportation Oracle est lancé automatiquement par le système d'exploitation selon le calendrier.
La sauvegarde de la base de données est effectuée au moins 1 fois par jour. La période de stockage de la base de données de sauvegarde est d'au moins 1 mois.
La stratégie de sauvegarde doit garantir la récupération synchrone des données situées dans différents schémas de base de données. Par exemple, le schéma HED (le référentiel de documents électroniques) doit être copié simultanément avec le schéma AIS Justice.
Le matériel et les moyens techniques du système de sauvegarde doivent fournir des performances suffisantes pour enregistrer les informations, à temps et à des intervalles spécifiés. Les personnes chargées d'organiser quotidiennement la sauvegarde contrôlent la disponibilité de l'espace disque nécessaire à la sauvegarde.
3 Suivi des résultats
Les résultats de toutes les procédures de sauvegarde sont contrôlés par les responsables responsables spécifiés à l'annexe 2, jusqu'à 10 heures le jour ouvrable suivant la date fixée pour l'exécution de ces procédures.
Si une erreur est détectée, la personne responsable du suivi des résultats le signale au service d'assistance technique du développeur au plus tard 11 heures de la journée de travail en cours.
4 Assistance réglementaire
Pour organiser le processus de sauvegarde, vous devez:
- Définissez une liste de personnes responsables de l'exécution du processus de sauvegarde et du suivi de ses résultats (annexe 2).
- Préparez et approuvez un calendrier de sauvegarde.
- Préparer et approuver les documents réglementaires internes sur la nomination des responsables de la sauvegarde des données.
5 Supports de sauvegarde rotatifs
Le système de sauvegarde doit permettre de remplacer (décharger) périodiquement les supports de sauvegarde sans perdre d'informations sur ceux-ci, et également assurer la récupération des informations actuelles des systèmes automatisés en cas de défaillance de l'un des périphériques de sauvegarde. Toutes les procédures de chargement, de déchargement des supports du système de sauvegarde, ainsi que leur transfert vers le service de sécurité et vice versa, sont effectuées par l'administrateur de sauvegarde sur demande et en présence d'un employé responsable du service de sécurité du client (conformément à l'annexe n ° 2).
En tant que nouveaux transporteurs, il est permis de réutiliser ceux pour lesquels la période de stockage des informations contenues a expiré.
Les informations confidentielles provenant de supports qui ne sont plus utilisés dans le système de sauvegarde doivent être effacées à l'aide du logiciel PGP.
Si nécessaire, la restauration des données à partir des sauvegardes est effectuée par l'employé responsable du service informatique spécifié à l'annexe n ° 2.
La récupération des données à partir des sauvegardes se produit en cas de disparition ou de violation en raison d'un accès non autorisé au système, d'une exposition aux virus, d'erreurs logicielles, d'erreurs des employés et de pannes matérielles.
La restauration des logiciels système et des logiciels à usage général est effectuée à partir de leurs supports conformément aux instructions du fabricant.
La restauration des logiciels spécialisés est effectuée à partir des supports de distribution ou de leurs copies de sauvegarde conformément aux instructions d'installation ou de restauration de ce logiciel.
Les informations qui ne sont pas liées à des bases de données en constante évolution sont restaurées à partir du support de sauvegarde. Il utilise la dernière copie des informations.
En cas de violation partielle ou de disparition des enregistrements de la base de données, la restauration est effectuée à partir de la dernière copie quotidienne non perturbée. Toutes les informations sont restaurées à partir de la dernière copie.
7 Annexe 1
Un exemple de démarrage de l'utilitaire d'exportation Oracle à partir de la ligne de commande:
exp userid = JUST_USER / PASSWORD @ SERVER owner = (JUST_USER, HED_USER) direct = Y cohérent = statistiques Y = NONE compress = fichier N = C: \ BACKUP.DMP log = C: \ BACKUP.LOG
où:
JUST_USER / PASSWORD @ SERVER - schema_owner_name / password @ server_name;
owner = (JUST_USER, HED_USER) - une liste des schémas copiés; dans cet exemple, le schéma AIS Justice et le schéma HED sont exportés simultanément;
file = C: \ BACKUP.DMP - chemin et nom du fichier d'exportation créé;
log = C: \ BACKUP.LOG - chemin et nom du fichier journal d'exportation créé.
8 Annexe 2. Liste des personnes responsables de la sauvegarde
Vous trouverez ici un autre exemple avec une brève description.
Procédure de réservation
Composition des données de sauvegarde:
- Machines de travail:
- Répertoires d'utilisateurs personnels (
/home/*
). . - .
- , (
/opt
). - (
/etc
). - .
- .
- .
- .
- :
- NAS:
- :
:
- .
- , .
/etc/apt/apt.conf.d
, , .- Mikrotik .
- NAS .
:

:
, Debian ( Squeeze 2011 ), Slackware ReiserFS .
:
Mikrotik , RouterOS .
, .
, .
:
- Veeam , , . , Acronis, , .
- .
- .
.
, .
.Solutions utilitaires Unix
Solutions basées sur rsync, tar, rdiff-backup, etc. ne sont pas pris en compte en raison de la grande quantité de travail qui devra être fait et du manque de l'interface WEB nécessaire.

BareOS (Backup Archiving Recovery Open Sourced) - fork de Bacula depuis 2010.
Avantages:
- Système stable débogué.
- Prend en charge plusieurs types d'agents sous différents systèmes d'exploitation.
- Il prend en charge différents types de sauvegarde: incrémentielle, différentielle, complète.
- L'interface WEB est très développée et fonctionnelle.
- Configuration flexible.
- Il existe un pilote FUSE qui affiche les sauvegardes.
- Python, Director.
- (, ).
- .
- .
Inconvénients:

.
:
- .
- .
- Web-.
- .
- . , .
- .
- , SMB, rsync.
- Web-.
- , .
- , , .
- .
Inconvénients:
- Perl, CPAN.
- , , .
, , , . , SSH , , , .. . - ( , ).

- .
:
- Configuration simple.
- Web-.
- .
- ( .. ).
- Windows, Linux, MacOS X.
- : , .
- .
- .
- (, Outlook, ).
- . , .
- (, ..) .
- Configuration simple.
- , .
- , .
- .
- Internet.
- (, ) .
- .
- (, USB ).
- .
- GUI .
Inconvénients:
- Windows, , .
- NTFS.
- LDAP, , , AD .
.
:
- Configuration simple.
- .
- . , .
- / . . .
- . .
- .
- FUSE , host/.
Inconvénients:
- Web- .
- RAM (~2.7GB 1TB).
- ACL .
- RAM .
- ( ).
- ( ). .
- restic.

.
:
- .
- .
- ( Python, C ).
- .
- : LZ4, zlib, LZMA.
- FUSE , .
- : Linux, macOS, BSD, etc.
- Web-, .
- .
Inconvénients:
- Web- .
- Windows ( Linux subsystem cygwin).
, rsync.
:
- inotify fsevents . rsync .
- rsync.
- Lua, Lua.
- .
- .
Inconvénients:

.
.
:
- , .
- , TLS, , SSL .
- , "" , .
- .
- , : , .
- , .
- .
- : .
- RAID.
- *nix-like , Windows native, Windows cygwin.
- GUI.
Inconvénients:
UrBackup .
, .
.
UrBackup
, :
# zfs create -o com.sun:auto-snapshot=false -p tank0/apps/backup # zfs set compression=on tank0/apps/backup
, , UrBackup ZFS .
, :
# zfs set dedup=on tank0/apps/backup
UrBackup :
# mkdir /tank0/docker/services/urbackup # cd /tank0/docker/services/urbackup # vim docker-compose.yml # docker-compose up -d
docker-compose .
Web- .
docker-compose.yml version: '2' networks: docker0: external: name: docker0 services: urbackup: uroni/urbackup-server image: restart: always expose: - 55414 ports: # - 55413:55413 - 55415:55415 - 35623:35623/udp volumes: - /tank0/apps/backup/urbackup/database:/var/urbackup - /tank0/apps/backup/urbackup/backups:/backups - /tank0/apps/backup/urbackup/log:/var/log - /etc/localtime:/etc/localtime:ro networks: - docker0 environment: - VIRTUAL_HOST=backup.* - VIRTUAL_PORT=55414 - VIRTUAL_PROTO=http - CERT_NAME=NAS.cloudns.cc - TZ=Europe/Moscow
Docker uroni/urbackup-server
, tristanteu/urbackup-docker
.
.
, :
- . UrBackup LDAP .
- LDAP. LDAP . " ". , .
- .
- , . . . , NAS, .
- -.
:

:

LDAP , : , .
:
ou=users,dc=nas,dc=nas?memberOf,objectClass?sub?(&(memberOf=cn=users_backup,ou=groups,dc=nas,dc=nas)(uid={USERNAME}))
- , .

, , .
, :

-:

, , .
, UrBackup:
- TCP 55415 — .
- TCP 55414 — Web- HTTP.
- TCP 55413 — Web- FastCGI, Web-. Parce que NAS HTTP/HTTPS, .
- TCP 35621 — .
- UDP 35622 — . . .
- TCP 35623 — .
- UDP 35623 — .
, 55415 , 35621, 35622, 35623 .
, .
:
UrBackup , .. , :

.
shell :
TF=`mktemp` && wget "https://NAS.system.cloudns.cc/x?a=download_client&lang=ru&clientid=1&authkey=KEY&os=linux" -O $TF && sh $TF; rm $TF
:
~
NAS , :
- :
/etc;/home;/var;/root;/tank0/apps;/tank0/docker
. - :
/tank0/apps/backup;/tank1/apps/backup;/tank0/apps/cloud/nextcloud/html/data
.
, , , , , .
, , , " ", , :

:
~
Les problèmes
, UrBackup , . .
— -, .
:
ERROR: Internet mode not enabled. Please set "internet_mode_enabled" to "true".
.
:
~
/etc/default/urbackupclient
, .
, /usr/local/var/urbackup/data/settings.cfg
.
, , :
internet_server=NAS.system.cloudns.cc internet_server_port=55415 internet_authkey=44R3MUIdB computername=zenbook internet_mode_enabled=true
, , -.
, , , .
Debian, , /etc/apt/apt.conf.d/80full-backup
:
DPkg::Post-Invoke {"test -x /usr/local/bin/urbackupclientctl && /usr/local/bin/urbackupclientctl start -f || true"; };
NAS, . , mtbackup SSH, NAS.
Python , , , UrBakup, .
:
, : . , .
, :
, - , .

.
, , .
- , , Storj .
Littérature
, , :
, :
.
, RTO, RPA, RPO. , , , .
- NAS , , , .