User Tools

Site Tools


storage:svc_ip_quorum

SVC / V7000 IP quorum

For SVC it's better to use 2 IP quorum

IBM_2145:SVC:report>lsquorum
quorum_index status id  name           controller_id controller_name active object_type override site_id site_name
0            online 279 v7ksite1-vdisk1 17            v7ksite1-node1   no     mdisk       no       1       SITE1
1            online 250 v7ksite2-vdisk1 15            v7ksite2-node1   no     mdisk       no       2       SITE2
3            online                                                  yes    device      no            lnxquorum01/10.10.10.13
4            online                                                  no     device      no               lnxquorum02/10.10.10.11

IP quorum has to be reinstall at every upgrade

Settings =⇒ IP quorum =⇒ download IPv4

You will download a package called ip_quorum.jar

Port 1260 can be used by the IP quorum application to communicate from the server to all nodes or node canisters. The maximum round-trip delay must not exceed 80ms (milliseconds), which means 40ms in each direction.

Cluster behavior, quorum settings

> chsystem -quorummode standard | preferred | winner

(Optional) Specifies the mode that quorum uses for tie-breaking. The valid values are standard (default), preferred, or winner.

  • quorumsite site_id | site_name

(Required) Specifies the site ID or name that quorum uses for tie-breaking when -quorummode is set to preferred or winner. (give 3 seconds for prefer site to lock quorum)

  • quorumlease short | long

(Optional) Specifies the mode that quorum uses for tie-breaking. The valid values are short (default) or long.

Who wins if standard or winner is selected ? Depends on IP network to lock on IP quorum, depends on latency…

On linux

