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.
> chsystem -quorummode standard | preferred | winner
(Optional) Specifies the mode that quorum uses for tie-breaking. The valid values are standard (default), preferred, or winner.
(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)
(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…
[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)
You have to create a service
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…
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