#Mirroring

6 Followers · 134 Posts

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

Documentation.

New
Question John Murray · Feb 27

I am configuring a set of Linux (RHEL 9) servers to operate as an IRIS 2025.1 mirror set. Mirroring traffic is using TLS, so each IRIS server has the necessary TLS configurations. However installation of ISCAgent on the dedicated arbiter host didn't make any mention of TLS or certificates. Nor did I find anything about this when searching IRIS documentation.

Am I missing something? Does the traffic between the IRIS hosts and the arbiter host use TLS? Should I be installing any certs on the arbiter host to facilitate secure communication?

2
0 66
Question Malcolm King · Jul 22, 2025

Hi all,

Just wondering if anyone has any experience with licensing in an HA mirroring environment. We have mirror setup with 2 DB servers (Primary and Backup), and a separate Arbiter using ISCAgent. We currently don't have a license server setup so users using our web app get interruptions and have to log in again if failover occurs. 

We have also see some spurious licensing issues when failover occurs and users are logging back in. So we were wondering if using a separate License server (possibly hosted on the Arbiter machine) would help alleviate these licensing issues?

4
0 134
Question Scott Roth · Jun 1, 2025

I am attempting to failover my TEST environment to the Backup, and I keep getting an error stating that 

06/01/25-18:47:54:516 (11864) 1 [Utility.Event] Primary startup failed, failed to read header of /archive/journal/MIRROR-IRISTEST-20250513.007 (file #63653)

however, when I go to /archive/journal/, I am not finding any record of MIRROR-IRISTEST-20250513.007 (file #63653)

to get out of this error message I have to restart what was the Primary and restart the Backup to get it back into a state that we can use it.

1
0 95
Question Yaron Munz · May 16, 2025

Hello,

We had a weird behavior of task manager in mirror async backup-failover pair:

1. server 1 was primary, server 2 backup for over a month, as there was no automatic failover (switch) both had IRIS up for over a month
2. We manually switched making server 2 primary
3. The tasks that had this issue were set to "run on Primary only"
4. Task manager started to execute tasks every minute: we noticed that "Next scheduled time" is always calculated in past date, and progressing by the task interval (e.g. a task that supposed to run every hour will have "Next scheduled time" in the past e.g.

2
0 114
Question Mary George · Oct 16, 2024

Is it possible to use one IIS server to configure Webgateway and external Webserver for management portal when implementing synchronous mirroring with VIP  i.e Is it necessary to have two mirror servers(primary and Backup) , one Arbiter server, one Webserver for Webgateway and a sperate webserver for management portal? 

If anyone can please point to any documentation on Mirroring with Webgateway and external webserver for management  portal will be really helpful. 

 

Thank you for your help

6
0 270
Question Rich Taylor · Jun 27, 2024

The SYS.Mirror CatchupDB() method requires a System File Number/Inode value as a parameter.   I have not yet found a suitable internal method to get this value.  Is anyone aware of a utility method that would do this?   I do know I can get this value with a small amount of Python or by calling out to the OS.  However I wanted to stick with pure Objectscript in this project if possible.  

Failing in this I will use embedded python to run the line or two of Python needed to get this value.

Thank you for any hints

5
0 190
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 Rahul Raj · Apr 18, 2024

Hi! I am planning to move my Arbiter from a Unix server to a container(again on linux). To do this, I need the ISCAgent tar.gz file to configure Arbiter for our mirrored servers. I have tried searching for it on the Intersystems help forums but couldn't find it. Is it possible for someone to redirect me to the correct website to download it?

Thank you in advance!!

2
0 379
Question Scott Roth · Jan 18, 2024

I had a question about using ZSTART, ZSTOP, and ZMIRROR.

  • If we use them and it is not correct, does it mess up with any of the existing functionality?
  • So, if I create a ZSTART with a simple command of starting the %JDBC Server will that mess up anything existing in the Startup sequence?
  • Is ZSTART, ZSTOP, and ZMIRROR just an extension of the existing functionality, or does it alter how the built in functionality runs?
  • Should we tread lightly in the use of them?
7
1 505
Question Scott Roth · Feb 15, 2024

Has anyone noticed that when IRIS is forced down that the EnsLib.JavaGateway.Services do not properly shut down and release the ports? While we can write a shell script to kill the processes at the OS level, I was wondering if anyone experienced this issue.

We are working on our Mirroring setup/failover and had the team testing forcing the Primary down to make the Backup to become the Primary Server. When this happened and we failed back, IRIS could not restart the JavaGateway.Services because the ports were still in use.

0
0 228
Question Oliver Wilms · Jan 10, 2024

Hello, we deploy IRIScluster using IKO on Red Hat OpenShift deployed in AWS. For DR, we have another AWS region on stand by. We do daily backups. I run a standalone IRIS in the second region. I want to add it as async member to the mirror to have some essential data available in the standby region. Is this possible?

5
0 292
Question Scott Roth · Jan 22, 2024

We recently went through an Audit of our Security Policies and Procedures when it comes to IRIS. As a result of that Audit, we need to make adjustments to the way that Security is setup within IRIS. I have already done my changes on our TEST and DEVELOPMENT environments, but now I am trying to plan out how do we make these changes in Production.

These changes include moving away from the PWS, setting up Apache/Web Gateway, moving to LDAP instead of using Delegated Authentication, updating Web Applications, updating Resources, updating Services, etc.

4
0 247
Question Scott Roth · Jan 13, 2024

I am trying to work on a ZMIRROR that will execute a shell script to failover our VIP at the hardware level when NotifyBecomePrimary occurs.

 

ZMIRROR ; Custom logic for specific mirroring events
 q
 ;
NotifyBecomePrimary() PUBLIC {
 #;This procedure is called as a notification when this system becomes Primary.
 #;It does not return any value.
 #; invoke the command to select this host for running the crontab
 try {
	Set cmd = "/usr/local/sbin/failover-intengtest-vip_SR"
	d $ZF(-100,"/SHELL /LOGCMD /STDOUT=/archive/logs/failover-intengtest-vip.
4
0 264
Question Robert Cemper · Oct 15, 2023

MIRROR is the best solution for almost immediate replications to a Failover Server.
The related mechanics are based on Global Journaling.

Globals hold Data and Classes and Routines and more ...
If Mirroring is in place all is in sync. With minimum delays
This is of course  rather useful for code changes in Classes, Routines, ....

To what extent is Embedded Python covered by Mirroring?
Or:
What is required to Synchronize EmbeddedPython like Mirroring. 

2
0 255
Question Sandeep K C · Sep 7, 2023

Hello Everyone,

We currently have CSP application that runs under 2 servers(usually primary), and every month the server reboots for patching SERVER1(primary) in the morning and SERVER2(backup) at night.

Whenever the SERVER1 reboots SERVER2 behaves as primary and when SERVER1 comes back up it will act as backup server.

First Patching:

So, when SERVER1 is down, I need to start httpd service for SERVER2 and stop httpd service for SERVER1 (which is now backup server).

I tried using the code below in terminal to start httpd service for SERVER2 with no success.

5
0 374
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 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 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 Sergey Petrov · May 3, 2023

Hello everyone!
Maybe someone will tell me what could be the reason for such messages in the message.log file
05/03/23-06:46:27:155 (6584) 0 [Utility.Event] [SYSTEM MONITOR] Mirror state: Member type = Failover, Status = Transition
05/03/23-06:46:27:350 (1620) 1 [Utility.Event] Failed InstanceLookup (agent probably not running): instance not found
05/03/23-06:46:27:351 (1620) 2 [Utility.Event] Failed to become either Primary or Backup at startup
05/03/23-06:46:27:725 (1620) 1 [Utility.Event] Failed InstanceLookup (agent probably not running): instance not found

ISCAgent service is running.

6
0 451
Question Scott Roth · Mar 7, 2023

I am working on setting up our Failover techniques as we move to a Mirror Environment with a Arbiter, 2 Failover Nodes, and a Async (DR) Node. There are some system commands that I would like to call when the Mirror moves, and I am working on a ZMIRROR routine for that, but I also wanted to create an additional step if we wanted to manually shutdown and for the Mirror to move. So I was looking at using ZSTOP to call a couple of different items while shutting down, while the documentation has an example a couple of questions come to mind about using ZSTOP.

3
0 398
Question Scott Roth · Feb 21, 2023

I am new to setting up a mirror environment....

We will have a Arbiter, Two Failover members (A,B), and a Async (DR) member (C). I have the two failover members in sync and are configured for Arbiter Control.

My question is about the Async member, when I initially set it up I pointed it to the mirror on the primary node A.

Is that correct?

What happens to the Async member (C) if we fail over the mirror to the secondary member B?

8
0 441
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 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 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 678