#Mirroring

6 Followers · 135 Posts

Mirroring is an InterSystems technology for High Availability, Disaster Recovery and Database Backup and OLAP solutions.

Documentation.

Announcement Derek Robinson · Mar 12, 2020

In Episode 5 of Data Points, @Bob Binstock joins us to talk about mirroring databases for high availability in InterSystems products! Most of the discussion centers around this process in InterSystems IRIS, with a few notes about the differences when tackling it in HealthShare. Take a listen and let us know your thoughts!

0
0 344
Article Anton Umnikov · Feb 11, 2020 19m read

InterSystems IRIS Deployment Guide for AWS using CloudFormation template

Please note: following this guide, especially the prerequisites section requires Intermediate to Advanced level of knowledge of AWS. You'll need to create and manage S3 buckets, IAM roles for EC2 instances, VPCs and Subnets. You'll also need access to InterSystems binaries (usually downloaded via WRC site) as well as IRIS license key.
 

Aug 12, 2020
Anton Umnikov

Templates Source code is available here: https://github.com/antonum/AWSIRISDeployment

Table of Contents

InterSystems IRIS Deployment Guide – AWS Partner Network

1
1 1858
Question Joan Cruz · May 7, 2018

Hi

I'm using this query "Config.MapMirror.List" To get information of the list of servers that are in the mirror system.

I'd like to know how can I know which of the list is the primary and which is the failover or async member.

Is there a way to do it with this query? Is there another query to get this info?

Thanks a lot

3
0 535
Announcement Mario Sanchez Macias · Oct 9, 2019

Hi, 

If you like to play and test with mirroring, now you can do it very easily with dockers and these simple mirror scripts.

  • The docker-compose.yml will create 2 containers with the preferred version. 
  • The installer.sh script will start the ISCAgent, load the Installer.cls class into Iris and call it. 
  • The interesting part is inside the Installer.cls class, you will find some methods to create a mirror,  join and create databases in mirror.  The scripts are quite simple and you can borrow them to create your own mirrors.

Note that this script is just valid for 2019.

4
1 802
Question Jeffrey Drumm · Sep 17, 2019

I've created a scheduled task that dumps HL7 messages to flat files. It uses the OutputToLibraryStream() method of EnsLib.HL7.Message. I'd like to be able to run it on a mirror member host whether it's primary or backup.

When run against a database that's mounted read-only, it works fine. However, when I attempt to run it against a mirror backup database, I get the following error:

#5002: Cache error: <PROTECT>%LoadData+7^EnsLib.HL7.Message.1

Tracing that back to the source, I find:

