<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.umiacs.umd.edu/adapt/index.php?action=history&amp;feed=atom&amp;title=SRB%3AInstallation_on_naraapp01</id>
	<title>SRB:Installation on naraapp01 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.umiacs.umd.edu/adapt/index.php?action=history&amp;feed=atom&amp;title=SRB%3AInstallation_on_naraapp01"/>
	<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/adapt/index.php?title=SRB:Installation_on_naraapp01&amp;action=history"/>
	<updated>2026-04-07T12:38:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://wiki.umiacs.umd.edu/adapt/index.php?title=SRB:Installation_on_naraapp01&amp;diff=2196&amp;oldid=prev</id>
		<title>Toaster at 18:09, 16 September 2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/adapt/index.php?title=SRB:Installation_on_naraapp01&amp;diff=2196&amp;oldid=prev"/>
		<updated>2008-09-16T18:09:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Software Locations==&lt;br /&gt;
&lt;br /&gt;
* SRB installation: /export/srb/srb&lt;br /&gt;
* SRB Unix account: mcat&lt;br /&gt;
* SRB Vault location: /export/vault1/vault&lt;br /&gt;
* SRB Postgres backups: /export/vault1/backups&lt;br /&gt;
* SRB zone: nara-umiacs&lt;br /&gt;
* SRB Domain:  umiacs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==SRB Installation==&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
&lt;br /&gt;
Download the following into /export/srb/srb:&lt;br /&gt;
* [http://www.sdsc.edu/srb/tarfiles/SRB3.3.1rele_bf.tar SRB Source code]&lt;br /&gt;
* [http://www.sdsc.edu/srb/tarfiles/install.pl srb installation script]&lt;br /&gt;
* [http://www.sdsc.edu/srb/tarfiles/gen_uuid.c gen_uuid.c]&lt;br /&gt;
* [http://www.sdsc.edu/srb/tarfiles/SRB3_3_1_p1.tar.bf SRB Patch to 3.3.1]&lt;br /&gt;
* [ftp://ftp.postgresql.org/pub/odbc/versions/src/psqlodbc-07.03.0200.tar.gz PostGres ODBC Driver]&lt;br /&gt;
* [ftp://ftp.postgresql.org/pub/source/v7.4.8/postgresql-7.4.8.tar.gz Postgres 7.4.8]&lt;br /&gt;
* [http://freshmeat.net/redir/database/18016/url_tgz/pg_backup.sh Postgres backup script]&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
In the install.pl edit the following variables and set to the values below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$SRB_FILE=&amp;quot;SRB3.3.1.tar&amp;quot;&lt;br /&gt;
$SRB_FILE_ALREADY_DECRYPTED=1;&lt;br /&gt;
$POSTGRES_FILE=&amp;quot;postgresql-7.4.8.tar.gz&amp;quot;;&lt;br /&gt;
$YOUR_ADMIN_PW=&amp;quot;adminpw&amp;quot;;&lt;br /&gt;
$YOUR_DOMAIN=&amp;quot;umiacs&amp;quot;;&lt;br /&gt;
$YOUR_ZONE=&amp;quot;nara-umiacs&amp;quot;;&lt;br /&gt;
$RESOURCE_NAME=&amp;quot;narasrb01-unix&amp;quot;;&lt;br /&gt;
$RESOURCE_DIR=&amp;quot;/export/vault1/vault&amp;quot;;&lt;br /&gt;
$SRB_PORT=&amp;quot;7618&amp;quot;;&lt;br /&gt;
$IP_ADDRESS_LOCALHOST=&amp;quot;narasrb01.umiacs.umd.edu&amp;quot;;&lt;br /&gt;
$SRB_CONFIGURE_OPTIONS=&amp;quot;--enable-installdir=$SRB_INSTALL_DIR --enable-psgmcat &lt;br /&gt;
      --enable-psghome=$postgresInstallDir --enable-commports&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
around line 1053, change the host allow statement to use localhost&lt;br /&gt;
&lt;br /&gt;
runCmdNoLog(0,&amp;quot;echo host all all 128.8.120.179 255.255.255.255 trust | cat &amp;gt;&amp;gt; $postgresData/pg_hba.conf&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
Now, do the actual installation. This is a bit of a mess since we have to apply patches and from that I can tell, install.pl doesn&amp;#039;t let you apply patches prior to doing the install. (All this done from /export/srb/srb)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mcat@naraapp01 srb]$ openssl enc -d -bf-cbc -in SRB3.3.1rele_bf.tar -out SRB3.3.1.tar&lt;br /&gt;
enter bf-cbc decryption password:&lt;br /&gt;
[mcat@naraapp01 srb]$ perl install.pl &lt;br /&gt;
This script is install.pl version 3.x, last updated June 28, 2005&lt;br /&gt;
This host is narasrb01.umiacs.umd.edu&lt;br /&gt;
This host full network name is narasrb01.umiacs.umd.edu&lt;br /&gt;
This host full network address is narasrb01.umiacs.umd.edu&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
Some examples for testing and learning about the SRB are at:&lt;br /&gt;
http://www.sdsc.edu/srb/Edinburgh-Tutorials-May-2004/scmds.txt .&lt;br /&gt;
If your MCAT becomes slow, see index and vacuum options (top of script)&lt;br /&gt;
To use the SRB Scommands set your path to include the binaries:&lt;br /&gt;
set path=(/export/srb/srb/SRB3_3_1/utilities/bin $path)&lt;br /&gt;
Then Sinit, Sls, Sput, Sexit, etc should work.&lt;br /&gt;
To stop the the postgres and srb servers, run &amp;#039;install.pl stop&amp;#039;&lt;br /&gt;
To restart the postgres and srb servers, run &amp;#039;install.pl start&amp;#039;&lt;br /&gt;
To show the postgres and srb server processes, run &amp;#039;install.pl ps&amp;#039;&lt;br /&gt;
For man pages (csh): alias Sman &amp;#039;man -M /export/srb/srb/SRB3_3_1/utilities/man&amp;#039;&lt;br /&gt;
All done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Patching===&lt;br /&gt;
&lt;br /&gt;
Install the p1 patches, and uuid generation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mcat@naraapp01 srb]$ perl install.pl stop&lt;br /&gt;
This script is install.pl version 3.x, last updated June 28, 2005&lt;br /&gt;
This host is narasrb01.umiacs.umd.edu&lt;br /&gt;
This host full network name is narasrb01.umiacs.umd.edu&lt;br /&gt;
This host full network address is narasrb01.umiacs.umd.edu&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
running: /export/srb/srb/pgsql/bin/pg_ctl stop &lt;br /&gt;
Done stopping SRB and Postgres servers&lt;br /&gt;
Done at install.pl line 411.&lt;br /&gt;
[mcat@naraapp01 srb]$ cp gen_uuid.c SRB3_3_1/src/lib/gen_uuid.c &lt;br /&gt;
[mcat@naraapp01 srb]$ openssl enc -d -bf-cbc -in SRB3_3_1_p1.tar.bf -out SRB3.3.1.p1.tar&lt;br /&gt;
enter bf-cbc decryption password:&lt;br /&gt;
[mcat@naraapp01 srb]$ tar -xf SRB3.3.1.p1.tar&lt;br /&gt;
[mcat@naraapp01 srb]$ cd SRB3_3_1&lt;br /&gt;
[mcat@naraapp01 SRB3_3_1]$ make install&lt;br /&gt;
gcc -c -g -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DPORTNAME_linux -DPARA_OPR=1 -DFED_MCAT  -I./src/include  -DMYSRB -DMCAT_VERSION_20 -DCOMM_PORT_NUM_START=20000 -DCOMM_PORT_NUM_COUNT=200 -DSRB_DATADIR=&amp;#039;&amp;quot;../data&amp;quot;&amp;#039; &lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
mkdir: cannot create directory `/export/srb/srb/SRBInstall&amp;#039;: File exists&lt;br /&gt;
chmod 755 /export/srb/srb/SRBInstall/data/lockDir /export/srb/srb/SRBInstall/data/CVS&lt;br /&gt;
[mcat@naraapp01 SRB3_3_1]$ cd ..&lt;br /&gt;
[mcat@naraapp01 srb]$ perl install.pl start&lt;br /&gt;
This script is install.pl version 3.x, last updated June 28, 2005&lt;br /&gt;
This host is narasrb01.umiacs.umd.edu&lt;br /&gt;
This host full network name is narasrb01.umiacs.umd.edu&lt;br /&gt;
...&lt;br /&gt;
[mcat@naraapp01 srb]$ set path=(/export/srb/srb/SRB3_3_1/utilities/bin $path)&lt;br /&gt;
[mcat@naraapp01 srb]$ Sinit -v&lt;br /&gt;
Using default Port 7618.&lt;br /&gt;
Client Release = SRB-3.3.1, API version = G.&lt;br /&gt;
Server Release = SRB-3.3.1, API version = G.&lt;br /&gt;
Client mcatZone = nara-umiacs&lt;br /&gt;
Server mcatZone = nara-umiacs&lt;br /&gt;
[mcat@naraapp01 srb]$ chmod 750 pg_backup.sh &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PostGreSQL Tuning===&lt;br /&gt;
Now, we have to tune postgres a little bit.&lt;br /&gt;
&lt;br /&gt;
In /etc/sysctl.conf, add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# increase max shared memory to 256MB&lt;br /&gt;
kernel.shmmax=268435456&lt;br /&gt;
kernel.shmall=268435456&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can make it take affect immediately by running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[root@naraapp01 vault1]# echo 268435456 &amp;gt; /proc/sys/kernel/shmmax &lt;br /&gt;
[root@naraapp01 vault1]# echo 268435456 &amp;gt; /proc/sys/kernel/shmall &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In /etc/fstab, add &amp;#039;noatime&amp;#039; to the mount for /export/srb. In /export/srb/srb/pgsql/data/psotgresql.conf change the shared buffers to:&lt;br /&gt;
&lt;br /&gt;
shared_buffers = 28672&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IPTables Config==&lt;br /&gt;
&lt;br /&gt;
In the UMfiles iptables config, create a new iptables-naraapp01 config and add the following lines after the allow for port 22&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
######&lt;br /&gt;
# tcp&lt;br /&gt;
[0:0] -A tcp_packets -p tcp -m tcp --dport 22 -j tcpallowed&lt;br /&gt;
[0:0] -A tcp_packets -p tcp -m tcp --dport 7618 -j tcpallowed&lt;br /&gt;
[0:0] -A tcp_packets -p tcp -m tcp --dport 20000:20200 -j tcpallowed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Database Backups==&lt;br /&gt;
&lt;br /&gt;
===Config===&lt;br /&gt;
&lt;br /&gt;
The postgresql databases are dumped and vacuumed nightly. The pg_backup.sh in /export/srb/srb is the script used to do this. It dumps backups to /export/vault1/backups. You can restore using the following command (substitute current backup where appropriate)&lt;br /&gt;
&lt;br /&gt;
In pg_backup.sh, edit the following lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Postgresql username to perform backups under.&lt;br /&gt;
postgresql_username=&amp;quot;mcat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Postgresql password for the Postgresql username (if required).&lt;br /&gt;
postgresql_password=&amp;quot;password&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Postgresql hostname to connect to.&lt;br /&gt;
postgresql_hostname=&amp;quot;localhost&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################&lt;br /&gt;
# Locations      #&lt;br /&gt;
##################&lt;br /&gt;
#&lt;br /&gt;
# Location to place backups.&lt;br /&gt;
location_backup_dir=&amp;quot;/export/vault1/backups&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Location to place the pg_backup.sh logfile.&lt;br /&gt;
location_logfile=&amp;quot;/export/vault1/backups/dump.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Location of the psql binaries.&lt;br /&gt;
location_binaries=&amp;quot;/export/srb/srb/pgsql/bin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
##################&lt;br /&gt;
# Permissions    #&lt;br /&gt;
##################&lt;br /&gt;
#&lt;br /&gt;
# Permissions for the backup location.&lt;br /&gt;
permissions_backup_dir=&amp;quot;0750&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Permissions for the backup files.&lt;br /&gt;
permissions_backup_file=&amp;quot;0640&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
# You must comment out the line below before using this script&lt;br /&gt;
#echo &amp;quot;You must set all values in the configuration section in this file then run ./pg_backup.sh configtest before using this script&amp;quot; &amp;amp;&amp;amp; exit 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restoring files===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gunzip /export/vault1/backups/July-2005/2005-07-01/10:38-postgresql_database-MCAT-backup.gz&lt;br /&gt;
pg_restore -d database -F c /export/vault1/backups/July-2005/2005-07-01/10:38-postgresql_database-MCAT-backup&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Upgrade to 3.4.1==&lt;br /&gt;
&lt;br /&gt;
Compile and install the new software.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mcat@naraapp01 srb]$ tar -xf ~/SRB3.4.1.tar &lt;br /&gt;
[mcat@naraapp01 srb]$ mv SRBInstall SRBInstall.old&lt;br /&gt;
[mcat@naraapp01 SRB3_4_1]$ ./configure --enable-installdir=/export/srb/srb/SRBInstall --enable-psgmcat --enable-psghome=/export/srb/srb/pgsql --enable-commports --enable-commstart=20000 --enable-commnum=200 --enable-srbport=7618&lt;br /&gt;
checking for gcc... gcc&lt;br /&gt;
checking for C compiler default output... a.out&lt;br /&gt;
checking whether the C compiler works... yes&lt;br /&gt;
checking whether we are cross compiling... no&lt;br /&gt;
checking for suffix of executables... &lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
[mcat@naraapp01 SRB3_4_1]$ make&lt;br /&gt;
[mcat@naraapp01 SRB3_4_1]$ make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upgrade the database to 3.4.0 on the way to 3.4.1. The psg upgrade file will fail on the modify&amp;#039;s so you will manually need to run the alter table items.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mcat@naraapp01 SRB3_4_1]$ cd MCAT/data/&lt;br /&gt;
[mcat@naraapp01 data]$ /export/srb/srb/pgsql/bin/psql -d MCAT &amp;lt; 331to340patch.psg &lt;br /&gt;
ERROR:  adding columns with defaults is not implemented&lt;br /&gt;
HINT:  Add the column, then use ALTER TABLE SET DEFAULT.&lt;br /&gt;
ERROR:  adding columns with defaults is not implemented&lt;br /&gt;
HINT:  Add the column, then use ALTER TABLE SET DEFAULT.&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
CREATE TABLE&lt;br /&gt;
CREATE VIEW&lt;br /&gt;
CREATE SEQUENCE&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
DELETE 1&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
DELETE 1&lt;br /&gt;
INSERT 0 1&lt;br /&gt;
[mcat@naraapp01 data]$ /export/srb/srb/pgsql/bin/psql -d MCAT&lt;br /&gt;
Welcome to psql 7.4.8, the PostgreSQL interactive terminal.&lt;br /&gt;
&lt;br /&gt;
Type:  \copyright for distribution terms&lt;br /&gt;
       \h for help with SQL commands&lt;br /&gt;
       \? for help on internal slash commands&lt;br /&gt;
       \g or terminate with semicolon to execute query&lt;br /&gt;
       \q to quit&lt;br /&gt;
&lt;br /&gt;
MCAT=# alter table MDAS_TD_DATA_GRP add orig_coll_name  varchar(1000);&lt;br /&gt;
ALTER TABLE&lt;br /&gt;
MCAT=# alter table MDAS_TD_DEL_DATA_GRP add orig_coll_name  varchar(1000);&lt;br /&gt;
ALTER TABLE&lt;br /&gt;
MCAT=# exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now upgrade to 3.4.1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mcat@naraapp01 data]$ /export/srb/srb/pgsql/bin/psql -d MCAT &amp;lt; 340to341patch.psg &lt;br /&gt;
CREATE VIEW&lt;br /&gt;
CREATE VIEW&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finish configuring the MCAT w/ old config items&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mcat@naraapp01 data]$ cd /export/srb/srb/SRBInstall&lt;br /&gt;
[mcat@naraapp01 SRBInstall]$ cd data&lt;br /&gt;
[mcat@naraapp01 data]$ cp /export/srb/srb/SRBInstall.old/data/MdasConfig .&lt;br /&gt;
[mcat@naraapp01 data]$ cp /export/srb/srb/SRBInstall.old/data/mcatHost  .&lt;br /&gt;
[mcat@naraapp01 data]$ cp /export/srb/srb/SRBInstall.old/data/hostConfig .&lt;br /&gt;
[mcat@naraapp01 data]$ cd ../bin&lt;br /&gt;
[mcat@naraapp01 bin]$ ./runsrb&lt;br /&gt;
mv: cannot stat `./../data/srbLog&amp;#039;: No such file or directory&lt;br /&gt;
rm: cannot lstat `./../data/lockDir/.[a-z]*&amp;#039;: No such file or directory&lt;br /&gt;
rm: cannot remove `./../data/lockDir/CVS&amp;#039;: Is a directory&lt;br /&gt;
findServerExec: found &amp;quot;/export/srb/srb/SRBInstall/bin/./srbServer&amp;quot; using argv[0]&lt;br /&gt;
logFile: ../data/log/srbLog.5.6.6 opened successfully.&lt;br /&gt;
ZoneName = nara-umiacs  HostName = naraapp01.umiacs.umd.edu  PortNum = 7618&lt;br /&gt;
Remote Zone : &lt;br /&gt;
ZoneName = nara  HostName = erasrb01.nara.gov  PortNum = 7618&lt;br /&gt;
ZoneName = nara-dc  HostName = 207.245.162.200  PortNum = 7618&lt;br /&gt;
ZoneName = nara-gtri  HostName = bush41.gtri.gatech.edu  PortNum = 7618&lt;br /&gt;
ZoneName = nara-sdsc  HostName = srb-mcat.sdsc.edu  PortNum = 7618&lt;br /&gt;
[mcat@naraapp01 bin]$ Sinit&lt;br /&gt;
[mcat@naraapp01 bin]$ Sls /&lt;br /&gt;
/:&lt;br /&gt;
  C-/container&lt;br /&gt;
  C-/home&lt;br /&gt;
  C-/nara&lt;br /&gt;
  C-/nara-dc&lt;br /&gt;
  C-/nara-gtri&lt;br /&gt;
  C-/nara-sdsc&lt;br /&gt;
  C-/nara-umiacs&lt;br /&gt;
  C-/styles&lt;br /&gt;
  C-/trash&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Main.MikeSmorul - 25 Jul 2005&lt;/div&gt;</summary>
		<author><name>Toaster</name></author>
	</entry>
</feed>