summaryrefslogtreecommitdiffstats
path: root/base/root/scripts
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-07-11 13:08:04 +1000
committerAndrew Tridgell <tridge@samba.org>2008-07-11 13:08:04 +1000
commit221b3b60fb4f25692d514e9f64e319b3a9d29523 (patch)
treebeb68dbf69edad6b9a8f249df58a9ba22977e5a2 /base/root/scripts
parent98269bfc6c10dbf8203dce5e9d05ecb8e99abf25 (diff)
added gpfs setup script
Diffstat (limited to 'base/root/scripts')
-rwxr-xr-xbase/root/scripts/mknsd.sh10
-rwxr-xr-xbase/root/scripts/setup_gpfs.sh52
-rwxr-xr-xbase/root/scripts/setup_tsm_client.sh36
-rwxr-xr-xbase/root/scripts/setup_tsm_server.sh67
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