Haute disponibilité de Hanwha SSM (ex Samsung Security Manager) avec réplication synchrone et tolérance aux pannes

Evidian SafeKit apporte la haute disponibilité à Hanwha SSM (ex Samsung Security Manager), le système de vidéosurveillance (CCTV). Cet article explique comment implémenter rapidement un cluster Hanwha SSM avec une base PostgreSQL sans disque partagé et sans compétences spécifiques. Un essai gratuit est offert.

Comment le logiciel Evidian SafeKit met en œuvre simplement la haute disponibilité de Hanwha SSM (ex Samsung Security Manager) avec réplication synchrone temps réel  et tolérance aux pannes sans disque partagé

Comment Evidian SafeKit met en œuvre la haute disponibilité de Hanwha SSM (ex Samsung Security Manager) avec réplication temps réel et tolérance aux pannes

Sur la figure précédente, le serveur 1 / PRIM (Windows) exécute Hanwha SSM (ex Samsung Security Manager). Les utilisateurs sont connectés à l'adresse IP virtuelle du cluster miroir. SafeKit réplique les fichiers ouverts par Hanwha SSM (ex Samsung Security Manager) en temps réel (la base de données PostgreSQL). Seules les modifications apportées aux fichiers sont répliquées sur le réseau, limitant ainsi le trafic (réplication de fichiers au niveau octet). Les noms des répertoires de fichiers contenant la base de données PostgreSQL sont simplement configurés dans SafeKit. Il n'existe pas de pré-requis sur l'organisation des disques entre les deux serveurs. Les répertoires à répliquer peuvent se trouver dans le disque système. SafeKit met en œuvre une réplication synchrone sans perte de données en cas de panne, contrairement à une réplication asynchrone.

En cas de défaillance du serveur 1, il y a un basculement automatique sur le serveur 2 avec redémarrage de Hanwha SSM (ex Samsung Security Manager). Ensuite, lorsque le serveur 1 est redémarré, SafeKit met en œuvre son retour dans le cluster avec la réintégration de la base de données PostgreSQL sans arrêter Hanwha SSM (ex Samsung Security Manager) sur le serveur 2. Enfin, le système retourne à la réplication synchrone entre le serveur 2 et le serveur 1. L'administrateur peut décider d'échanger le rôle du primaire et du secondaire pour revenir à un serveur 1 qui exécute Hanwha SSM (ex Samsung Security Manager). Ce changement de rôle peut également être fait automatiquement par configuration.

Vue générale sur la configuration de la haute disponibilité de Hanwha SSM (ex Samsung Security Manager) avec réplication synchrone et tolérance aux pannes

Avec SafeKit, on peut configurer soit un module applicatif ferme, soit un module applicatif miroir suivant l'architecture de haute disponibilité adaptée à l'application critique à sécuriser. Pour la haute disponibilité de Hanwha SSM (ex Samsung Security Manager) avec réplication synchrone et tolérance aux pannes, le bon module est le module miroir.

Vue générale sur la configuration de la haute disponibilité de Hanwha SSM (ex Samsung Security Manager) avec réplication et tolérance aux pannes

Les fichiers de configuration pour la haute disponibilité de Hanwha SSM (ex Samsung Security Manager) sont donnés pour ici.

Ils comprennent :

1. les scripts d'arrêt et de démarrage de Hanwha SSM (ex Samsung Security Manager),

2. le fichier de configuration userconfig.xml qui contient :

Le déploiement de la haute disponibilité de Hanwha SSM (ex Samsung Security Manager) avec réplication synchrone et tolérance aux pannes ne nécessite aucune compétence informatique spécifique :

Fichiers de configuration SafeKit sur Windows pour la haute disponibilité de Hanwha SSM (ex Samsung Security Manager) avec réplication synchrone et tolérance aux pannes

Instructions d'installation

userconfig.xml

<!DOCTYPE safe>
<safe>
<service mode="mirror" defaultprim="alone" maxloop="3" loop_interval="24" failover="on">
  <!-- Heartbeat Configuration -->
  <!-- Names or IP addresses on the default network are set during initialization in the console -->
  <heart pulse="700" timeout="30000">
    <heartbeat name="default" ident="flow">
    </heartbeat>
  </heart>
  <!-- Virtual IP Configuration -->
  <!-- Replace
     * VIRTUAL_TO_BE_DEFINED by the name of your virtual server 
  -->
  <vip>
    <interface_list>
        <interface check="on" arpreroute="on"> 
	      <real_interface>
               <virtual_addr addr="VIRTUAL_TO_BE_DEFINED" where="one_side_alias" />
          </real_interface>
        </interface>
    </interface_list>
  </vip>
  <!-- Software Error Detection Configuration -->
  <errd polltimer="10">
    <!-- Samsung SSM process -->
         <proc name="pg_ctl.exe" atleast="1" action="restart" class="prim" />
         <proc name="ServiceManager.exe" atleast="1" action="restart"class="prim" />
		<!--         
			<proc name="HAServerService.exe" atleast="1" action="restart" class="prim"/>
		-->
  </errd>
  <!-- File Replication Configuration -->
  <!-- Adapt with the directory of your PostgreSQL database and logs
  -->
  <rfs async="second" acl="off" nbrei="3">
     <replicated dir="C:\PostgreSQL\9.1\data" mode="read_only">
        <notreplicated path="pg_log"/>
        <notreplicated path="postmaster.pid"/>
     </replicated>
     <replicated dir="C:\Program Files (x86)\Samsung\SSM\SystemManager\MapFile" mode="read_only"/>
  </rfs>
  <!-- User scripts activation -->
  <user nicestoptimeout="300" forcestoptimeout="300" logging="userlog" />
