Enrollment in non‑cluster Environment : (Agent‑based Linux PNs) Enroll protected nodes

(Agent‑based Linux PNs) Enroll protected nodes
onQ supports both agent‑based and agent‑less PNs. Nodes that are not hosted by VMware require that an agent (onQ Service) be installed. Agent‑based enrollment enables you to use all of the operation and monitoring features that onQ has to offer.
Linux PN preparation is very important for RN builds to succeed. In some cases, different RHEL release distributions require unique tasks:
•
install xen-aware kernel package. Unlike with RHEL 5.x, RHEL 7 and RHEL 6.x have a xen-aware kernel built-in; therefore, there’s no need to install xen-aware kernel package on theses versions.
•
install agent software. This task is required for all supported versions.
•
enforce grub boot menu. This task is required for all supported versions in order to boot the RN successfully, though the specific steps might vary for each version.
(RHEL 7.0) To enroll an agent‑based Linux PN:
Use this procedure to enroll an agent‑based Linux PN running RHEL 7.0.
1.
2.
 
3.
a.
Note:  By default, wget preserves the original files. Newly retrieved install.py is saved with extensions .1, .2, etc. Use the -r option (see wget man page) to overwrite the existing file.
b.
From within a folder (/tmp) where you want to save the install script, run the following command:
# wget -r http://<onQ-IP-address>/install.py
c.
# cd <onQ-IP-address>
# python ./install.py
d.
e.
(Optional) Specify all valid values, excluding file system type and capacity because these values aren’t editable, in the node parameter fields provided and modify defaults as needed. (The install utility lists all available volumes/partitions/mount points and the onQ portal enforces any file system requirements as outlined in Linux RN Limitations.) You can make these node changes at any point after enrollment via the Protection Config tab in the onQ Portal.
f.
Select Save to update/install the client node package on the Linux node.
g.
Wait! Do not press Enter. Was the installation successful? Use the error messages below to evaluate the screen output.
•
•
If no, press Enter to launch the installer UI again. Correct the problem, then repeat Step e through Step g.
 
4.
Install the Netcat (nc) utility, if not already installed. On your yum‑enabled PN, run the following command, then verify that the package was installed. This utility reads and writes data across network connections using TCP or UDP. onQ depends on this utility for FLR restores.
# yum install nc
# which nc
# rpm -qf /usr/bin/nc
 
5.
Create the grub boot menu. In order to boot the RN successfully, the PN needs to prepare the init ram disk image with the required drivers and legacy grub boot menu.
a.
# cat /etc/redhat-release
b.
Make sure ext2/ext3/ext4 file systems utilities are installed.
# rpm -qa | grep e2fsprogs
If not installed, do so now:
# yum install e2fsprogs
c.
Print the kernel release:
# uname -r
Where the 3.10.0-123.13.2.el7.x86_64 is the kernel release by default, change it to match PN's kernel release:
# cd /boot
# mkdir -p /boot/grub
# dracut --force --filesystems "ext4 ext3" \
d.
# vi /boot/grub/grub.conf.xvf5
Where the 3.10.0-123.13.2.el7.x86_64 is the kernel release by default, change vmlinuz and initramfs to match PN's kernel release. The kernel parameters are on a single line. Simply copy and paste from following screen.
Where the root=UUID=855cd484-3852-4984-b568-ee0408c6b590, the 855cd... (UUID) is a temporary placeholder and will be replaced by read “/”'s UUID during the RN build. Do not make any changes to this parameter.
For example: The contents of /boot/grub/grub.conf.xvf5:
From /boot, validate that vmlinuz-3.10.0-123.13.2.el7.x86_64 and initramfs-3.10.0-123.13.2.el7xen.x86_64.img exist in /boot folder as shown in the example below:
# ls /boot/vmlinuz-3.10.0-123.13.2.el7.x86_64
# ls /boot/initramfs-3.10.0-123.13.2.el7xen.x86_64.img
 
 
6.
(Recommended) Disable the Network Manager service, if installed, for self-tests to work correctly. This service is not useful in a server environment. Due to an RHEL 7.0 bug, turning off Network Manager can prevent NICs from showing up; if this occurs, re-enable the Network Manager service.
# systemctl disable NetworkManager.service
# systemctl stop NetworkManager.service
# systemctl status NetworkManager.service
 
