diff options
| author | Andrew Tridgell <tridge@samba.org> | 2008-07-11 13:08:04 +1000 |
|---|---|---|
| committer | Andrew Tridgell <tridge@samba.org> | 2008-07-11 13:08:04 +1000 |
| commit | 221b3b60fb4f25692d514e9f64e319b3a9d29523 (patch) | |
| tree | beb68dbf69edad6b9a8f249df58a9ba22977e5a2 /base/root/scripts | |
| parent | 98269bfc6c10dbf8203dce5e9d05ecb8e99abf25 (diff) | |
added gpfs setup script
Diffstat (limited to 'base/root/scripts')
| -rwxr-xr-x | base/root/scripts/mknsd.sh | 10 | ||||
| -rwxr-xr-x | base/root/scripts/setup_gpfs.sh | 52 | ||||
| -rwxr-xr-x | base/root/scripts/setup_tsm_client.sh | 36 | ||||
| -rwxr-xr-x | base/root/scripts/setup_tsm_server.sh | 67 |
4 files changed, 165 insertions, 0 deletions
diff --git a/base/root/scripts/mknsd.sh b/base/root/scripts/mknsd.sh new file mode 100755 index 0000000..583846c --- /dev/null +++ b/base/root/scripts/mknsd.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +disks=`/var/mmfs/etc/nsddevices | awk '{print $1}'` +( +for d in $disks; do + echo $d:::::: +done +) > /tmp/nsdfile.$$ +mmcrnsd -F /tmp/nsdfile.$$ +mmlsnsd -m diff --git a/base/root/scripts/setup_gpfs.sh b/base/root/scripts/setup_gpfs.sh new file mode 100755 index 0000000..e1c9c04 --- /dev/null +++ b/base/root/scripts/setup_gpfs.sh @@ -0,0 +1,52 @@ +#!/bin/sh +# this sets up GPFS without using the GUI. It is meant as a quick way to get setup +# with an autocluster system + +set -e +domain=`dnsdomainname` +nodes=`onnode all hostname | grep -i $domain | tr A-Z a-z` +node1=`onnode 0 hostname | grep -i $domain | tr A-Z a-z` +node2=`onnode 1 hostname | grep -i $domain | tr A-Z a-z` + +nodefile=/tmp/nodes.$$ +for n in $nodes; do + echo "$n:quorum-manager:" >> $nodefile +done + +echo "Creating cluster" +mmcrcluster -N $nodefile -p $node1 -s $node2 -r /usr/bin/ssh -R /usr/bin/scp -C @@CLUSTER@@.$domain + +echo +echo "Setting up NSDs" +nsdfile=/tmp/nsd.$$ +disks=`/var/mmfs/etc/nsddevices | awk '{print $1}'` +( +for d in $disks; do + echo $d:::::: +done +) > $nsdfile +mmcrnsd -F $nsdfile +mmlsnsd -m + +echo +echo "Generating auth key" +mmauth genkey new + +echo +echo "Setting GPFS config options" +mmchconfig autoload=yes,leaseRecoveryWait=3,maxFilesToCache=20000,failureDetectionTime=10,maxMBpS=500,unmountOnDiskFail=yes,pagepool=64M,allowSambaCaseInsensitiveLookup=no,cipherList=AUTHONLY + +echo "Starting gpfs" +mmstartup -a +sleep 5 +mmgetstate -a + +echo +echo "Creating filesystem" +mkdir /gpfs +chattr +i /gpfs +mmcrfs gpfs0 -F $nsdfile -A yes -D nfs4 -B 64k -k nfs4 -n 32 -E yes -S no -T /gpfs + +echo +echo "Mounting filesystem" +mmmount gpfs0 -a diff --git a/base/root/scripts/setup_tsm_client.sh b/base/root/scripts/setup_tsm_client.sh new file mode 100755 index 0000000..4b1c920 --- /dev/null +++ b/base/root/scripts/setup_tsm_client.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +onnode all yum -y install TIVsm-BA TIVsm-HSM TIVsm-API + +echo "Setting up dsm.sys" +cat <<EOF > /opt/tivoli/tsm/client/ba/bin/dsm.sys +SErvername @@CLUSTER@@tsm + COMMMethod TCPip + TCPPort 1500 + TCPServeraddress @@CLUSTER@@tsm + ASNODENAME @@TSMNAME@@ + PASSWORDACCESS generate + EXCLUDE.DIR /.../.snapshots + ERRORLOGName /var/log/dsmerror.log +EOF +onnode all rsync $HOSTNAME:/opt/tivoli/tsm/client/ba/bin/dsm.sys /opt/tivoli/tsm/client/ba/bin + +echo "Setting up dsm.opt" +cat <<EOF > /opt/tivoli/tsm/client/ba/bin/dsm.opt +servername @@CLUSTER@@tsm +EOF +onnode all rsync $HOSTNAME:/opt/tivoli/tsm/client/ba/bin/dsm.opt /opt/tivoli/tsm/client/ba/bin + +onnode all "preprpnode `hostname -s`" +mkrpdomain -F /etc/ctdb/nodes SOFSDomain + +# we have to use a rather torturous procedure ... +onnode all killall ctdbd +mmchfs gpfs0 -A no +mmshutdown -a +mmstartup -a +mmchfs gpfs0 -z yes +mmchfs gpfs0 -A yes +mmmount gpfs0 -a + +dsmmigfs add /gpfs diff --git a/base/root/scripts/setup_tsm_server.sh b/base/root/scripts/setup_tsm_server.sh new file mode 100755 index 0000000..9417cec --- /dev/null +++ b/base/root/scripts/setup_tsm_server.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +CLUSTER=@@CLUSTER@@ + +yum -y install TIVsm-BA TIVsm-HSM TIVsm-API TIVsm-server || exit 1 + +mkfs.ext3 -F /dev/sdb || exit 1 +mkdir -p /tsmdiskpool +cat <<EOF >> /etc/fstab +/dev/sdb /tsmdiskpool ext3 defaults 1 1 +EOF +mount /tsmdiskpool || exit 1 + +ln -sf /opt/tivoli/tsm/server/bin/dsmserv.rc /etc/init.d/dsmserv +ln -sf /etc/init.d/dsmserv /etc/rc3.d/S99dsmserv +/etc/init.d/dsmserv start || exit 1 + +echo "Setting up dsm.sys" +cat <<EOF > /opt/tivoli/tsm/client/ba/bin/dsm.sys +SErvername @@CLUSTER@@tsm + COMMMethod TCPip + TCPPort 1500 + TCPServeraddress @@CLUSTER@@tsm + ASNODENAME @@TSMNAME@@ + PASSWORDACCESS generate + EXCLUDE.DIR /.../.snapshots + ERRORLOGName /var/log/dsmerror.log +EOF + +echo "Setting up dsm.opt" +cat <<EOF > /opt/tivoli/tsm/client/ba/bin/dsm.opt +servername @@CLUSTER@@tsm +EOF + + +cat <<EOF | dsmadmc -id=admin -password=admin +copy domain STANDARD ALLTODISK +upd mg ALLTODISK STANDARD STANDARD migrequiresbkup=no +upd mg ALLTODISK STANDARD STANDARD SPACEMGTECHnique=selective +activate pol ALLTODISK STANDARD +y +register node @@TSMNAME@@ admin +register node @@CLUSTER@@n1.@@DOMAIN@@ admin +register node @@CLUSTER@@n2.@@DOMAIN@@ admin +register node @@CLUSTER@@n3.@@DOMAIN@@ admin +register node @@CLUSTER@@n4.@@DOMAIN@@ admin +upd node @@TSMNAME@@ domain=ALLTODISK +upd node @@CLUSTER@@n1.@@DOMAIN@@ domain=ALLTODISK +upd node @@CLUSTER@@n2.@@DOMAIN@@ domain=ALLTODISK +upd node @@CLUSTER@@n3.@@DOMAIN@@ domain=ALLTODISK +upd node @@CLUSTER@@n4.@@DOMAIN@@ domain=ALLTODISK +rem node client +y +grant proxynode target=@@TSMNAME@@ agent=@@CLUSTER@@n1.@@DOMAIN@@,@@CLUSTER@@n2.@@DOMAIN@@,@@CLUSTER@@n3.@@DOMAIN@@,@@CLUSTER@@n4.@@DOMAIN@@ +upd node @@TSMNAME@@ backdel=yes +def dbvol /tsmdiskpool/db1.dsm format=@@TSM_DB_SIZE@@ wait=yes +del dbv /opt/tivoli/tsm/server/bin/db.dsm +extend db `expr 84 @@TSM_DB_SIZE@@ - 16` +set logmode rollf +def vol spacemgpool /tsmdiskpool/vol01.dsm format=@@TSM_SPACE_MGMT_SIZE@@ wait=yes +def vol backuppool /tsmdiskpool/backup1.dsm format=@@TSM_BACKUP_POOL_SIZE@@ wait=yes +del vol /opt/tivoli/tsm/server/bin/backup.dsm +y +def vol archivepool /tsmdiskpool/archive1.dsm format=@@TSM_ACRHIVE_POOL_SIZE@@ wait=yes +del vol /opt/tivoli/tsm/server/bin/archive.dsm +y +EOF |
