I plan to use ASMLIB for the shared storage on the REDFERN cluster.
Following the advice given in 7.1.4 Guidelines for Using Oracle ASM Disk Groups for Storage, I chose to use ASMLIB for the shared disks of the REDFERN cluster.
Since I am installing ASMLIB manually, I will be following the procedure in F.4.1 Configuring Storage Device Path Persistence Using Oracle ASMLIB.
F.4.1.2.1 Installing and Configuring the Oracle ASM Library Driver Software refers to Oracle ASMLib Software Update and Support Policy for Red Hat Enterprise Linux (Doc ID 1089399.1).
Oracle ASMLib Software Update and Support Policy for Red Hat Enterprise Linux (Doc ID 1089399.1) says:
The Oracle Linux 7 RHCK version of oracleasmlib available on: http://www.oracle.com/technetwork/server-storage/linux/asmlib/ol7-2352094.html can be used with RHEL7.
The Oracle Linux 7 RHCK version of oracleasm-support is available on ULN and here: http://public-yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracleasm-support-2.1.8-3.el7.x86_64.rpm
kmod-oracleasm for Oracle Linux 7 RHCK is on ULN and here: http://public-yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/kmod-oracleasm-2.0.8-8.el7.x86_64.rpm
Oracle ASMLib Downloads for Oracle Linux 7 says:
The oracleasm kernel driver is built into the Unbreakable Enterprise Kernel for Oracle Linux 7 and does not need to be installed manually.
And
Intel EM64T (x86_64) Architecture
Library and Tools
There are three (3) packages to be installed for ASMLIB:
The following text was added to gi_asm.yml:
--- - name: "Oracle 12.1.0.2 GI ASM installation" hosts: redfern1.yaocm.id.au become: true tasks: - name: "Copy RPM File to Server" copy: src: /etc/ansible/roles/common/files/oracleasmlib-2.0.12-1.el7.x86_64.rpm dest: /tmp/oracleasmlib-2.0.12-1.el7.x86_64.rpm - name: "Install Oracle ASMLib RPM" yum: name: /tmp/oracleasmlib-2.0.12-1.el7.x86_64.rpm state: present - name: "Install other packages for ASM" yum: name: oracleasm-support state: present ...
I had downloaded the RPM file into /etc/ansible/roles/common/files/oracleasmlib-2.0.12-1.el7.x86_64.rpm on AUBURN.
I then use the copy module to place the RPM file into /tmp/oracleasmlib-2.0.12-1.el7.x86_64.rpm on REDFERN1.
I ran the playbook as follows:
ansible-playbook --ask-become-pass gi_asm.yml
The output was:
SUDO password: PLAY [Oracle 12.1.0.2 GI ASM installation] ************************************* TASK [Gathering Facts] ********************************************************* ok: [redfern1.yaocm.id.au] TASK [Copy RPM File to Server] ************************************************* changed: [redfern1.yaocm.id.au] TASK [Install Oracle ASMLib RPM] *********************************************** changed: [redfern1.yaocm.id.au] TASK [Install other packages for ASM] ****************************************** changed: [redfern1.yaocm.id.au] PLAY RECAP ********************************************************************* redfern1.yaocm.id.au : ok=4 changed=3 unreachable=0 failed=0
This was all successful.
While reviewing the Examples for YUM Module, I discovered a better way of installing RPM modules directly from the Internet. I used the following command to test this method out:
ansible -K -m yum -a "name=http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.12-1.el7.x86_64.rpm" redfern1.yaocm.id.au
The output was:
SUDO password: redfern1.yaocm.id.au | SUCCESS => { "changed": false, "msg": "", "rc": 0, "results": [ "oracleasmlib-2.0.12-1.el7.x86_64 providing /tmp/oracleasmlib-2.0.12-1.el7.x86_64hCoWxj.rpm is already installed" ] }
Based on the above test, I updated gi_asm.yml as follows:
--- - name: "Oracle 12.1.0.2 GI ASM installation" hosts: redfern1.yaocm.id.au become: true tasks: - name: "Install Oracle ASMLib RPM" yum: name: http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.12-1.el7.x86_64.rpm state: present - name: "Install other packages for ASM" yum: name: oracleasm-support state: present ...
I tested the improved playbook as follows:
ansible-playbook --ask-become-pass gi_asm.yml
The output was:
SUDO password: PLAY [Oracle 12.1.0.2 GI ASM installation] ************************************* TASK [Gathering Facts] ********************************************************* ok: [redfern1.yaocm.id.au] TASK [Install Oracle ASMLib RPM] *********************************************** ok: [redfern1.yaocm.id.au] TASK [Install other packages for ASM] ****************************************** ok: [redfern1.yaocm.id.au] PLAY RECAP ********************************************************************* redfern1.yaocm.id.au : ok=3 changed=0 unreachable=0 failed=0