Lock +(^EnsLib.H.

9
0 593
Question Marcus West · Aug 1, 2019

I've setup ODBC connection so I can access Cache data within SQL Server.

I want to be able to write SQL queries for internal monitoring purposes, similar to what's possible with SQL Server.  Specifically I want to be able to check mirroring status (i.e. check which is the current primary mirror member), check the status of any Ensemble productions (started/stopped), check the status of business hosts etc.  I want to do all of this from SQL Server to go with our other system monitoring solutions.

1
0 350
Question Mark Turner · Mar 15, 2019

I have a DR Mirror   with a WIJ that is 5 times as large as the Primary Failover member. My Read-Write Reporting mirror WIJs are the same size as the Primary.  I don't  know why the DR WIJ i so large and would like to shrink it to the same size as the others.  Any suggestions are welcome. Thanks!

3
0 626
Question Joao Palma · Mar 4, 2019

Hi guys

I've added a new mirrored failover member to an existing one.

They are both Arbiter controlled.

When I do Add database to mirror on the primary I'm always getting an error. Missing Mirrored database.

I followed everything in the documentation and always get the same error.

I've copied the CACHE.dat file after umounting the database on both servers. then mounted them.

Could you help me out?

Kind Regards

1
0 800
InterSystems Official Pete Greskoff · Feb 26, 2019

InterSystems has corrected a defect that can result in data integrity problems in environments that use InterSystems mirroring in conjunction with parallel dejournaling. This problem exists for currently released Caché and Ensemble versions beginning with 2017.2 and for InterSystems IRIS Data Platform version 2018.1.

Ensuring that you are protected from this issue

Your system is at risk only if you have a mirroring environment that supports parallel dejournaling for mirrored database catchup.

0
0 340
Question ED Coder · Dec 5, 2018

Hi, I updated the schema on our live node, but the change did not occur on the mirror server. Is there some setting that I need to enable? Everything else seems to be updating but the schema has not

Can you advice on what I could be missing or is this something that is known?

Regards,

Eric

2
0 372
Question Evgeny Shvarov · Nov 15, 2018

Hi All!

I asked previously about the DR server in the cloud but actually, I'm curious about the backup server to use as analytics server more than for recovery in DR case.

There is a recommended practice to use an async mirror as a server for BI (InterSystems Analytics, DeepSee)

The question is if I have PRIMARY in the cloud (AWS, Google, Azure, etc) "how far" should async mirror member be placed? Same cloud, same private cloud or it doesn't matter at all for analytics purposes?

3
0 431
Article Mark Bolinsky · Mar 18, 2016 9m read

++ Update: August 1, 2018

The use of the InterSystems Virtual IP (VIP) address built-in to Caché database mirroring has certain limitations. In particular, it can only be used when mirror members reside the same network subnet. When multiple data centers are used, network subnets are not often “stretched” beyond the physical data center due to added network complexity (more detailed discussion here). For similar reasons, Virtual IP is often not usable when the database is hosted in the cloud.

Network traffic management appliances such as load balancers (physical or virtual) can be used to achieve the same level of transparency, presenting a single address to the client applications or devices. The network traffic manager automatically redirects clients to the current mirror primary’s real IP address. The automation is intended to meet the needs of both HA failover and DR promotion following a disaster. 

12
6 7004
Question Barry Veach · Jun 2, 2018

In System Administration | Configuration |  System Configuration | Journal Settings there is a check box for Freeze on error.

From reading the documentation, it sounds like the choice to freeze on error is one of system availability vs system integrity.

Curious to know whether Ensemble users choose to freeze on error or not.

If you have a best practice recommendation based upon your experience or knowledge, that would be helpful information too.

3
0 457
Question Martin Karas · Dec 2, 2017

Hello everyone,

i want an automatic unidirectional syncronization of multiple databases (some tables from .dat file, not the whole .dat file) . 

So far i have tried everything from package %SYNC and the best working class is SyncSet with journals and guids. The problem is initial database transport for example when i want to add another server.  The easiest solution i have found is to transport syncing globals ^OBJ.SYNC.N to another database and then call %SYNC.SyncSet.Import(), however it seems not to work with only the global structure, although it works fine using import files.

7
1 1054
Question Jon Astle · Nov 9, 2017

I have Ensemble/Healthshare running in a production environment which is setup with a mirror failover and an arbiter sitting between them.

In the event of a failover we have a number of connections that need stopping/monitoring and starting in a certain order.

Is there a programmatic way we can detect the failover and stop certain services and operations immediately and then start them up again in the required order, checking their connection state before starting the next connection.

I am thinking Ens.Director is probably what I need however I need some guidance on how to implement a solution.

2
0 637
Question Gerry Connolly · Oct 31, 2017

Is it possible to make the cache terminal available over a mirrored vip address for a healthshare mirrored environment? So that connecting to a terminal for a mirrored environment will always connect to the Live Node?

I'm looking to write a Powershell script to run against the system and need to connect to the Live Node in a mirrored setup. Is this possible or am I going to have to log onto each node to establish which is Live.  Or does this even matter?

4
0 576
Discussion David Little · May 16, 2017

Hi All

I'm looking for some field experiences, lessons learned, or actual deployed solutions to the problem of replicating non-CACHE.DAT data in a mirrored Cache environment.  

Environment:

  • Operating System is IBM AIX
  • Hardware is IBM Power w/ virtualised storage
  • Cache 2017.1
  • 2x Production mirror members
  • 1x DR mirror member

There are a number of different data types that we're looking at mirroring, and a number of identified solutions.

1
0 522
Question William Proctor · Mar 23, 2017

Hello,  Thanks in advance for all replies.  I have been practicing setting up mirroring between two development servers in preparation for mirroring our production server in a few weeks.  I started by setting the servers up with minimum security which worked easily, then I set it up in lock down mode again without any issues.  Now I am setting it up in lockdown mode with encryption and this one is testing me.  I have everything setup but my async dr member cannot connect to the primary.

from cconsole.log

3/23/17-10:09:39:851 (3124) 0 [SYSTEM MONITOR] Mirror status changed.

14
0 2343
Article Pete Greskoff · Jan 10, 2017 9m read

NB. Please be advised that PKI is not intended to produce certificates for secure production systems. You should make alternate arrangements to create certificates for your productions.
NB. PKI is deprecated as of IRIS 2024.1: documentation and announcement.

In this post, I am going to detail how to set up a mirror using SSL, including generating the certificates and keys via the Public Key Infrastructure built in to Caché. The goal of this is to take you from new installations to a working mirror with SSL, including a primary, backup, and DR async member, along with a mirrored database.

7
0 2787