7.
Troubleshooting RN Build or Self‑test Problems
Mistakes with the grub boot menu enforcement can prevent the RN from booting. The following list represents the most common errors.
•
•
You have a typo in grub.con or grub.conf.xvf5 file name.
•
•
7.0:
vmlinuz-3.10.0-123.13.2.el7.x86_64
should match
initramfs-3.10.0-123.13.2.el7xen.x86_64.img
6.x:
vmlinuz-2.6.32-279.el6.x86_64
should match
initramfs-2.6.32-279.el6.x86_64.img
5.x:
vmlinuz-2.6.18-371.el5xen
should match
initrd-2.6.18-371.el5xen.img.5
To find the driver versions packed inside the init ram file system (initramfs) of the boot menu: Locate the initramfs and kernel name from the boot menu prepared for the RN (you’ll find it under /boot), then use the following command to peek the contents of initramfs. For example:
RHEL 6.x or 7.0:
# grep kernel /boot/grub/grub.conf.xvf5
# grep initrd /boot/grub/grub.conf.xvf5
# lsinitrd /boot/initramsfs-3.10.0-123.el7xen.x86_64.img|grep modules
RHEL 5.x:
# grep kernel /boot/grub/grub.conf.xvf5
# grep initrd /boot/grub/grub.conf.xvf5
# zcat /tmp/initrd-2.6.18-371.el5xen.img.5|cpio ‑t|grep ‑E “xen|ext”
 
 
8.
Log on to the PN and open the following ports on the firewall in order for onQ to communicate with the PN.
•
•
TCP ports 5000 and 5990
 
 
Firewalld:
By default, RHEL 7.0 has introduced a new firewall service, a dynamic firewall daemon known as firewalld, instead of iptables service by default; however, the traditional iptables service is supported if installed. For details, see the Red Hat Linux 7 Security Guide. If you choose to disable firewalld, there is no need to configure firewalld firewall rules: simply skip this procedure.
firewalld daemon and service and iptables service are using iptables commands to configure the netfilter in the kernel to separate and filter the network traffic. firewalld stores it in various XML files in /usr/lib/firewalld/ and /etc/firewalld/.
The firewalld firewall defines how networks zones can be used to separate networks into different zones. Based on the level of trust, you can decide to place devices and traffic within a particular network zone. Each mutable network zone can have a different combination of firewall rules.
a.
b.
[root@RHEL70x64-17-167 services]# systemctl status firewalld.service
c.
[root@RHEL70x64-17-167 services]# systemctl enable firewalld
d.
[root@RHEL70x64-17-167 services]# systemctl start firewalld
e.
f.
[root@RHEL70x64-17-167 services]# firewall-cmd --get-zone-of-interface=ens32
Determine your default zone. In the following example, the default zone is Public.
[root@RHEL70x64-17-167 services]# firewall-cmd --get-default-zone
g.
[root@RHEL70x64-17-167 services]# firewall-cmd --add-service=dcrm-node --permanent --zone=work
h.
[root@RHEL70x64-17-167 services]# firewall-cmd --reload
Now the PN can communicate with onQ.
i.
The RN will be equipped with eth0 interface, so apply the rules to eth0 interface's zone if different from PN's zone. The PN might not have eth0 interface; in such a case, the RN's eth0 will be in the default zone.
Find eth0 network interface's network zone. In this example, it is not set:
[root@RHEL70x64-17-167 services]# firewall-cmd --get-zone-of-interface=eth0
Determine your default zone. In this example default zone is Public. Since eth0 has no zone dcm-node is associated with Public zone:
[root@RHEL70x64-17-167 services]# firewall-cmd --get-default-zone
j.
[root@RHEL70x64-17-167 services]# firewall-cmd --add-service=dcrm-node --permanent --zone=public
k.
[root@RHEL70x64-17-167 services]# firewall-cmd --reload
Now the RN can communicate with onQ, mainly for self-tests.
l.
 
 
iptables:
a.
# iptables -L –n | grep -E "5900|5000"
b.
Find the input chain name, which is reported in the line that appears after INPUT:
# iptables -L -line numbers
1 RH-Firewall-1-INPUT all -- anywhere anywhere
10 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Using the line number of the REJECT line and the chain name (line 10 and line 1, respectively, in the step above), insert the onQ ports:
# iptables -I RH-Firewall-1-INPUT 10 -m state --state NEW -p tcp --dport 5990 -j ACCEPT
# iptables -I RH-Firewall-1-INPUT 10 -m state --state NEW -p tcp --dport 5000 -j ACCEPT
# iptables -I RH-Firewall-1-INPUT 10 -p udp --dport 5990 -j ACCEPT
c.
Afterward, verify that the ports are open and above the REJECT line as outlined earlier.
# service iptables save
# service iptables restart
 
 
 
 
9.
If the PN has an Oracle database, install the RMAN scripts so that onQ can execute a hot backup of your database as outlined in Back up and restore Oracle 11g database on Linux.
 
