Stockage partagé SAN vs NAS pour un cluster de haute disponibilité
Evidian SafeKit
Quelle est la solution la plus simple entre un stockage partagé SAN ou NAS pour un cluster de haute disponibilité ?
Stockage partagé SAN ou stockage partagé NAS iSCSI pour un cluster de haute disponibilité
Plusieurs éléments rendent cette architecture complexe à mettre en œuvre :
- en cas de basculement, la commutation du stockage partagé nécessite des instructions de bas niveau qui dépendent du fabricant du stockage,
- la procédure de récupération du système de fichiers (FS) doit être passée avant de redémarrer l'application,
- si les deux systèmes de fichiers sur les deux nœuds accèdent au même disque en même temps, le système de fichiers complet sera corrompu,
- pour éviter un double accès, un disque de quorum doit être configuré.
Stockage partagé NAS SMB ou NAS NFS pour cluster de haute disponibilité
- Plusieurs éléments rendent cette architecture simple à mettre en œuvre :
- en cas de basculement, le basculement du stockage partagé consiste uniquement au remontage du système de fichiers externe,
- aucune procédure de récupération sur le système de fichiers ne doit être passée avant de redémarrer l'application,
- si les deux nœuds accèdent au même système de fichiers partagé en même temps, le système de fichiers complet ne sera pas corrompu,
- cependant, il existe toujours la possibilité qu'une double exécution de la même application corrompent ses données dans le stockage partagé lorsque les nœuds sont isolés.
Réplication en temps réel et basculement avec Evidian SafeKit
Il n'y a pas de tels problèmes avec SafeKit car sa solution de réplication et de basculement ne nécessite pas de stockage partagé.
Cependant, si SafeKit doit gérer un stockage partagé :
- utiliser un stockage partagé NAS SMB ou un stockage partagé NAS NFS,
- mettre dans les scripts de redémarrage le montage/démontage du système de fichiers externe,
- configurer le split brain checker de SafeKit pour éviter une double exécution de la même application accédant au stockage partagé lorsque les nœuds sont isolés.
Etape 1. Réplication en temps réel
Le serveur 1 (PRIM) exécute l'application Windows or Linux. Les utilisateurs sont connectés à une adresse IP virtuelle. Seules les modifications faites par l'application à l'intérieur des fichiers sont répliquées en continue à travers le réseau.
La réplication est synchrone sans perte de données en cas de panne contrairement à une 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 du disque. Les répertoires peuvent se trouver sur le disque système.
Etape 2. Basculement automatique
Lorsque le serveur 1 est défaillant, SafeKit bascule l'adresse IP virtuelle sur le serveur 2 et redémarre automatiquement l'application Windows or Linux. L'application retrouve les fichiers répliqués à jour sur le serveur 2.
L'application poursuit son exécution sur le serveur 2 en modifiant localement ses fichiers qui ne sont plus répliqués vers le serveur 1.
Le temps de basculement est égal au temps de détection de la panne (30 secondes par défaut) et au temps de relance de l'application.
Etape 3. Réintégration après panne
A la reprise après panne du serveur 1 (réintégration du serveur 1), SafeKit resynchronise automatiquement les fichiers de ce serveur à partir de l'autre serveur.
Seuls les fichiers modifiés sur le serveur 2 pendant l'inactivité du serveur 1 sont resynchronisés.
La réintégration du serveur 1 se fait sans arrêter l'exécution de l'application Windows or Linux sur le serveur 2.
Etape 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 en haute disponibilité avec l'application Windows or Linux qui s'exécute sur le serveur 2 et avec réplication temps réel des modifications vers le serveur 1.
Si l'administrateur souhaite que son application s'exécute en priorité sur le serveur 1, il peut exécuter une commande de basculement, soit manuellement à un moment opportun, soit automatiquement par configuration.
Plus d'information sur une coupure de courant et un isolement du réseau dans un cluster.
Redondance au niveau de l'application
Dans ce type de solution, seules les données applicatives sont répliquées. Et seule l'application est redémarrée en cas de panne.
Avec cette solution, des scripts de redémarrage doivent être écrits pour redémarrer l'application.
Nous livrons des modules applicatifs pour mettre en œuvre la redondance au niveau applicatif (comme le module mirror fourni dans l'essai gratuit ci-dessous). Ils sont préconfigurés pour des applications et des bases de données bien connues. Vous pouvez les personnaliser avec vos propres services, données à répliquer, checkers d'application. Et vous pouvez combiner les modules applicatifs pour construire des architectures avancées à plusieurs niveaux.
Cette solution est indépendante de la plate-forme et fonctionne avec des applications à l'intérieur de machines physiques, de machines virtuelles, dans le Cloud. Tout hyperviseur est supporté (VMware, Hyper-V...).
Redondance au niveau de machine virtuelle
Dans ce type de solution, la machine virtuelle (VM) complète est répliquée (Application + OS). Et la machine virtuelle complète est redémarrée en cas de panne.
L'avantage est qu'il n'y a pas de scripts de redémarrage à écrire par application et pas d'adresse IP virtuelle à définir. Si vous ne savez pas comment fonctionne l'application, c'est la meilleure solution.
Cette solution fonctionne avec Windows/Hyper-V et Linux/KVM mais pas avec VMware. Il s'agit d'une solution active/active avec plusieurs machines virtuelles répliquées et redémarrées entre deux nœuds.
- Solution pour une nouvelle application (pas de script de redémarrage à écrire) : Windows/Hyper-V, Linux/KVM
Pourquoi une réplication de quelques Tera-octets ?
Temps de resynchronisation après 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 en fonction des performances d'écriture disque.
Alternative
- Pour un grand volume de données, utilisez un stockage partagé externe.
- Plus cher, plus complexe.
Pourquoi une réplication < 1 000 000 fichiers ?
- Performance du temps de resynchronisation après panne (étape 3).
- Temps pour vérifier chaque fichier entre les deux nœuds.
Alternative
- Placez les nombreux fichiers à répliquer sur 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 VMs répliquées ?
- Chaque VM s'exécute dans un module miroir indépendant.
- Maximum de 32 modules miroir exécutés sur le même cluster.
Alternative
- Utilisez un stockage partagé externe et une autre solution de clustering de VMs.
- Plus cher, 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 de moins de 2 ms).
Alternative
- Utilisez un équilibreur de charge pour l'adresse IP virtuelle si les 2 nœuds sont dans 2 sous-réseaux (supporté par SafeKit, notamment dans le cloud).
- Utilisez des solutions de backup avec réplication asynchrone pour un réseau à latence élevée.
New application (real-time replication and failover)
New application (network load balancing and failover)
Database (real-time replication and failover)
- Microsoft SQL Server mirror
- PostgreSQL mirror
- MySQL mirror
- Oracle mirror
- MariaDB mirror
- Firebird mirror
Web (network load balancing and failover)
Full VM or container real-time replication and failover
Amazon AWS
Google GCP
Microsoft Azure
Other clouds
Physical security (real-time replication and failover)
Siemens (real-time replication and failover)
New application (real-time replication and failover)
- Windows (mirror.safe)
- Linux (mirror.safe)
New application (network load balancing and failover)
Database (real-time replication and failover)
- Microsoft SQL Server (sqlserver.safe)
- PostgreSQL (postgresql.safe)
- MySQL (mysql.safe)
- Oracle (oracle.safe)
- MariaDB (sqlserver.safe)
- Firebird (firebird.safe)
Web (network load balancing and failover)
- Apache (apache_farm.safe)
- IIS (iis_farm.safe)
- NGINX (farm.safe)
Full VM or container real-time replication and failover
- Hyper-V (hyperv.safe)
- KVM (kvm.safe)
- Docker (mirror.safe)
- Podman (mirror.safe)
- Kubernetes K3S (k3s.safe)
Amazon AWS
- AWS (mirror.safe)
- AWS (farm.safe)
Google GCP
- GCP (mirror.safe)
- GCP (farm.safe)
Microsoft Azure
- Azure (mirror.safe)
- Azure (farm.safe)
Other clouds
- All Cloud Solutions
- Generic (mirror.safe)
- Generic (farm.safe)
Physical security (real-time replication and failover)
- Milestone XProtect (milestone.safe)
- Nedap AEOS (nedap.safe)
- Genetec SQL Server (sqlserver.safe)
- Bosch AMS (hyperv.safe)
- Bosch BIS (hyperv.safe)
- Bosch BVMS (hyperv.safe)
- Hanwha Vision (hyperv.safe)
- Hanwha Wisenet (hyperv.safe)
Siemens (real-time replication and failover)
- Siemens Siveillance suite (hyperv.safe)
- Siemens Desigo CC (hyperv.safe)
- Siemens Siveillance VMS (SiveillanceVMS.safe)
- Siemens SiPass (hyperv.safe)
- Siemens SIPORT (hyperv.safe)
- Siemens SIMATIC PCS 7 (hyperv.safe)
- Siemens SIMATIC WinCC (hyperv.safe)
HA de VMs avec le module Hyper-V ou KVM de SafeKit | HA d'application avec les modules applicatifs de SafeKit |
SafeKit dans 2 hyperviseurs: réplication et reprise de VM complète |
SafeKit dans 2 machines virtuelles ou physiques: réplication et reprise au niveau applicatif |
Réplique plus de données (App+OS) | Réplique seulement les données applicatives |
Reboot de la machine virtuelle sur l'hyperviseur 2 si l'hyperviseur 1 crash Temps de reprise dépendant du reboot de l'OS Checker de VM et reprise sur panne (la machine virtuelle ne répond pas, est tombée en panne ou a cessé de fonctionner) |
Temps de reprise rapide avec redémarrage de l'application sur OS2 en cas de panne du serveur 1 Autour d'1 mn ou moins (voir RTO/RPO ici) Checker applicatif et reprise sur panne logicielle |
Solution générique pour n'importe quelle application / OS | Scripts de redémarrage à écrire dans des modules applicatifs |
Fonctionne avec Windows/Hyper-V et Linux/KVM mais pas avec VMware | Indépendant de la plateforme, fonctionne avec les machines physiques ou virtuelles, une infrastructure cloud et tout hyperviseur, y compris VMware |
SafeKit avec le module Hyper-V ou le module KVM | Microsoft Hyper-V Cluster & VMware HA |
Pas de disque partagé - réplication temps réel synchrone à la place avec 0 perte de données | Disque partagé et baie de disques externe spécifique |
Sites distants = pas de SAN pour la réplication | Sites distants = baies de disques répliquées à travers un SAN |
Aucune compétence informatique spécifique pour configurer le système (avec hyperv.safe et kvm.safe) | Compétence informatique spécifique pour configurer le système |
Notez que les solutions Hyper-V/SafeKit et KVM/SafeKit sont limitées à la réplication et au basculement de 32 machines virtuelles. | Notez que la réplication intégrée à Hyper-V ne peut pas être considérée comme une solution de haute disponibilité. En effet, la réplication est asynchrone, ce qui peut entraîner une perte de données en cas de panne, et elle ne dispose pas de fonctionnalités de basculement et de restauration automatiques. |
Cluster miroir d'Evidian SafeKit avec réplication de fichiers temps réel et reprise sur panne |
|
Économisez avec 3 produits en 1 En savoir plus > |
|
Configuration très simple En savoir plus > |
|
Réplication synchrone En savoir plus > |
|
Retour d'un serveur tombé en panne totalement automatisé (failback) En savoir plus > |
|
Réplication de n'importe quel type de données En savoir plus > |
|
Réplication de fichiers vs réplication de disque En savoir plus > |
|
Réplication de fichiers vs disque partagé En savoir plus > |
|
Sites distants et adresse IP virtuelle En savoir plus > |
|
Split brain et quorum En savoir plus > |
|
Cluster actif/actif En savoir plus > |
|
Solution de haute disponibilité uniforme En savoir plus > |
|
RTO / RPO En savoir plus > |
|
Cluster ferme d'Evidian SafeKit avec load balancing et reprise sur panne |
|
Pas de load balancer, ni de serveur proxy dédié, ni d'adresse Ethernet multicast spéciale En savoir plus > |
|
Toutes les fonctionnalités de clustering En savoir plus > |
|
Sites distants et adresse IP virtuelle En savoir plus > |
|
Solution de haute disponibilité uniforme En savoir plus > |
|
|
|
Cluster de type "shared nothing"" vs cluster à disque partagé En savoir plus > |
|
|
|
|
|
Haute disponibilité vs tolérance aux fautes En savoir plus > |
|
|
|
Réplication synchrone vs réplication asynchrone En savoir plus > |
|
|
|
Réplication de fichiers au niveau octet vs réplication de disque au niveau du bloc En savoir plus > |
|
|
|
Heartbeat, reprise sur panne et quorum pour éviter 2 serveurs maîtres En savoir plus > |
|
|
|
|
|