====== 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:
sanquorum
SANQUORUM
This service runs the SAN Quorum Java script.
"%BASE%/jre8/bin/java"
-jar "%BASE%\ip_quorum.jar"
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