Serveur principal + Serveur backup - Débat & Tuto en cours

lagaffe

Dabbler
Joined
Feb 20, 2019
Messages
22
Bonjour à toutes et tous, je lance un nouveau sujet afin de pouvoir progresser grâce à vos lumières et également "recompiler" tt ce qu'il en ressortira dans le but de d'insérer un "mode d'emploi" en français et langage accessible pour celles et ceux qui comme moi ne sont pas complètements barbus ;)

Tout n'est pas de moi, bien au contraire, je remercie Qwant & wikipédia, mais également es nombreux utilisateurs du forum pour leurs réponses passées qu'ils m'ont apporté et aussi pour les nombreux nouveaux sujets que j'ai parcouru et aussi les retours d'expériences bon et mauvais de chacuns ^^

Voilà le but de ce sujet est de vous présenter :
  • Mon serveur principal V2.1 car après avoir commencé il y a qlqs années avec du matos de récup j'ai ensuite évolué sur qlq chose de plus propre sur vos conseils (enfin je l'espère).
  • Le second serveur que je viens de monter afin de faire un serveur de sauvegarde et/ou de repli. (un peu à l'image de ce sujet "Recommandations-tutoriels-de-mise-en-place-de-sauvegarde-tn13")
Si vous voyez à redire allez-y et je tacherai dès que possible de mettre ça en application et de faire un tuto propre dans les premiers messages du post ou sur un sujet dédié si vous trouvez ça plus clair.


Petit sommaire :
  1. Présentation & configuration du serveur principal.
    1. Actuelle
    2. Évolution
  2. Présentation & configuration du serveur de repli.
    1. Actuelle
  3. Clarification des différentes protections & sauvegardes de données de TrueNAS
    1. Snapshot
    2. Réplication
    3. Rsync
    4. Scrub
    5. Autre (plugins etc)
    6. Cloud Sync Tasks
  4. Choix et configuration de la sauvegarde à distance.
    1. Ajouter & paramétrer une tache de réplication à distance
    2. Paramétrer une tache de réplication en local
    3. Paramétrer une tache avancée de réplication
    4. Débloquer une réplication cryptée d’un dataset ou d’un Zvol


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------




1 PRÉSENTATION ET CONFIGURATION DU SERVEUR PRINCIPAL
(TrueNAS Scale 22.02.4)​



1) Actuellement :

Serveur en rack DELL PowerEdge R510
Intel Xeon X5650 @ 2.67GHz
32 GiB de DDR3 ECC
2 blocs d'alimentation sur onduleur Eaton
Intel PRO/1000 PT Gigabit + Broadcom NetXtreme II 5709 Gigabit
Carte PERC H310 flashée en mode IT


2 x 4 To HDD WD Red en MIRROR (POOL MEDIAS)
  • Dataset Multimédia (1,5 To - films & musiques) en SMB