(RHEL 6.x) To enroll an agent‑based Linux PN:
Use this procedure to enroll an agent‑based Linux PN running RHEL 6.x.
1.
2.
 
3.
a.
Note:  By default, wget preserves the original files. Newly retrieved install.py is saved with extensions .1, .2, etc. Use the -r option (see wget man page) to overwrite the existing file.
b.
From within a folder (/tmp) where you want to save the install script, run the following command:
# wget -r http://<onQ-IP-address>/install.py
c.
# cd <onQ-IP-address>
# python ./install.py
d.
e.
(Optional) Specify all valid values, excluding file system type and capacity because these values aren’t editable, in the node parameter fields provided and modify defaults as needed. (The install utility lists all available volumes/partitions/mount points and the onQ portal enforces any file system requirements as outlined in Linux RN Limitations.) You can make these node changes at any point after enrollment via the Protection Config tab in the onQ Portal.
f.
Select Save to update/install the client node package on the Linux node.
g.
Wait! Do not press Enter. Was the installation successful? Use the error messages below to evaluate the screen output.
•
•
If no, press Enter to launch the installer UI again. Correct the problem, then repeat Step e through Step g.
 
4.
Install the Netcat (nc) utility, if not already installed. On your yum‑enabled PN, run the following command, then verify that the package was installed. This utility reads and writes data across network connections using TCP or UDP. onQ depends on this utility for FLR restores.
# yum install nc
# which nc
# rpm -qf /usr/bin/nc
 
5.
Troubleshooting RN Build or Self‑test Problems
Mistakes with the grub boot menu enforcement can prevent the RN from booting. The following list represents the most common errors.
•
•
You have a typo in grub.con or grub.conf.xvf5 file name.
•
•
7.0:
vmlinuz-3.10.0-123.13.2.el7.x86_64
should match
initramfs-3.10.0-123.13.2.el7xen.x86_64.img
6.x:
vmlinuz-2.6.32-279.el6.x86_64
should match
initramfs-2.6.32-279.el6.x86_64.img
5.x:
vmlinuz-2.6.18-371.el5xen
should match
initrd-2.6.18-371.el5xen.img.5
To find the driver versions packed inside the init ram file system (initramfs) of the boot menu: Locate the initramfs and kernel name from the boot menu prepared for the RN (you’ll find it under /boot), then use the following command to peek the contents of initramfs. For example:
RHEL 6.x or 7.0:
# grep kernel /boot/grub/grub.conf.xvf5
# grep initrd /boot/grub/grub.conf.xvf5
# lsinitrd /boot/initramsfs-3.10.0-123.el7xen.x86_64.img|grep modules
RHEL 5.x:
# grep kernel /boot/grub/grub.conf.xvf5
# grep initrd /boot/grub/grub.conf.xvf5
# zcat /tmp/initrd-2.6.18-371.el5xen.img.5|cpio ‑t|grep ‑E “xen|ext”
 
 
6.
(Recommended) Disable the Network Manager service, if installed, for self-tests to work correctly. This service is not useful in a server environment.
# service NetworkManager stop
# service NetworkManager status
# chkconfig NetworkManager off
# chkconfig --list NetworkManager
 
7.
Log on to the PN and open the following ports on the firewall in order for onQ to communicate with the PN.
•
•
TCP ports 5000 and 5990
 
 
iptables:
a.
# iptables -L –n | grep -E "5900|5000"
b.
Find the input chain name, which is reported in the line that appears after INPUT:
# iptables -L -line numbers
1 RH-Firewall-1-INPUT all -- anywhere anywhere
10 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Using the line number of the REJECT line and the chain name (line 10 and line 1, respectively, in the step above), insert the onQ ports:
# iptables -I RH-Firewall-1-INPUT 10 -m state --state NEW -p tcp --dport 5990 -j ACCEPT
# iptables -I RH-Firewall-1-INPUT 10 -m state --state NEW -p tcp --dport 5000 -j ACCEPT
# iptables -I RH-Firewall-1-INPUT 10 -p udp --dport 5990 -j ACCEPT
c.
Afterward, verify that the ports are open and above the REJECT line as outlined earlier.
# service iptables save
# service iptables restart
 
 
 
 
8.
If the PN has an Oracle database, install the RMAN scripts so that onQ can execute a hot backup of your database as outlined in Back up and restore Oracle 11g database on Linux.
(RHEL 5.x) To enroll an agent‑based Linux PN:
Use this procedure to enroll an agent‑based Linux PN running RHEL 5.x.
1.
2.
 
3.
a.
Note:  By default, wget preserves the original files. Newly retrieved install.py is saved with extensions .1, .2, etc. Use the -r option (see wget man page) to overwrite the existing file.
b.
From within a folder (/tmp) where you want to save the install script, run the following command:
# wget -r http://<onQ-IP-address>/install.py
c.
# cd <onQ-IP-address>
# python ./install.py
d.
e.
(Optional) Specify all valid values, excluding file system type and capacity because these values aren’t editable, in the node parameter fields provided and modify defaults as needed. (The install utility lists all available volumes/partitions/mount points and the onQ portal enforces any file system requirements as outlined in Linux RN Limitations.) You can make these node changes at any point after enrollment via the Protection Config tab in the onQ Portal.
f.
Select Save to update/install the client node package on the Linux node.
g.
Wait! Do not press Enter. Was the installation successful? Use the error messages below to evaluate the screen output.
•
•
If no, press Enter to launch the installer UI again. Correct the problem, then repeat Step e through Step g.
 
 
4.
 
5.
Copy and modify /boot/grub/menu.lst:
 
 
 
6.
Troubleshooting RN Build or Self‑test Problems
Mistakes with the grub boot menu enforcement can prevent the RN from booting. The following list represents the most common errors.
•
•
You have a typo in grub.con or grub.conf.xvf5 file name.
•
•
7.0:
vmlinuz-3.10.0-123.13.2.el7.x86_64
should match
initramfs-3.10.0-123.13.2.el7xen.x86_64.img
6.x:
vmlinuz-2.6.32-279.el6.x86_64
should match
initramfs-2.6.32-279.el6.x86_64.img
5.x:
vmlinuz-2.6.18-371.el5xen
should match
initrd-2.6.18-371.el5xen.img.5
To find the driver versions packed inside the init ram file system (initramfs) of the boot menu: Locate the initramfs and kernel name from the boot menu prepared for the RN (you’ll find it under /boot), then use the following command to peek the contents of initramfs. For example:
RHEL 6.x or 7.0:
# grep kernel /boot/grub/grub.conf.xvf5
# grep initrd /boot/grub/grub.conf.xvf5
# lsinitrd /boot/initramsfs-3.10.0-123.el7xen.x86_64.img|grep modules
RHEL 5.x:
# grep kernel /boot/grub/grub.conf.xvf5
# grep initrd /boot/grub/grub.conf.xvf5
# zcat /tmp/initrd-2.6.18-371.el5xen.img.5|cpio ‑t|grep ‑E “xen|ext”
 
 
7.
(Recommended) Disable the Network Manager service and Kudzu services, if installed, for self-tests to work correctly. This service is not useful in a server environment.
# service NetworkManager stop
# service NetworkManager status
# chkconfig NetworkManager off
# chkconfig --list NetworkManager
# service kudzu stop
# service kudzu status
# chkconfig kudzu off
# chkconfig --list kudzu
 
8.
Log on to the PN and open the following ports on the firewall in order for onQ to communicate with the PN.
•
•
TCP ports 5000 and 5990
 
 
iptables:
a.
# iptables -L –n | grep -E "5900|5000"
b.
Find the input chain name, which is reported in the line that appears after INPUT:
# iptables -L -line numbers
1 RH-Firewall-1-INPUT all -- anywhere anywhere
10 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Using the line number of the REJECT line and the chain name (line 10 and line 1, respectively, in the step above), insert the onQ ports:
# iptables -I RH-Firewall-1-INPUT 10 -m state --state NEW -p tcp --dport 5990 -j ACCEPT
# iptables -I RH-Firewall-1-INPUT 10 -m state --state NEW -p tcp --dport 5000 -j ACCEPT
# iptables -I RH-Firewall-1-INPUT 10 -p udp --dport 5990 -j ACCEPT
c.
Afterward, verify that the ports are open and above the REJECT line as outlined earlier.
# service iptables save
# service iptables restart
 
 
 
 
9.
If the PN has an Oracle database, install the RMAN scripts so that onQ can execute a hot backup of your database as outlined in Back up and restore Oracle 11g database on Linux.
 
(Optional) To enforce a network setting:
Unlike with Windows RNs, Linux RNs cannot be assigned to networks as outlined in Assign RNs to Networks. However, you can still enforce network settings for RN self-tests.
The Linux RN build should have a working NIC. If you have special need to set the RN’s NIC to a different IP, you can place a file, /opt/quorum/bin/xvf.dat, to generate /etc/sysconfig/network-scripts/ifcfg-eth0.
For example:
# cat /opt/quorum/bin/xvf.dat

v3.8 SP1 HF1
v3.8 SP1 HF1