eviden-logo

Evidian > Produits > SafeKit : Logiciel de haute disponibilité simple et économique > Réplication de fichiers au niveau octet vs réplication de disques au niveau bloc

Réplication de fichiers au niveau octet vs réplication de disques au niveau bloc

Evidian SafeKit

Réplication de fichiers au niveau octet vs réplication de disques au niveau bloc dans un cluster de haute disponibilité

Aperçu

Cet article étudie les avantages et les inconvénients de la réplication de fichiers au niveau octet par rapport à la réplication de disques au niveau bloc dans un cluster de haute disponibilité. Nous examinons le volume de données répliquées, l'impact sur l'organisation des données applicatives, le temps de récupération, la simplicité de mise en œuvre.

Réplication de fichiers au niveau octet par rapport à la réplication de disques au niveau bloc

Les tableaux comparatifs suivants détaillent la réplication de fichiers au niveau octet mise en œuvre par SafeKit, un produit logiciel de haute disponibilité.

Qu'est-ce que la réplication de fichiers au niveau octet ?

La réplication de fichiers au niveau octet (comme avec SafeKit) signifie que seules les modifications à l'intérieur des fichiers sont répliquées.

La réplication synchrone est requise dans un cluster de haute disponibilité pour avoir 0 perte de données en cas de défaillance. La réplication asynchrone est destinée aux solutions de sauvegarde.

Le volume de données répliquées est réduit aux informations modifiées par les applications à l'intérieur de leurs fichiers. Aucune donnée supplémentaire n'est répliquée.

Il n'y a pas d'impact sur l'organisation des données d'une application. Par exemple, si une application a ses données sur le disque système, la réplication de fichiers au niveau octet fonctionne.

Le temps de récupération (RTO) en cas de basculement est réduit au temps de redémarrage de l'application sur les fichiers répliqués du serveur secondaire.

Enfin, la solution est très simple à configurer puisque seuls les chemins des répertoires à répliquer sont configurés.

Qu'est-ce que la réplication de disques au niveau bloc ?

La réplication de disques au niveau bloc (comme avec DRBD) signifie que seules les modifications à l'intérieur d'un disque sont répliquées.

Le volume de données répliquées n'est pas réduit aux informations modifiées par les applications. Des données supplémentaires sont répliquées comme les métadonnées de gestion du disque (liste des blocs libres, informations internes au système de fichiers).

Il y a un fort impact sur l'organisation des données applicatives. Toutes les données doivent être localisées sur le disque répliqué. A minima, cela nécessite une reconfiguration de l'application. Ou alors, c'est impossible si certaines données à répliquer se trouvent dans le disque système, car ce disque doit rester propre à chaque serveur.

Le temps de récupération (RTO) augmente avec la procédure de récupération du système de fichiers sur le disque répliqué après un basculement.

Enfin, la solution n'est pas facile à configurer car des compétences sont nécessaires pour configurer un disque spécial avec un système de fichiers. De plus, des compétences applicatives sont requises pour configurer les données de l'application dans le disque répliqué.

Avantages et inconvénients de la réplication de fichiers au niveau octet par rapport à la réplication de disques au niveau bloc

Cluster avec réplication de fichiers au niveau octet

Réplication de fichiers au niveau octet

Cluster avec réplication de disques au niveau bloc

Réplication de disques au niveau bloc

Produit
SafeKit sous Windows et Linux Produits de réplication de disques comme DRBD
Organisation des données de l'application
0 impact sur l'organisation des données de l'application avec SafeKit.

Il suffit de définir les répertoires à répliquer en temps réel.

Même des répertoires dans le disque système peuvent être répliqués.

Impact sur l'organisation des données de l'application.

Configuration spéciale de l'application pour mettre ses données sur un disque répliqué.

Les données du disque système ne peuvent pas être répliquées.

Réplication de données
Réplication de fichiers en temps réel synchrone au niveau octet.

Réplication de données temps réel et continue suivant l'activité d'écriture générée par l'application.

Aucune métadonnée n'est répliquée. Seules les données modifiées à l'intérieur des fichiers sont répliquées et pas les fichiers dans leur totalité (réplication de fichiers au niveau octet).

Réplication synchrone pour éviter la perte de données en cas de panne

Réplication de disques au niveau bloc.

Réplique toutes les données modifiées dans le disque répliqué.

Les données applicatives et les métadonnées sont répliquées.

Par exemple, l'heure du dernier accès à un fichier est répliquée (l'heure du dernier accès est modifiée chaque fois que le fichier est lu).

Complexité du déploiement
Non - installer un logiciel sur 2 serveurs Oui - nécessite des compétences informatiques spécifiques pour la configuration du système d'exploitation et du disque répliqué
Basculement
Redémarrer simplement l'application sur le deuxième serveur Remonter le système de fichiers du disque répliqué.

Passer la procédure de récupération sur le système de fichiers.

Et enfin redémarrer l'application

Réintégration d'un serveur dans le cluster
Réintégration automatique.

Resynchronisation des données sur le serveur secondaire sans arrêter l'application sur le serveur principal.

Pas de basculement d'application tant que les données ne sont pas resynchronisées.

Tous les produits ne sont pas au même niveau de fonctionnalité.
Quorum et split brain
Application exécutée sur un serveur unique après une isolation de réseau (split brain).

Cohérence des données après un split brain.

Pas besoin d'une troisième machine, d'un disque de quorum ou d'une voie de heartbeat spéciale pour le split brain.

Plus d'informations sur les heartbeats, le failover et le quorum

