Sponsored Content
Top Forums Shell Programming and Scripting Bash script to add multiple resources to NFS pacemaker cluster Post 303037210 by hburnswell on Thursday 25th of July 2019 08:07:04 PM
Old 07-25-2019
Bash script to add multiple resources to NFS pacemaker cluster

All,

I'm looking for some guidance on how to accomplish automating the addition of exports to an HA Pacemaker NFS cluster. I would like to do it in bash for logistics reasons.

The resource creation command looks like this:

Code:
pcs resource create nfs-b2b-hg-media-10.1 exportfs clientspec=10.1.0.0/255.255.0.0 options=rw,sync,no_root_squash directory=/nfs/exports/media fsid=1 --group nfsgroup

However, I would like the script to be able to add multiple exports at one time and am trying to figure out the best way to do it. I have been playing around with arrays and can gather 2 of the necessary variables in the command, but there are 4 needed variables:

Code:
resource_name --> nfs-b2b-hg-media-10.1
clientspec --> 10.1.0.0/255.255.0.0
directory --> /nfs/exports/media
fsid --> 1

The rest of the command is pretty static.

Here is a small test script that gathers resource name and clientspec (and puts in order):

Code:
#!/usr/bin/bash

cs10168="10.16.8.0/255.255.255.0"
cs101="10.1.0.0/255.255.0.0"
cs1091="10.91.0.0/255.255.0.0"
dirs=(media hotdrive images)
nfsenv="nfs-b2b-hg"
nfsoptions="rw,sync,no_root_squash"
lv=exports
mt="/nfs"
nfsgrp=nfsgroup

declare -A exports
exports[${nfsenv}-${dirs[0]}-10.1]=${cs101}
exports[${nfsenv}-${dirs[1]}-10.91]=${cs1091}
exports[${nfsenv}-${dirs[2]}-10.1]=${cs101}
exports[${nfsenv}-${dirs[2]}-10.91]=${cs1091}

declare -a orders
orders+=( ${nfsenv}-${dirs[0]}-10.1 )
orders+=( ${nfsenv}-${dirs[1]}-10.91 )
orders+=( ${nfsenv}-${dirs[2]}-10.1 )
orders+=( ${nfsenv}-${dirs[2]}-10.91 )

for i in ${orders[@]}

do

       pcs resource create $i exportfs clientspec=${exports[$i]} options=$nfsoptions directory=${mt}/${lv}/${dirs[0]} fsid=1 --group $nfsgrp

done

As you can see there is a problem with how to define 'directory' and 'fsid'.

Does anyone have any suggestions on how to accomplish this in bash? Any guidance is greatly appreciated.

Thanks,

HB

Last edited by hicksd8; 07-26-2019 at 07:00 AM..
 

8 More Discussions You Might Find Interesting

1. High Performance Computing

cluster setup and nfs

hello, During the cluster installation, we are required to enter a cluster name. When this name is used? I have a shared disk between those 2 nodes. To test NFS failover, what should I do? PS: I am using VCS 5 thanks (5 Replies)
Discussion started by: melanie_pfefer
5 Replies

2. Shell Programming and Scripting

bash script to rename multiple directories

Hello I have a directory structure with year in format 4 digits, e.g 2009, below which is month format 1 or 2 digits, e.g 1 or 12, blow which is day format 1 or 2 digits, e.g 1 or 31. I want to change the names of lots of directories to the be Year - 4 digits , e.g 2009 - No change here... (4 Replies)
Discussion started by: garethsays
4 Replies

3. Shell Programming and Scripting

Multiple Variables for BASH script

Hello, I am new to the whole "scripting" thing. Below is the script that I have so far and where i need the Variables to go (VAR#) #!/bin/bash #Sample Script VAR1= echo "Choose an option: 1) Create a file. 2) Delete a file. 3) Move a file." read VAR1 case $VAR1 in 1) echo "Pick... (4 Replies)
Discussion started by: eclerget
4 Replies

4. Shell Programming and Scripting

Bash script to copy timestamps of multiple files

Hi, I have a bunch of media files in a directory that have been converted (from MTS to MOV format), so my directory contains something like this: clip1.mts clip1.mov clip2.mts clip2.mov The problem is that the .mov files that have been created have the timestamps of the conversion task,... (2 Replies)
Discussion started by: Krakus
2 Replies

5. Homework & Coursework Questions

NFS service not started in Redhat Cluster

Hi All, Need your help to resolve below error in cluter. Sep 9 05:37:30 node2 rgmanager: Starting disabled service service:Prod_Service Sep 9 05:37:30 node2 rgmanager: HA LVM: Improper setup detected Sep 9 05:37:30 node2 rgmanager: * initrd image needs to be newer than lvm.conf... (3 Replies)
Discussion started by: nitinredekar
3 Replies

6. Shell Programming and Scripting

Mount NFS Share On NFS Client via bash script.

I need a help of good people with effective bash script to mount nfs shared, By the way I did the searches, since i haven't found that someone wrote a script like this in the past, I'm sure it will serve more people. The scenario as follow: An NFS Client with Daily CRON , running bash script... (4 Replies)
Discussion started by: Brian.t
4 Replies

7. Shell Programming and Scripting

Loop through multiple files in bash script

Hi Everybody, I'm a newbie to shell scripting, and I'd appreciate some help. I have a bunch of .txt files that have some unwanted content. I want to remove lines 1-3 and 1028-1098. #!/bin/bash for '*.txt' in <path to folder> do sed '1,3 d' "$f"; sed '1028,1098 d' "$f"; done I... (2 Replies)
Discussion started by: BabyNuke
2 Replies

8. Red Hat

PaceMaker Cluster Fence Device

I have 2 VM's setup with a shared VMware disk running RHEL 7.1 (just updated to 7.2 with yum update), and would like to know what is the easiest Fence device to implement for testing purposes. Apparently, I need a fence device before my IP resources will come online. I have the cluster... (1 Reply)
Discussion started by: mrmurdock
1 Replies
PACEMAKER(8)						  System Administration Utilities					      PACEMAKER(8)

NAME
Pacemaker - Part of the Pacemaker cluster resource manager SYNOPSIS
crm_verify [modifiers] data_source DESCRIPTION
crm_verify - Check a (complete) confiuration for syntax and common conceptual errors. Checks the well-formedness of an XML configuration, its conformance to the configured DTD/schema and for the presence of common misconfigu- rations. It reports two classes of problems, errors and warnings. Errors must be fixed before the cluster will work properly. However, it is left up to the administrator to decide if the warnings should also be fixed. OPTIONS
-?, --help This text -$, --version Version information -V, --verbose Increase debug output Data sources: -L, --live-check Check the configuration used by the running cluster -x, --xml-file=value Check the configuration in the named file -X, --xml-text=value Check the configuration in the supplied string -p, --xml-pipe Check the configuration piped in via stdin Additional Options: -S, --save-xml=value Save the verified XML to the named file. Most useful with -L EXAMPLES
Check the consistency of the configuration in the running cluster: # crm_verify --live-check Check the consistency of the configuration in a given file and produce verbose output: # crm_verify --xml-file file.xml --verbose AUTHOR
Written by Andrew Beekhof REPORTING BUGS
Report bugs to pacemaker@oss.clusterlabs.org Pacemaker 1.1.7 April 2012 PACEMAKER(8)
All times are GMT -4. The time now is 11:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy