Preparing the tiebreaker

Planning and preparation to setup the tiebreaker.

Connect with your network administrator for the tiebreaker setup. Connect with your network administrator for the tiebreaker setup. You must connect the tiebreaker to the daemon network of the two OpenShift® Container Platform clusters.
  • The Metro-DR configuration must be complete between the two sites.
  • When you want to upgrade from IBM Storage Fusion 2.6.x Metro-DR setup to IBM Storage Fusion 2.7 Metro-DR setup, skip this procedure and upgrade your tiebreaker from IBM Storage Scale 5.1.7.0 to 5.1.9.1. For the procedure to upgrade, see Upgrading tiebreaker from IBM Storage Scale 5.1.7.0 to 5.1.9.1.
  • Hardware requirements are CPU 2 cores, Memory 4G, a raw disk with not less than 20 GB
  • For software requirements, see Software requirements for IBM Storage Scale.
    • For RHEL, ensure either of the following for IBM Storage Scale to work properly in a Secure Boot enabled system:
      • Disable Secure Boot in BIOS.
      • Sign into IBM Storage Scale kernel module manually.
  • For tiebreaker allowed ports, see Firewall requirements for IBM Storage Fusion HCI System.
  • Software preparation:
    1. SSH to the tiebreaker VM.
    2. Run the following commands to install Python 3:
      yum install python3
    3. Download the IBM Storage Scale Data Management 5.1.9.1 from IBM Entitled System Support:
      1. Log in to IBM Entitled System Support - https://www.ibm.com/servers/eserver/ess/landing/index.html.
      2. Go to My entitled software > Software Downloads.
      3. In the Product, search for 5771-PP7 (IBM Storage Fusion HCI) and click Add Product.

        The Storage_Scale_Data_Management-5.1.9.1-x86_64-Linux.tar.gz is available for IBM Spectrum Scale Data Mgmt.

      4. Select Storage_Scale_Data_Management-5.1.9.1-x86_64-Linux.tar.gz to download.
    4. Extract the IBM Storage Scale package:
      chmod +x Storage_Scale_Data_Management-5.1.9.1-x86_64-Linux.tar.gz
      ./Storage_Scale_Data_Management-5.1.9.1-x86_64-Linux.tar.gz
    5. Go to /usr/lpp/mmfs/5.1.9.1/ansible-toolkit directory.
    6. Run the following setup command to install Ansible.
      ./spectrumscale setup -s <Tiebreaker IP>
    7. Create the /usr/lpp/mmfs/5.1.9.1/ansible-toolkit/ansible/vars/tiebreaker_nodedefinition.json file.
    8. Update the content of tiebreaker_nodedefinition.json as follows:
      
      {
      "scale_cluster": {
       "scale_version": "5.1.9.1",
       "ssh_authorizedkeys": "<ssh_authorizedkeys>",
       "ssh_privatekey": "<ssh_privatekey>",
       "ssh_publickey": "<ssh_publickey>"
      },
      "tiebreaker_node": [
       {
         "fqdn": "<Tiebreaker IP>"
       }
      ]
      }
      <ssh_authorizedkeys>
      Run the following command to get the ssh_authorizedkeys value:
      oc get secret ibm-spectrum-scale-core-ssh-key-secret -n ibm-spectrum-scale -ojsonpath="{.data.ssh-authorizedkeys}"
      <ssh_privatekey>
      Run the following command to get the ssh-privatekey value:
      oc get secret ibm-spectrum-scale-core-ssh-key-secret -n ibm-spectrum-scale -ojsonpath="{.data.ssh-privatekey}"
      <ssh_publickey>
      Run the following command to get the ssh_publickey value:
      oc get secret ibm-spectrum-scale-core-ssh-key-secret -n ibm-spectrum-scale -ojsonpath="{.data.ssh-publickey}"
      <Tiebreaker IP>
      Enter your tiebreaker IP address.
    9. Copy playbook_tiebreakernode_install.yml and set_json_variables_tb.yml from the sample directory to the Ansible directory:
      cp /usr/lpp/mmfs/5.1.9.1/ansible-toolkit/ansible/sample/playbook_tiebreakernode_install.yml  /usr/lpp/mmfs/5.1.9.1/ansible-toolkit/ansible/sample/set_json_variables_tb.yml  /usr/lpp/mmfs/5.1.9.1/ansible-toolkit/ansible/
    10. Run the following command to configure the SSH passwordless:
      sed -i 's/scale_private_public_key_config: false/scale_private_public_key_config: true/g' /usr/lpp/mmfs/5.1.9.1/ansible-toolkit/ansible/playbook_tiebreakernode_install.yml
    11. Go to directory /usr/lpp/mmfs/5.1.9.1/ansible-toolkit/ansible/ and run the playbook to install the tiebreaker node:
      ansible-playbook playbook_tiebreakernode_install.yml
      Important:
      • Change the port from default 22 to 12345. Otherwise, you cannot log in to the tiebreaker VM.
      • If tiebreaker VM goes down, then you need to run the playbook again to install the tiebreaker node. After restart, the node port is automatically set to 22 because that is the default.
    12. Run lsblk to get the device name of the raw disk attached to the tiebreaker VM. The device name gets used later to add the tiebreaker into the IBM Storage Scale cluster.
    13. Run the following echo command to encode the disk name string:
      echo "<Disk name eg: /dev/vda>" | base64
      As a prerequisite to run base64, you must install base64 or jq.
    14. From either the site 1 or site 2, run the following command to patch the Metro-DR config secret to include the tiebreaker disk details:
      oc patch secret isf-metrodr-config-secret -n ibm-spectrum-fusion-ns -p '{"data":{"TieBreakerDevice":"Encoded disk name from previous command"}}'
    15. Set up the tiebreaker. For the actual steps to set up, see Metro-DR for IBM Storage Fusion HCI System section.