Requiert un disque de quorum spécial ou un troisième serveur de quorum pour gérer le split brain
Convient pour
Les éditeurs de logiciels qui souhaitent ajouter une option de haute disponibilité simple pour leur application Les entreprises possédant des compétences en informatique dans le clustering

Différentiateurs de la solution de haute disponibilité SafeKit

Comment fonctionne le cluster miroir SafeKit?

Étape 1. Réplication en temps réel

Le Serveur 1 (PRIM) exécute l'application. Les clients sont connectés à une adresse IP virtuelle. SafeKit réplique en temps réel les modifications apportées à l'intérieur des fichiers à travers le réseau.

Réplication de fichiers au niveau octet dans un cluster miroir

La réplication est synchrone sans perte de données en cas de défaillance, contrairement à la réplication asynchrone.
Il vous suffit de configurer les noms des répertoires à répliquer dans SafeKit. Il n'y a pas de prérequis sur l'organisation des disques. Les répertoires peuvent être situés dans le disque système.

Étape 2. Bascule automatique (failover)

Lorsque le Serveur 1 tombe en panne, le Serveur 2 prend le relais. SafeKit bascule l'adresse IP virtuelle et redémarre l'application automatiquement sur le Serveur 2.
L'application retrouve les fichiers répliqués par SafeKit à jour sur le Serveur 2. L'application continue de fonctionner sur le Serveur 2 en modifiant localement ses fichiers qui ne sont plus répliqués vers le Serveur 1.

Bascule (failover) dans un cluster miroir

Le temps de bascule est égal au temps de détection de panne (30 secondes par défaut) plus le temps de démarrage de l'application.

Étape 3. Reprise automatique (failback)

La reprise (failback) consiste à redémarrer le Serveur 1 après avoir résolu le problème qui a causé sa défaillance.
SafeKit resynchronise automatiquement les fichiers, mettant à jour uniquement les fichiers modifiés sur le Serveur 2 pendant que le Serveur 1 était arrêté.

Reprise (failback) dans un cluster miroir

La reprise a lieu sans perturber l'application, qui peut continuer à s'exécuter sur le Serveur 2.

Étape 4. Retour à la normale

Après la réintégration, les fichiers sont à nouveau en mode miroir, comme à l'étape 1. Le système est de retour en mode haute disponibilité, avec l'application fonctionnant sur le Serveur 2 et SafeKit répliquant les mises à jour de fichiers vers le Serveur 1.

Retour au fonctionnement normal dans un cluster miroir

Si l'administrateur souhaite que l'application s'exécute sur le Serveur 1, il/elle peut exécuter une commande "swap" soit manuellement à un moment opportun, soit automatiquement via la configuration.

Utilisation typique avec SafeKit

Pourquoi une réplication de quelques téraoctets ?

Temps de resynchronisation après une panne (étape 3)

  • Réseau 1 Gb/s ≈ 3 heures pour 1 téraoctet.
  • Réseau 10 Gb/s ≈ 1 heure pour 1 téraoctet ou moins selon les performances d’écriture disque.

Alternative

Pourquoi une réplication < 1 000 000 fichiers ?

  • Performance du temps de resynchronisation après une panne (étape 3).
  • Temps nécessaire pour vérifier chaque fichier entre les deux nœuds.

Alternative

  • Regrouper les nombreux fichiers à répliquer dans un disque dur virtuel / une machine virtuelle.
  • Seuls les fichiers représentant le disque dur virtuel / la machine virtuelle seront répliqués et resynchronisés dans ce cas.

Pourquoi un basculement ≤ 32 VM répliquées ?

  • Chaque VM fonctionne dans un module miroir indépendant.
  • Maximum de 32 modules miroir exécutés sur le même cluster.

Alternative

  • Utiliser un stockage partagé externe et une autre solution de clustering de VM.
  • Plus coûteux, plus complexe.

Pourquoi un réseau LAN/VLAN entre sites distants ?

  • Basculement automatique de l’adresse IP virtuelle avec 2 nœuds dans le même sous-réseau.
  • Bonne bande passante pour la resynchronisation (étape 3) et bonne latence pour la réplication synchrone (typiquement un aller-retour inférieur à 2 ms).

Alternative

  • Utiliser un load balancer pour l’adresse IP virtuelle si les 2 nœuds sont dans 2 sous-réseaux (pris en charge par SafeKit, notamment dans le cloud).
  • Utiliser des solutions de sauvegarde avec réplication asynchrone pour un réseau à forte latence.

Différentiateurs de la solution de haute disponibilité SafeKit

Solutions HA SafeKit et Guides d'Installation Rapide (avec modules .safe préconfigurés)

Comment Configurer la HA pour les Nouvelles Applications avec Réplication en Temps Réel et Basculement?


Comment Configurer la HA pour les Nouvelles Applications avec Équilibrage de Charge Réseau et Basculement?


Comment Configurer la HA pour les Services Cloud Amazon AWS?


  • AWS (Réplication en Temps Réel et Basculement - mirror.safe)
  • AWS (Équilibrage de Charge Réseau et Basculement - farm.safe)

Comment Configurer la HA pour les Services Cloud Google GCP?


  • GCP (Réplication en Temps Réel et Basculement - mirror.safe)
  • GCP (Équilibrage de Charge Réseau et Basculement - farm.safe)

Comment Configurer la HA pour les Services Cloud Microsoft Azure?


  • Azure (Réplication en Temps Réel et Basculement - mirror.safe)
  • Azure (Équilibrage de Charge Réseau et Basculement - farm.safe)