[root@lnxquorum01] # ps -ef | grep java
root      1351     1  0 Jan10 ?        01:36:11 java -jar ip_quorum.jar
root     18595 18466  0 12:07 pts/1    00:00:00 grep --color=auto java
[root@lnxquorum01] # systemctl | grep quorum
ip_quorum.service                          loaded active running   IBM IP quorum daemon
[root@lnxquorum01] # systemctl status ip_quorum.service
? ip_quorum.service - IBM IP quorum daemon
   Loaded: loaded (/etc/systemd/system/ip_quorum.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2021-01-10 08:03:09 CET; 3 weeks 6 days ago
 Main PID: 1351 (java)
   CGroup: /system.slice/ip_quorum.service
           +-1351 java -jar ip_quorum.jar

Feb 06 10:55:37 lnxquorum01.net.lu bash[1351]: *Connecting
Feb 06 10:55:37 lnxquorum01.net.lu bash[1351]: Connected to 10.10.10.123
Feb 06 11:26:46 lnxquorum01.net.lu bash[1351]: Closing socket
Feb 06 11:26:46 lnxquorum01.net.lu bash[1351]: Trying to open socket
Feb 06 12:04:02 lnxquorum01.net.lu bash[1351]: Handshaking
Feb 06 12:04:02 lnxquorum01.net.lu bash[1351]: Waiting for UID
Feb 06 12:04:02 lnxquorum01.net.lu bash[1351]: *Connecting
Feb 06 12:04:02 lnxquorum01.net.lu bash[1351]: Connected to 10.10.10.124
Feb 06 12:04:21 lnxquorum01.net.lu bash[1351]: Closing socket
Feb 06 12:04:21 lnxquorum01.net.lu bash[1351]: Trying to open socket
[root@lnxquorum01] # cat /etc/systemd/system/ip_quorum.service
[Unit]
Description=IBM IP quorum daemon
After=network.target

[Service]
WorkingDirectory=/opt/ibm/ip_quorum
ExecStart=/bin/bash -c "java -jar ip_quorum.jar"
KillMode=process
User=root
Type=simple

[Install]
WantedBy=multi-user.target

As soon as you start the service, the new IP quorum will automaticaly register into SVC

IBM_2145:SVC:report>lsquorum
quorum_index status id  name           controller_id controller_name active object_type override site_id site_name
0            online 279 v7ksite1-vdisk1 17            v7ksite1-node1   no     mdisk       no       1       SITE1
1            online 250 v7ksite2-vdisk1 15            v7ksite2-node1   no     mdisk       no       2       SITE2
3            online                                                  yes    device      no            lnxquorum01/10.10.10.13
4            online                                                  no     device      no               lnxquorum02/10.10.10.11
[root@lnxquorum01] /opt/ibm/ip_quorum # ll
-rw-r-----. 1 root  root     73476 Mar  3  2020 ip_quorum.jar
-rw-r--r--. 1 root  root   3819584 Feb  6 12:09 ip_quorum.log.0
-rw-r--r--. 1 root  root         0 Jan 10 08:03 ip_quorum.log.0.lck
-rw-r-----. 1 root  root       234 Jun 20  2019 ip_quorum.service
-rw-r-----. 1 root  root   3987456 Feb  6 06:08 svc.config.backup.xml
-rw-r-----. 1 root  root 125829120 Feb  6 12:09 t3_recovery.bin
[root@lnxquorum01] /opt/ibm/ip_quorum # cat quorum_test.sh
#!/bin/bash
#

/opt/ibm/ip_quorum/ipqtest >> /opt/ibm/ip_quorum/ipqtest.log

[root@lnxquorum01] /opt/ibm/ip_quorum # cat /opt/ibm/ip_quorum/ipqtest.log
Mon Feb 24 14:52:28 CET 2020
Child processes: 27667 27673 27674 27675 27676
PING 10.10.10.123 (10.10.10.123) 56(84) bytes of data.
64 bytes from 10.10.10.123: icmp_seq=1 ttl=59 time=1.52 ms
PING 10.10.10.124 (10.10.10.124) 56(84) bytes of data.
64 bytes from 10.10.10.124: icmp_seq=1 ttl=59 time=1.53 ms
...
Mon Feb 24 14:52:38 CET 2020

V7000 / SVC notification error

# Error ID = 9201 : The quorum application is out of date and needs to be redeployed 
# Error Code = 3123 : The quorum application needs to be redeployed 
# Error Type = none # System Version = 8.2.1.10 (build 147.19.2003130616000) 

On Windows

You have to create a service

SVC IP quorum

Each time the SVC is upgarded you have to refresh the jar file, download it directly from SVC interface

Once started, the IP quorum will automaticaly register on SVC

The IP quorum is a jar file that have to be run as a service (persistent), so you can install it on Windows, Linux, AIX…

https://github.com/winsw/winsw

SETUP SAN/SVC QUORUM IP on Windows

Service creation

Friday 4 February 2022 08:19 SETUP STEPS:

1. Install Java stack on Server JRE 8u111x64

2. Run install.bat in AdFrom ministrator CMD

a. Installation takes place in c:\program files\Java

b. Executable are below c:\program files\java\jre8\bin

3. Using c:\program files\java as execution folder for the san quorum IP

a. Copy the latest ip_quorum.jar in that location

b. Download the service wrapper from https://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.9.0/ (winsw-2.9.0-bin.exe (Project page https://github.com/winsw/winsw)

c. Copy the executable inside the same folder as the ip_quorum.jar

4. Preparation for creation of the service:

a. Rename the winsw-2.9.0-bin.exe to the same name as the desired service name in our case to: sanquorum.exe

b. Create a wrapper xml for the service which needs to be names sanquorum.xml

c. Content is described on the github site.

d. Here is our content:

<service>
  <id>sanquorum</id>
  <name>SANQUORUM</name>
  <description>This service runs the SAN Quorum Java script.</description>
  <env name="SANQUORUM_HOME" value="%BASE%"/>
  <executable>"%BASE%/jre8/bin/java"</executable>
  <arguments>-jar "%BASE%\ip_quorum.jar"</arguments>
  <log mode="roll"></log>
</service>

5. Install the service:

a. From an ADMINISTRATOR cmd navigate to c:\program files\java

b. Run “sanquorum.exe install sanquorum.xml”

c. The service is then created

6. Start the service:

a. Run “sanquorum.exe start sanquorum.xml or got to the services console on the server and start the service

7. Check status:

a. Look into the services console or run sanquorum.exe status mysanquorum.xml

b. There are also various which are created once the service connects properly to the svc/san in the same Java folder

storage/svc_ip_quorum.txt · Last modified: 2025/03/06 13:40 by manu