#Mirroring

6 Followers · 134 Posts

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

Documentation.

Question Mikhail Khomenko · Oct 30, 2016

Good day! Is there an opportunity to debug the ISCAgent behaviour (in Linux)? ISCAgent uses /etc/iscagent/iscagent.conf as configuration file, but in docs I've found a description only for two parameters (port number and interface - http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GHA_mirror#GHA_mirror_set_agent). Other parameters I can see by running /usr/local/etc/cachesys/ISCAgentCtrl status:

application_server.interface_address=*
application_server.port=2188
daemonized=yes
mirroring=on
pid=41850
running=yes
version=2015.2.0.664.
8
0 3100
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 2337
Question Anzelem Sanyatwe · Oct 25, 2016

ISCAgent is automatically installed with Cache, runs as a service and can be configured to
start with the system. This is fine – but the complication comes when this is on VCS clusters with
Mirroring on. When installing a Single Instance of Cache in a Cluster, point number 2. Says “Create
a link from /usr/local/etc/cachesys to the shared disk. This forces the Caché registry and all
supporting files to be stored on the shared disk resource you have configured as part of the
service group.

15
0 1910
Question Augusto Estefan · Jun 9, 2021

Hi,

I have a DR member and in this cache server the database "cachetemp" start to getting bigger without any reason (50GB that was all the free disk space we have)

In the members of the mirrors the cachetemp its ok and the size is 31MB.

I restarted the server because I read that the cachetemp database purge when restarting, but didnt happend.

Any recommendation to clean this database? can I just deleate the CACHE.DAT from this database?

Thanks!!!

4
0 1113
Question Guilherme Silva · Sep 13, 2019

I'm trying to create a simple mirror with two Cachés 2016.2.1.803 Instances,

but after i create the mirror with the primary and try to connect the fallouver server, i receive the following message:

 

ERRO #2071: Erro ao recuperar informações do conjunto espelho para 'BPLUS'. Erro: Connection failed: Unexpected error: <READ>SSLServer+191^MIRRORCTL

i'm not using ssl on this configuration, tried with arbiter and without, same effect.

Tried with Caché 2018.1 and Caché 2016.2.1, same problem.

Some tips?

Best,

2
0 1090
Question Steve Pisani · Mar 8, 2016

Hi,

Can a Cache Mirror be  used in the cloud ? (ie stand up a Primary and Backup member instances in a High Availability Cache Mirroring configuration) 

I'm investigating the validity of this configuration, because I was of the understanding that this may not possible due to these cloud servers not (typically) having fixed ip addresses, which interferes with the Virtual IP settings for the mirror set.

Is this correct, and if there are workarounds (like Load Balancing ?) can I have details on how this should be configured ?

8
0 1072
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 1045
Question Augusto Estefan · Apr 15, 2021

Hi, 

I'm trying to add a DR async member to a mirror but when I add this member I get this messages in the mirror monitor (on the DR member):

The message im talking about is the "missing Mirrored Databases report".

The only step I did was the " System Administration -> Configuration -> Mirror Settings -> Join as Async" an fill the blanks. Maybe Im skipping a step? 

I dont get how to make this DBs start getting synchronized, the cconsole log dont show nothing 

 

Thanks a lot!!!

3
0 998
Question Julian Matthews · Nov 5, 2020

Hey everyone.

I have noticed that my backup mirror is warning that the MirrorDatabaseLatencyTime is having a bad time (time in ms is 3000, and warnvalue is 3000). While I look into what may be causing this latency between the two servers, I was considering if reducing the size of the journal files would improve this value in any way.

My assumption is that reducing the file size would mean that the frequency of the journal files being created would be increased, but the reduced size would mean that the transfer and application of each file would be reduced.

Has anyone had experience in this area?

2
0 908
Question Joan Cruz · Aug 2, 2016

Hi all,

I'm using $ZUTIL(49) to get information of the databases I want to add to a mirror. This information is passed to  ##class(SYS.Mirror).CatchupDB(plstPathDatabases)  in order to Catchup all databases addes to a Mirror.

I know that ZUTIL is deprecated and I'd like to know what function or functions I have to use in order to get all necessary information for CatchupDB.

 

Thanks a lot

11
0 842
Question Rich Taylor · Aug 18, 2016