2 x 2 To NVME SN570 WD Blue en MIRROR (POOL NVME2TO) (usage de +/- 1,3 To)
  • Dataset Setup (800 Go - Tout les softs d'install et ISO/DMG Linux/MAC OS/iOS/iPadOS) en SMB
  • Dataset Jeux (300 Go - roms & ISO depuis l'Atari jusqu'à récent) en SMB
  • Dataset Bazar (200 Go) (tout ce qu'il me reste à trier/classer/supprimer au grès des migrations de machines/téléphones depuis WINXP et d'anciennes sauvegardes)
6 x 500 Go WD5003ABYX (DD d'origine) en RaidZ2 (POOL RAIDZ2TO)
  • Dataset TimeCapsule2 (2eme sauvegarde RT des macs de la maison, la première est sur une vraie borne TimeCapsule) en SMB
  • Dataset StockageReseau (+/- 150 Go - pour que mes enfants et ma femme avec des macs sous ssd 128/256Go puissent avoir de l'espace de stockage supplémentaire) en SMB - Performances faibles pour leurs usages

Lors du passage de FreeNAS 11 à TrueNAS Scale 22 j'ai eu l'abandon du protocole AFP, du coup tout est en SMB maintenant.

Pour les sauvegardes des machines dans la maison j'ai également une sauvegarde mensuelle sur des disques USB/FW dédiés à chaque machine & ensuite stockés chez un voisin.

Si vous vous demandez pourquoi je garde à ce point tant de setups et bien c'est parce que j'habite en zone montagne sans ADSL/Fibre etc, j'utilise actuellement une box 4G et en plus d'avoir des débits fluctuants en fonction de la météo & de l'affluence touristique je vis avec des quotas, alors je télécharge le gros des MAJ et programmes d'installation hors site et je garde tt les setups qui me resservent lors de restaurations, travail sur des machines extérieures etc qd je suis à la maison/atelier.


2) Évolution :

Comme vous pouvez voir je n'ai pas de sauvegarde à proprement parlé de mes dataset ailleurs, je n'ai que des instances MIRROR ou RaidZ2 (on ne peut donc pas vraiment pas parler de sauvegarde en local non plus dans cette configuration), mon souhait serait donc :

  • Ajout d'un serveur de repli/secours dans l'atelier à 50M de la maison (liaison GB) avec une sauvegarde de mes datasets. (EN COURS)
  • Ajout d'une seconde borne TC apple de 2To trouvé sur LBC dans l'atelier (j'avais besoin d'un switch en plus), comme ca je supprime mon dataset TimeCapsule2 du serveur principal et affecte ses HDD à un autre usage. (FAIT)
  • Suppression des pool NVME2TO et RAIDZ2 pour réaffectation comme suit : (À FAIRE)
2 To NVME SN570 WD Blue (POOL NVME2TO-001)
  • Dataset Setup (800 Go - Tout les softs d'install et ISO/DMG Linux/MAC OS/iOS/iPadOS) en SMB
  • Dataset Public (uniquement pour l'échange de fichier facile et rapide entre machines) en SMB
2 To NVME SN570 WD Blue (POOL NVME2TO-002)
  • Dataset StockageReseau (150 à 350 Go) pour pouvoir réellement travailler avec un disque rapide en réseau et soulager les SSD internes des machines qui sont remplis à 70%, 80 et 90% (À commencer à travailler toujours sur les mêmes cellules leurs SSD vont commencer à s'user précocement) en SMB
  • Dataset Jeux (300 Go)
6 x 500 Go WD5003ABYX (DD d'origine) en RaidZ2 (POOL RAIDZ2TO)Pour sauvegarde des datasets :
  • Setup (800Go)
  • StockageReseau (150Go mais si ajout des bibliothèques multimédia iTuines/iMovie/FinalCut/Garageband etc des enfants et de ma femme +/- 350 Go)
  • Dataset Jeux (300 Go)


Mon Dataset Bazar (200Go) va très certainement migrer sur mon MIRROR 2x4 To après avoir fait du tri de tout ce que je peux effacer, il devrait tomber à 120/150 Go




2 PRÉSENTATION & CONFIGURATION DU SERVEUR DE REPLI
(TrueNAS Scale 22.02.4)



Tour avec carte mère Gigabyte
Intel Corei5 650 @ 3.20GHz
8 GiB de DDR3 NON-ECC
Alimentation Corsair modulable + Onduleur Eaton
Carte réseau realtek GB intégrée à changer rapidement ;)
8 ports SATA III avec 8 x 1To de HDD WD Blue & Green


Ce serveur n'a pas pour vocation de rester allumer 24/24, c'est moi au besoin qui l'allumerait pour faire une mise à jour de la sauvegarde 1 à 2 fois par semaines

J'hésitais sur mon plan de partitionnement & finalement j'ai opté pour un gros POOL de 8x1To en RaidZ3 (donc 5To utilisables) car je vais avoir entre 3 et 3,2 To de dataset à sauvegarder et ça me laisse une marge de quasiment 1,8 To pour les années à venir (SOLUTION ACTUELLEMENT TESTÉE)

Toute suggestion de votre part avec ce que j'ai comme matos (8x1To) est bienvenue pour modifier cela ;)

Deuxièmement j'hésite sur la stratégie de sauvegarde, déjà il faut que je me dépatouille entre les Snapshots, les taches de Réplications, Rsync ou un encore un plugins externe ou toute autre sugestion de votre part ...




3 CLARIFICATION DES DIFFÉRENTES PROTECTIONS & SAUVEGARDES DE DONNÉES DE TRUENAS



1. Snapshot / Instantané (UTILISÉ RÉGULIÈREMENT)

Un Snapshot, ou instantané, fournit une image globale du système de fichier à un moment donné. Ce n’est techniquement pas un clone du volume original, mais une collection de pointeurs et de marqueurs permettant de suivre les modifications apportées à chaque bloc du volume depuis le dernier snapshot. Les instantanés de stockage sont créés en quelques secondes & sont stockés sur le même disque que les données d’origine.

Les nouvelles données ou modifications du système de fichier sont écrites sur des nouveaux blocs du disque (Copy On Write - COW) et lorsque l’espace s’épuise, les nouveaux instantanés finissent par écraser les anciens, Ils ne consomment donc virtuellement pas d'espace disque supplémentaire même si de nouvelles données sont écrites.

Les snapshot ne permettent pas la restauration de données spécifiques, on rétabli l’ensemble de l'instantané ou rien ; en cas d’incident ou de mauvaise manipulation, il est possible de restaurer le volume dans l’état dans lequel il se trouvait au moment du snapshot.

Si le disque physique sur lequel est stocké les snapshot rend l'âme, toute restauration des données est alors impossible. Il ne s'agit pas d'une réelle sauvegarde sécurisée.

## (OPTION CLONE À DÉVELOPPER

Writeable snapshots ("clones") can also be created, resulting in two independent file systems that share a set of blocks. As changes are made to any of the clone file systems, new data blocks are created to reflect those changes, but any unchanged blocks continue to be shared, no matter how many clones exist. This is an implementation of the COW principle.) ##


2. Réplication (SOLUTION ACTUELLEMENT TESTÉE)

Il s'agit de l'envoi ou de la réception d'un système de fichier ZFS sur un autre POOL, en local ou sur une machine distante. Cela copie l'intégralité d'un système de fichier correspondant à un instantané ou à la différence entre 2 instantanées (nouvelles données ou modifications entre 2 snapshots)

Si j'ai bien suivi & tt compris il s'agit de la solution la plus efficace et rapide entre deux systèmes ZFS. Avec 2 machines sous TrueNAS la solution est à priori simple à mettre en place, c'est ce que je vais tester aujourd'hui.


3. Rsync

Rsync (remote synchronization), est un logiciel de synchro de fichiers. Il est unidirectionnel, c'est-à-dire que la syncro copie les fichiers de la source en direction de la destination ou inversement (Push/Pousser VS Pull/Tirer). Rsync peut réaliser des sauvegardes incrémentielles ou différentielles, que ce soit en mode local ou en mode distant. La doc de TrueNAS décrit Rsync comme un moyen rapide et sécurisé de copier des données vers un autre système pour sauvegarde ou lors de migration de machine.


De ce que j'ai compris Rsync est pertinent dans le cadre d'une sauvegarde sur un système de fichier autre que ZFS mais dans le cadre de données stockées sur ZFS vers un autre stockage ZFS la réplication de snapshots est préférable. Est-ce juste ?

Y a t'il une "meilleure" solution que l'autre ? J'aimerais bien connaitre votre avis sur l'usage de Rsync ou de la réplication dans le cadre d'une sauvegarde des données et leurs différences respectives.




4. Scrub (UTILISÉ RÉGULIÈREMENT)

Je fais un aparté sur Scrub qui est un mécanisme de correction d'erreur intégré à ZFS et qui s'effectue en arrière-plan en cherchant des erreurs sur la mémoire principale et l'espace de stockage en les détectant grâce à la redondance des données & aux sommes de contrôle. Son but est de réduire le nombre d'erreurs silencieuses qui s'accumulent en douce, ce qui réduit le risque d'avoir d'incorrigibles erreurs.

C'est un peu un super Fsck qui entre autres a pour différence :
  • Peut s'utiliser pendant que le système est en prod (pas besoin de mettre les données indispo le temps de la procédure).
  • Ne contrôle pas que les métadonnées mais les données elles-mêmes (ce qui explique la durée de la procédure qui peut être très longue suivant la taille de l'espace de stockage)
  • ZFS stocke les sommes de ctrl à part des données ce qui évite contrairement à bcp de systèmes de fichiers que ces sommes de contrôle soient elles aussi illisibles ou corrompues.
  • ZFS stockant de multiples copies des données et métadonnées, ce qui améliore la détection et correction d'erreurs de Scrub.
L'ancienne doc de freenas & de solarisinternal conseillait de faire un scrub hebdomadaire sur du matériel grand public de qualité & un scrub mensuel sur du matériel de type serveur/centre de donnée, pour ma part il s'écoule 10 jours entre chaque Scrub sur un de mes 3 POOL


##
5. Cloud Sync Tasks - non utile dans mon cas mais qui peut être abordé plus tard


6. Autre solutions, plugins etc (j'utilise par exemple syncthing pour maintenir syncro mes cours entre un portable sous linux, une tablette android et l'iMac à la maison)
##





4 CHOIX ET CONFIGURATION DE LA SAUVEGARDE À DISTANCE



1. Ajouter & paramétrer une tache de réplication à distance

Pour ce premier test j'ai retenu la solution des taches de réplication et je me suis basé sur l'aide "Setting Up Simple Replications", pour commencer je vais m'en tenir à l'assistant, je ne vais pas aller trifouiller les options.

Capture d’écran 2022-11-22 à 22.58.14.png
  • Aller dans Data Protection > Replication Tasks
    • Choisir la source de l'instantané à répliquer.
      • Une source à distance nécessite une connexion via SSH que vous allez pouvoir configurer simplement. Pensez bien au https:// avant les adresses IP
      • TrueNAS nous montre les instantanés disponibles à répliquer.
Capture d’écran 2022-11-22 à 23.09.30.png
  • Définir le lieu de destination de l'instantané.
    • Une destination à distance nécessite une connexion via SSH.
    • Choisir la destination dans l'arborescence ou la définir manuellement en rentrant son chemin. (Ajouter un nouveau nom à la fin du chemin pour créer un nouveau dataset).
Capture d’écran 2022-11-22 à 23.16.45.png
  • Choisir les options de sécurité pour la réplication.
    • iXsystems recommande l'usage systématique du cryptage avec la réplication.
    • Désactiver cette encryptions ne doit se faire que pour des destinations absolument sécurisées et fiables (Je rajouterai également que c'est fonction de la criticité des données que vous allez sauvegarder, vous avez peut être des fichiers à caractère médical de patient, votre fichier client professionnel, ou encore votre sex-tape avec des scouts et des curés que vous ne voudriez pas voir fuiter via votre autocuiseur connecté sous une vieille version d'android ... ^^).
Capture d’écran 2022-11-22 à 23.19.10.png
  • Programmation (ou pas) de la réplication.
    • Vous pouvez utiliser des programmations préétablies ou en définir un personnalisée.
    • "Commencer la réplication" lance la réplication immédiatement après sa création.
      • La tâche est enregistrée & vous pouvez à l'avenir la relancer ou la modifier pour en créer une nouvelle.
      • Également vous pouvez suivre sa progression en cliquant sur le gestionnaire des tâches en haut à droite (chez moi c'est trés lent, environ 12 MiB/s, je pense que cela est du à ma carte réseau Realtek Ginzhu2000 qui même si elle m'annonce une connexion à 1000 Mb/s en est trééééés loin ;)
Capture d’écran 2022-11-23 à 00.27.08.png

##
2. Paramétrer une tache de réplication en local
À venir ds qlqs jours quand je ferai des sauvegardes locales de mes dataset aprés avoir réorganiser les 6 disques en RaidZ2 de mon serveur principal

3. Paramétrer une tache avancée de réplication
À venir quand j'aurais étudié les options de plus prés ...

4. Débloquer une réplication cryptée d’un dataset ou d’un Zvol
Houlalala ca aussi ... ^^
##
 

Attachments

  • Capture d’écran 2022-11-23 à 00.02.44.png
    Capture d’écran 2022-11-23 à 00.02.44.png
    339.3 KB · Views: 166
Last edited:

lagaffe

Dabbler
Joined
Feb 20, 2019
Messages
22
Aujourd'hui ma seconde tâche de réplication s'est terminée, je vais maintenant voir à la récupérer à distance ce dataset et m'assurer que tt fonctionne, comme si j'avais eu à le faire en cas de pépin.

Si tt va bien je termine de tout répliquer et je m'attele à mon nouveau schéma d'organisation des disques.

Si vs avez des suggestions ou voyez de grosses bétises faites m'en part que je corrige ca.

Bonne soirée
 
Top