====== 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