I have setup an async reporting mirror member with Read only access.  My problem is that if I try to do any sql reporting against that data I am getting errors.  I am sure that this is because the DB is read only, but I had assumed that setting up a reporting mirror would handle this.

 

I there a setting or mapping  I am missing?

7
0 842
Question jennifer mccallum · Aug 4, 2021

Has anyone firstly got VIP working for mirroring in Azure?  We are pretty sure that this won't work but I wanted to verify it.

Has anyone used the Azure Load balancer to act as a Virtual IP and if so was a application gateway required.

Interested to know your experiences in getting this working.

9
0 827
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 796
Question Oliver Wilms · Jun 3, 2020

Hello,

I work on deploying IRIS inside Docker container. I really like %Installer class can automate many steps. I want to establish an ECP connection to a mirror database and then define a remote database on the application server. I have already seen we can create local database and namespace in %Installer. What code is needed to establish ECP connection?

6
0 744
Question Scott Roth · Feb 14, 2023

Does anyone have experience with installing the Arbiter Container using Podman instead of Docker in a Red Hat environment? I was able to pull down the docker image, but unsure what are the next steps as I am confused on how to start the container using Podman and ensure the parameters are set appropriately? Does anyone have the steps that I should take? Should I go through the WRC? Does the WRC have experience using Podman?

Or should I just install the ISC Agent instead of using the Container?

Please and thanks,

Scott Roth

7
0 695
Question Daniel Metcalfe · Oct 7, 2022

Hi All,

Our mirrored HealthShare environment has failed over a few times recently due to underlying infrastructure issues (that are being worked on and resolved).

In the HealthShare logs we are seeing:

10/06/22-00:54:35:925 (4736) 1 Journal Daemon has been inactive with I/O pending for 10 seconds:
gjrnoff=524741316,iocomplete=523852600,filecnt=1011,fail=0
10/06/22-00:54:55:086 (4736) 3 CP: Pausing users because Journal Daemon has not shown
    signs of activity for 30 seconds.

4
2 679
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 633
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 619
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 591
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 573
Question Mikhail Khomenko · May 12, 2016

Good day, Cache developers and users!

At first, sorry for my bad English -)  I have a little question.

As I know, we can add database to mirror only on Primary Failover Node, using SMP or ^MIRROR. And the usual procedure after that is to copy mirrored database to Backup Failover Node and restore it there (by Backup restore or by Activate-Synchronize procedure). This all works fine. But what if I first have copied the database from Primary to Backup and only than added the database to mirror on Primary Failover Node? (human forgetfulness).

2
0 561
Question Andy Stobirski · Aug 5, 2022

Hi all

I have a pair of servers configured as a mirror, each server sits in a separate data centre.

I have noticed that occasionally, the primary will report that the backup is disconnected in the Mirror Monitor, and I believe this to be due to connection conditions between the two data centres.

What I want to do is log the status of both servers from the primary on a regular basis using a service. I know %System.Mirror can return the status of the current member, but how can I log the get the status of the other member as well?

Cheers

4
0 558
Question Kamal Suri · Nov 23, 2021

Hi,

What's the best way to get list of members attached to a Mirror? 

In my scenario, in a Mirror set there are 5 members. 2 Failover, 2 DR Async and 1 R/W reporting.

On Primary, in the code I want to identify Backup member and then do my stuff.

And on Backup, in the code I want to identify DR Async and then do my stuff.

Basically the idea is to push file through code from Primary > Backup and then later files will be pushed from Backup > DR Async.

Regards

Kamal Suri

4
0 539
Question Scott Roth · Sep 7, 2023

We are noticing some issues with the communication between our Arbiter and our servers. Looking at the following documentation to limit connections, and logging...https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GHA_mirror_set_config#GHA_mirror_set_agent_port

if I am configuring the ISCAgent on the arbiter, would we set 

application_server.interface_address=<ip_address>

to each IRIS server? Or does this mean to give it a specific NIC IP Address to use for communication?

3
0 537
Question Mark Charlton · Jan 20, 2023

I've been trying for a while to come up with a set of tools to monitor the health of a mirror set and email a report nightly on the status of the mirror, or flag issues in real time.
Making sure that all the databases are caught up, that all the mirror members are online. 

I've tried a number of methods I've found to try to access the state of the mirror and mostly found they're internal or unsupported routes, (that when questioning WRC have swiftly been removed from the online documentation.).

2
0 531
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 531