</service>
</safe>

start_prim.cmd

@echo off

rem Script called on the primary server for starting application services 

rem For logging into SafeKit log use:
rem "%SAFE%\safekit" printi | printe "message"

rem stdout goes into Application log
echo "Running start_prim %*" 

set res=0

rem TODO: set to manual the start of services when the system boots

net start "postgresql-9.1 - PostgreSQL Server 9.1"
if not %errorlevel% == 0 (
  %SAFE%\safekit printi "PostgreSQL (postgresql-9.1 - PostgreSQL Server 9.1) start failed"
  goto stop
) else (
  %SAFE%\safekit printi "PostgreSQL (postgresql-9.1 - PostgreSQL Server 9.1) started"
)

net start "SSM System Manager"
if not %errorlevel% == 0 (
  %SAFE%\safekit printi "SSM System Manager start failed") 
  goto stop
) else (
  %SAFE%\safekit printi "SSM System Manager started"
)

net start "SSM Watch Services Manager"
if not %errorlevel% == 0 (
  %SAFE%\safekit printi "SSM Watch Services Manager start failed"
  goto stop
) else (
  %SAFE%\safekit printi "SSM Watch Services Manager started"
)

rem net start "HA Server Service"
rem if not %errorlevel% == 0 (
rem  %SAFE%\safekit printi "HA Server Service start failed"
rem  goto stop
rem ) else (
rem  %SAFE%\safekit printi "HA Server Service started"
rem )

if %res% == 0 goto end

:stop
set res=%errorlevel%
"%SAFE%\safekit" printe "start_prim failed"

rem uncomment to stop SafeKit when critical
rem "%SAFE%\safekit" stop -i "start_prim"

:end

stop_prim.cmd

@echo off

rem Script called on the primary server for stopping application services 

rem For logging into SafeKit log use:
rem "%SAFE%\safekit" printi | printe "message"

rem ----------------------------------------------------------
rem
rem 2 stop modes:
rem
rem - graceful stop
rem   call standard application stop with net stop
rem
rem - force stop (%1=force)
rem   kill application's processes
rem
rem ----------------------------------------------------------

rem stdout goes into Application log
echo "Running stop_prim %*" 

set res=0

rem action on force stop
if "%1" == "force" (
  %SAFE%\safekit printi "Force stop: kill processes of Samsung SSM application" 
  %SAFE%\safekit kill -name="watchservices.exe" -level="terminate"
  %SAFE%\safekit kill -name="java.exe" -argregex=".*systemmanager.*" -level="terminate"
  %SAFE%\safekit kill -name="pg_ctl.exe" -level="terminate"
  %SAFE%\safekit kill -name="postgres.exe" -level="terminate"
  %SAFE%\safekit kill -name="HAServerService.exe" -level="terminate"
  %SAFE%\safekit kill -name="systemanager.exe" -level="terminate"
  goto end
)

rem %SAFE%\safekit printi "Stopping HA Server Service"
rem net stop "HA Server Service"

%SAFE%\safekit printi "Stopping SSM Watch Services Manager"
net stop "SSM Watch Services Manager"

%SAFE%\safekit printi "Stopping SSM System Manager"
net stop "SSM System Manager"

%SAFE%\safekit printi "Stopping PostgreSQL (postgresql-9.1 - PostgreSQL Server 9.1)"
net stop "postgresql-9.1 - PostgreSQL Server 9.1"
del C:\PostgreSQL\9.1\data\postmaster.pid

rem Wait a little for the real stop of services
"%SAFEBIN%\sleep" 10

if %res% == 0 goto end

"%SAFE%\safekit" printe "stop_prim failed"

:end

Démonstration

Cette démonstration est réalisée avec Microsoft SQL Server Express mais le mode opératoire est le même que celui de Hanwha SSM.

Plus d'information sur SafeKit

Autres exemples de modules de haute disponibilité :

Modules miroirs

Windows

Linux

Microsoft SQL Servermodule Windows-
Oraclemodule Windowsmodule Linux
MySQLmodule Windowsmodule Linux
PostgreSQLmodule Windowsmodule Linux
Firebirdmodule Windowsmodule Linux
Hyper-Vmodule Windows-
Milestone XProtect (basé sur Microsoft SQL Server)module Windows-
Hanwha SSM (basé sur PostgreSQL Server)module Windows-
Module génériquemodule Windowsmodule Linux

Modules fermes

Windows

Linux

Module IISmodule Windows-
Module Apachemodule Windowsmodule Linux
Module génériquemodule Windowsmodule Linux

 

contact
CONTACT
Démonstration

Evidian SafeKit Prix





Livres blancs

NEWS

Pour recevoir des informations d'Evidian, veuillez remplir le formulaire suivant.