Architecture sans partage vs architecture avec disques partagés
Evidian SafeKit
Architecture sans partage vs architecture avec disques partagés pour les clusters de haute disponibilité
Aperçu
Cet article étudie les avantages et les inconvénients de l'architecture sans partage par rapport à l'architecture avec disques partagés pour les clusters de haute disponibilité. On s'intéresse aux contraintes matérielles, à l'impact sur l'organisation des données applicatives, au temps de récupération, à la simplicité de mise en œuvre.
Les tableaux comparatifs suivants expliquent en détail la différence entre l'architecture avec disques partagés et SafeKit, un produit de clustering logiciel implémentant une architecture sans partage.
Qu'est-ce qu'une architecture avec disques partagés ?
Une architecture avec disques partagés (comme avec le failover cluster de Microsoft) est basée sur 2 serveurs partageant un disque avec un basculement automatique des applications en cas de pannes matérielles ou logicielles.
Cette architecture a des contraintes matérielles : le stockage partagé externe spécifique, les cartes spécifiques à installer à l'intérieur des serveurs, et les commutateurs spécifiques entre les serveurs et le stockage partagé.
Une architecture avec disques partagés a un fort impact sur l'organisation des données applicatives. Toutes les données de l'application doivent être localisées sur le disque partagé pour une reprise après basculement.
De plus, en cas de basculement, la procédure de récupération du système de fichiers doit être exécutée sur le disque partagé. Ceci augmente le temps de récupération (RTO).
Enfin, la solution n'est pas facile à configurer car des compétences sont nécessaires pour configurer le matériel spécifique. Des compétences applicatives sont également requises pour configurer les données de l'application dans le disque partagé.
Qu'est-ce qu'une architecture sans partage ?
Une architecture sans partage (comme avec SafeKit) est basée sur 2 serveurs répliquant les données en temps réel avec un basculement automatique des applications en cas de pannes matérielles ou logicielles.
Il existe deux types de réplication de données : une réplication de fichiers au niveau octet vs une réplication de disque au niveau bloc. Nous considérons ici la réplication de fichiers au niveau octet car elle présente de nombreux avantages par rapport à la réplication de disque au niveau bloc.
L'architecture sans partage n'a aucune contrainte matérielle : les serveurs peuvent être physiques ou virtuels avec n'importe quel type d'organisation disques. La réplication de fichiers en temps réel (synchrone pour avoir 0 perte de données) est effectuée via le réseau standard entre les serveurs.
Cette architecture n'a pas d'impact sur l'organisation des données applicatives. Par exemple, si une application a ses données sur le disque système, la réplication de fichiers en temps réel 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.
Avantages et inconvénients d'une architecture sans partage par rapport à une architecture avec disques partagés
Architecture sans partage
|
Architecture avec disques partagés
|
Produit |
|
Toolkit de clustering pour disque partagé |
|
Matériel supplémentaire |
|
Non - Utilisez les disques internes des serveurs |
Oui - Coût supplémentaire avec une baie de disques partagés |
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 des 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 partagé. Les données dans le disque système ne peuvent pas être récupérées par le serveur de secours. |
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 partagé |
Basculement |
|
Redémarrer simplement l'application sur le deuxième serveur |
Basculer le disque partagé. Remonter le système de fichiers. Passer la procédure de récupération sur le système de fichiers. Et puis redémarrer l'application |
Reprise après sinistre |
Il suffit de placer les 2 serveurs sur 2 sites distants connectés par un réseau local étendu. |
Coût supplémentaire avec une seconde baie de disques. Compétences informatiques spécifiques pour configurer la mise en miroir des baies sur un réseau SAN. |
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 éviter la corruption des données sur un split brain |
Convient pour |
|
Les entreprises possédant des compétences en informatique dans le clustering et avec des applications de bases de données volumineuses |
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 > |
|
|
|
|
|
Contenu de la vidéo
Cette vidéo illustre d'abord le travail à effectuer avec une architecture à disques partagés lorsque les deux serveurs d'un cluster de haute disponibilité doivent être placés sur deux sites distants.
Ensuite, la vidéo montre le même cas d'utilisation avec l'architecture SafeKit sans partage.
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)