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