User Tools

Site Tools


upgrade_notes:hpc_june_2011

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
upgrade_notes:hpc_june_2011 [2011/06/20 11:53] – [Dendroscope] aorthupgrade_notes:hpc_june_2011 [2011/12/01 09:05] (current) – removed aorth
Line 1: Line 1:
-====== HPC installation, June, 2011 ====== 
  
-Notes documenting the installation of the new HPC server in June, 2011.  The machine is a Dell PowerEdge R910. 
- 
-Machine specifications: 
-  * Quad Eight-core Xeon X7560 
-  * 128 GB RAM 
-  * 16 500GB, 7200RPM Serial-attached SCSI drives 
-  * Dell PowerEdge RAID Controller (PERC) H700, {{:upgrade_notes:perc-h700-technical-guidebook.pdf|Manual}} 
- 
-====== Pre-installation notes ====== 
- 
-===== Hardware RAID ===== 
-Hardware RAID configuration set up to provide the following virtual/logical drives to the OS: 
-  * Disks 0,1,2,3 -> RAID5 
-  * Disks 4,5,6,7,8,9,10,11 -> RAID5 
-  * Disks 12,13,14,15 -> RAID5 
- 
-... where disks are physically laid out as follows: 
-| Disk 0 | Disk 4 | Disk 8 | Disk 12 | 
-| Disk 1 | Disk 5 | Disk 9 | Disk 13 | 
-| Disk 2 | Disk 6 | Disk 10 | Disk 14 | 
-| Disk 3 | Disk 7 | Disk 11 | Disk 15 | 
- 
-The first disk group must not be too large because we need to boot from it.  CentOS uses the legacy GRUB1 bootloader, which only supports the MSDOS partition table format, meaning that partitions cannot be larger than ~2 TB (http://en.wikipedia.org/wiki/Master_boot_record).  Disk groups 2 and 3 can be larger, and therefore use the GUID Partition Table (GPT). 
- 
-It seems the hardware RAID controller automatically sets partition tables to GPT when you create virtual disks, and CentOS's disk partitioning utility will gladly manipulate those partitions, but will refuse to install (because of the bootloader issue).  You need to Ctrl-Alt-F2, for example, to a virtual terminal and use ''parted'' to set the partition table to ''msdos'' on the drive which is to be your boot drive. 
- 
-Enter parted and ignore any errors it spits out in the beginning: 
-<code>parted /dev/sda 
-mklabel 
- yes 
- msdos 
-q</code> 
- 
-After that you can switch back to the installer (Ctrl-Alt-F6) and partition away. 
- 
-====== Post-installation notes ====== 
-Now SSH to the new server's IP as root (there are no other accounts yet!).  For now, we're on the "test" server... copying files from the old HPC. 
-  * HPC: 192.168.5.3 
-  * HPCTEST: 192.168.5.4 
-===== Preparation ===== 
-==== Rsync with ACL support ==== 
-CentOS's rsync doesn't support extended access control lists, which we use for Segolip's data.  We need to compile a new version which has this support: 
-<code>sudo yum install libacl-devel 
-wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.8.tar.gz 
-tar zxf rsync-3.0.8.tar.gz  
-./configure --prefix=/export/apps/rsync/3.0.8 
-make 
-sudo make install</code> 
-Now we can use this special version of rsync later by calling: ''/export/apps/rsync/3.0.8/bin/rsync'' 
- 
-===== Rocks service pack ===== 
-Install the latest Rocks service pack.  See documentation here: http://www.rocksclusters.org/roll-documentation/service-pack/5.4.2/ 
- 
-===== Users, groups, etc ===== 
- 
-Migrate existing users, groups, and home folders from the old server. 
- 
-==== On the old server ==== 
-Backup a few things and prepare for user/group migration... 
-=== /etc === 
-Create a tarball of the system configuration files: 
-<code>tar cjf /tmp/etc_june_2011.tar.bz2 /etc</code> 
- 
-=== Rocks MySQL databases === 
-Rocks uses its own instance of mysql, in addition to the "system" mysql.  At one point in time we thought it was smart to move some databases there so we wouldn't have to have two copies of mysql running at a time.  Doesn't sound so nice now, but eh... we need to check what is in there and move it to the new server's system mysql. 
-<code>mkdir rocks_mysql_dumps_june_2011 
-export HISTFILE=/dev/null 
-for dbname in `/opt/rocks/bin/mysql -u root -p'password' -Be 'show databases' | tail -n+3 | grep -v "#"`; do echo Dumping $dbname; /opt/rocks/bin/mysqldump -u root -p'password' --opt $dbname | bzip2 -c > rocks_mysql_dumps_june_2011/$dbname.sql.bz2; done 
-exit</code> 
- 
-=== System MySQL databases === 
-The regular CentOS system MySQL databases... just in case!  Make sure mysqld is running then: 
-<code>mkdir system_mysql_dumps_june_2011 
-export HISTFILE=/dev/null 
-for dbname in `mysql -u root -p'password' -Be 'show databases' | tail -n+3`; do echo Dumping $dbname; mysqldump -u root -p'password' --opt $dbname | bzip2 -c > system_mysql_dumps_june_2011/$dbname.sql.bz2; done 
-exit</code> 
- 
-=== Storix backup tool === 
-Commercial tape backup software.  Etienne has the installer, but lets backup the installed directories too, just in case: 
-<code>sudo su - 
-tar cjf /mnt/export/home/aorth/storix.tar.bz2 /storix 
-tar cjf /mnt/export/home/aorth/opt_storix.tar.bz2 /opt/storix</code> 
-==== On the new server ==== 
-<note>You should obviously be root for this bit!!!  We shouldn't have any other users at this point anyways, but just make sure you're root!</note> 
-Copy the tarball from the old server: 
-<code>scp aorth@192.168.5.3:/tmp/etc_june_2011.tar.bz2 . 
-tar jxf etc_june_2011.tar.bz2</code> 
- 
-=== Migrate users and groups in /etc...=== 
-  * Manually copy all but system users, from around segoli at UID 658, into ///etc/passwd// 
-    * Delete old/duplicate users like tomcat, oracle, nfsnobody, condor, ensembl, ilri, ilri01, zabbix, cluster, videodata, pbguest 
-    * Delete directories: ''rm -rf tomcat oracle cluster condor ilri ilri01 zabbix'' 
-  * Copy users' passwords (same as users above) into ///etc/shadow// 
-    * Delete old/duplicates like above 
-  * Copy all but system groups into ///etc/group// 
-    * Delete old/duplicates/system groups like ilri, cluster, nfsnobody, tomcat, condor, zabbix, user, pbguest, robetta, screen 
-    * Make sure to copy important group memberships like ssh, gcc, wheel, etc... 
-  * Copy groups' passwords into ///etc/gshadow// 
-    * Delete old/duplicates/system like above 
- 
-=== /etc/sudoers === 
-Allow the wheel group to use sudo, find and uncomment the following line: 
-<file>%wheel  ALL=(ALL)   ALL</file> 
- 
-=== Edit passwd to reflect home directory location === 
-  * Replace ''/home/'' with ''/export/home/'' in ///etc/passwd// (vim or sed) 
-    * Run ''rocks sync users'' to get Rocks to go parse /etc/passwd and write a new ///etc/auto.home// with the new automounts for home directories 
- 
-=== Copy homes === 
-  * rsync -avz --exclude "segoli" --exclude "afischer" -e "ssh -i /root/.ssh/hpc_id_rsa" 192.168.5.3:/mnt/export/home/ /export/home/ 
-    * (or... with --delete if you're absolutely sure!!!  PROBABLY NOT!!?) 
-    * not sure if the condor user is support to have a home? 
-  * Anne Fischer and Segoli are special cases, their home folders were on export2, with a symlink in /mnt/export/home.  Copy their stuff to the new home partition. 
-    * Copy Anne's stuff: 
-      * ''rsync -avz -e "ssh -i /root/.ssh/hpc_id_rsa" 192.168.5.3:/mnt/export2/home/afischer /export/home/'' 
-    * Copy Segolip's stuff (needs rsync with ACL support from above!): 
-      * Add ''acl'' to /export's mount options in ///etc/fstab// and then remount /export: ''sudo mount -o remount /export'' 
-      * Sync: ''/export/apps/rsync/3.0.8/bin/rsync -avzA -e "ssh -i /root/.ssh/hpc_id_rsa" 192.168.5.3:/mnt/export2/home/segoli /export/home/'' 
- 
-=== Root home === 
-Temporarily enable password authentication for root on the old HPC, then copy his home directory over... 
-<code>cd /root 
-rsync -avz 192.168.5.4:/root root.old_hpc</code> 
- 
-Copy important things like configs, ssh keys, etc... 
- 
-=== Copy /mnt/export2 === 
-Make sure to exclude some old/unused stuff... 
-<code>rsync -avz --exclude "home" --exclude "pbroot" --exclude "mysql" --exclude "u01" --exclude "u04" -e "ssh -i /root/.ssh/hpc_id_rsa" 192.168.5.3:/mnt/export2/ /mnt/export2/</code> 
- 
-=== Copy /mnt/export3 === 
-The system's mysql directories live here (even though they are all old and we should probably start fresh!!), so we have to stop mysql before we rsync: 
-<code>sudo service mysqld stop</code> 
-Then copy everything over, exlcuding some old/unused stuff. 
-<code>rsync -avz --delete-excluded --exclude "formatdb.log" --exclude "temp" --exclude "u03" --exclude "btk_backup" --exclude "segoli_backups" -e "ssh -i /root/.ssh/hpc_id_rsa" 192.168.5.3:/mnt/export3/ /mnt/export3/</code> 
-Clean up old mysql databases which don't exist anymore (they are sym links to non-existent places): 
-<code>cd /mnt/export3/mysql 
-find . -type l -exec rm {} \;</code> 
- 
-=== Symlink for legacy /mnt/export === 
-<code>ln -sv /export /mnt/</code> 
- 
-=== Test SSH as your user! === 
-Now the home directories and users/groups are in place you should test SSH as your non-root user. Cool, it works. 
-===== Configure yum ===== 
-Rocks 5.4 is based on CentOS 5.5, so you can use the repositories directly from CentOS. 
- 
-==== CentOS-Base.repo ==== 
-Copy a ''CentOS-Base.repo'' from an existing CentOS installation and place it in ''/etc/yum.repos.d/'', for example: 
-<file># CentOS-Base.repo 
-# 
-# The mirror system uses the connecting IP address of the client and the 
-# update status of each mirror to pick mirrors that are updated to and 
-# geographically close to the client.  You should use this for CentOS updates 
-# unless you are manually picking other mirrors. 
-# 
-# If the mirrorlist= does not work for you, as a fall back you can try the  
-# remarked out baseurl= line instead. 
-# 
-# 
- 
-[base] 
-name=CentOS-$releasever - Base 
-mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os 
-#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ 
-gpgcheck=1 
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 
- 
-#released updates  
-[updates] 
-name=CentOS-$releasever - Updates 
-mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates 
-#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ 
-gpgcheck=1 
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 
- 
-#packages used/produced in the build but not released 
-[addons] 
-name=CentOS-$releasever - Addons 
-mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons 
-#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/ 
-gpgcheck=1 
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 
- 
-#additional packages that may be useful 
-[extras] 
-name=CentOS-$releasever - Extras 
-mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras 
-#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ 
-gpgcheck=1 
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 
- 
-#additional packages that extend functionality of existing packages 
-[centosplus] 
-name=CentOS-$releasever - Plus 
-mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus 
-#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ 
-gpgcheck=1 
-enabled=0 
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 
- 
-#contrib - packages by Centos Users 
-[contrib] 
-name=CentOS-$releasever - Contrib 
-mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib 
-#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ 
-gpgcheck=1 
-enabled=0 
-gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5</file> 
- 
-==== Excludes ==== 
-We don't want to update packages that Rocks depends on, or else we might break it!  See the [[https://wiki.rocksclusters.org/wiki/index.php/Software_Update_(SUWG)|Rocks wiki]] for a list of excludes, and place them in ///etc/yum.conf// in the ''[main]'' section: 
-<file>exclude=dapl* ibutils* infiniband* kernel-ib* libibumad* libibmad* libibverbs* libmthca* libibverbs* libnes* librdmacm* ofed* qperf* libmlx4* compat-dapl* opensm* libcxgb3* libibcom* openib* openmpi* ibvexdmtools* libibpathverbs* libipathverbs* libsdp* srptools* ibsim*</file> 
- 
-==== Test ==== 
-Try to test the new repository using ''yum list updates'' 
-===== Software Configuration / Installation ===== 
- 
-==== SSH configuration ==== 
-=== SSH Host Keys === 
-Copy the SSH keys from the backup of the old server: 
-<code>sudo su - 
-rm -rf /etc/ssh/*key* 
-cp backup_old_hpc/etc/ssh/*key* /etc/ssh/</code> 
-=== ssh_config === 
-Disable Protocol 1 in the system-wide SSH client configuration, ///etc/ssh/ssh_config//: 
-<file>Protocol 2</file> 
- 
-=== sshd_config === 
-Make the following changes to the SSH daemon's config file: 
-<file>PermitRootLogin without-password 
- 
-GSSAPIAuthentication no 
- 
-# only allow members of the "ssh" group to login via ssh 
-AllowGroups     ssh</file> 
- 
-=== /etc/security/sshd_access.conf === 
-Host-based allow/deny for remote login... 
- 
-=== Restart sshd === 
-<code>sudo sshd service restart</code> 
- 
-=== Test === 
-Test from another machine to see if you can log in without it complaining about host keys! 
- 
-==== From yum ==== 
-Some random, one-off things from the top of my head: 
-<code>yum install screen strace</code> 
- 
-Install all CentOS updates: 
-<code>yum update && reboot</code> 
-==== Environment Modules ==== 
-https://wiki.rocksclusters.org/wiki/index.php/Rolls_Working_Group 
-<code>rocks add roll /home/aorth/src/modules-5.4-1.x86_64.disk1.iso 
-rocks enable roll modules 
-cd /export/rocks/install 
-rocks create distro 
-rocks run roll modules >> installroll.sh 
-sh installroll.sh 
-rm installroll.sh</code> 
- 
-=== Module files === 
-Copy module files from HPC to /export/apps/ 
-<code>rsync -avz --delete-excluded --exclude "module-info" --exclude "module-cvs" --exclude "null" --exclude "use.own" --exclude "modules" --exclude "dot" --exclude "common" -e "ssh -i /root/.ssh/hpc_id_rsa" 192.168.5.3:/opt/modules/modulefiles/ /export/apps/modules/modulefiles/</code> 
- 
-Edit module files to reflect current application locations!  For example, update the symlinks for the "latest" versions of apps: 
-<code>sudo su - 
-cd /export/apps/blast/ 
-ln -sv 2.2.25+ latest</code> 
- 
-Edit paths too! 
-<code>sudo su - 
-cd /export/apps/modules/modulefiles 
-sed -i 's./paracel/paracel/biosoft./export/apps.g' */*</code> 
-==== R Statistics ==== 
-http://www.r-project.org/ 
-<code>tar zxf R-2.13.0.tar.gz 
-cd R-2.13.0 
-./configure --prefix=/export/apps/R/2.13.0 
-make 
-sudo make install</code> 
- 
-Repeat the process for R 2.12.2 and 2.11.0, just in case users have those versions installed, we don't want to cause incompatibilities for them!  Also, make sure the latest version has a symlink for itself! 
-<code>sudo su - 
-cd /export/apps/R 
-ln -sv 2.13.0 latest</code> 
- 
-Make a similar one for the module file... 
-==== NCBI BLAST+ ==== 
-=== Install === 
-ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ 
-<code>sudo mkdir -p /export/apps/blast 
-tar zxf ncbi-blast-2.2.25+-x64-linux.tar.gz 
-sudo cp -r ncbi-blast-2.2.25+ /export/apps/blast/2.2.25+</code> 
- 
-Create a symlink for the "latest" version of blast: 
-<code>sudo su - 
-cd /export/apps/blast 
-ln -sv 2.2.25+ latest</code> 
- 
-=== Setup BLAST+ databases === 
-Download a few databases from NCBI.  I think a good location on the new server would be /export/bio/ncbi/db (as that is the Rocks default anyways): 
-<code>sudo su - 
-cd /export/bio/ncbi/db 
-for name in nr.*gz; do tar zxf $name; done 
-/export/apps/blast/2.2.25+/bin/update_blastdb.pl env_nr nr nt 
-for name in *tar.gz; do tar zxf $name; done 
-rm *.gz *.md5</code> 
- 
-=== Test BLAST+ === 
-Pass the BLASTDB variable to blastp to see if it can find the nr database we just unzipped. 
-<code>BLASTDB=/export/bio/ncbi/db /export/app/blast/2.2.25+/bin/blastp -db nr</code> 
- 
-==== Structure ==== 
-http://pritch.bsd.uchicago.edu/software.html 
-<code>tar zxf structure_kernel_source.tar.gz 
-cd structure_kernel_src 
-make 
-sudo mkdir -p /export/apps/structure/2.3.3/bin 
-sudo cp structure /export/apps/structure/2.3.3/bin/</code> 
- 
-==== MrBayes ==== 
-http://mrbayes.csit.fsu.edu/ 
-<code>tar zxf mrbayes-3.1.2.tar.gz 
-cd mrbayes-3.1.2 
-sudo mkdir -p /export/apps/mrbayes/3.1.2/bin/ 
-sudo cp mb /export/apps/mrbayes/3.1.2/bin/</code> 
- 
-==== BEAST ==== 
-http://beast.bio.ed.ac.uk/ 
-<code>tar zxf BEASTv1.6.1.tgz 
-sudo mkdir -p /export/apps/BEAST 
-sudo cp -r BEASTv1.6.1 /export/apps/BEAST/1.6.1</code> 
- 
-==== Python ==== 
-http://www.python.org/ 
-<code>tar jxf Python-2.7.1.tar.bz2 
-cd Python-2.7.1 
-./configure --prefix=/export/apps/python/2.7.1 
-make 
-sudo make install</code> 
- 
-=== Python - NumPy === 
-http://numpy.scipy.org/ 
-<code>tar zxf numpy-1.6.0.tar.gz 
-cd numpy-1.6.0 
-/export/apps/python/2.7.1/bin/python setup.py build 
-sudo /export/apps/python/2.7.1/bin/python setup.py install</code> 
- 
-=== Python - BioPython === 
-http://biopython.org/ 
-<code>tar zxf biopython-1.57.tar.gz 
-cd biopython-1.57 
-/export/apps/python/2.7.1/bin/python setup.py build 
-sudo /export/apps/python/2.7.1/bin/python setup.py install</code> 
- 
-==== Dendroscope ==== 
-http://ab.inf.uni-tuebingen.de/software/dendroscope/ 
-<code>chmod +x Dendroscope_unix_2_7_4.sh 
-sudo ./Dendroscope_unix_2_7_4.sh</code> 
-Tell the installer to install it to ///export/apps/dendroscope/2.7.4// 
- 
-==== 454 tools ==== 
-<code>rsync -av 192.168.5.4:/paracel/paracel/biosoft/454 . 
-sudo su - 
-mv ~aorth/454 /export/apps/ 
-chown -R root:root /export/apps/454 
-ln -s /export/apps/454/bin/* /usr/local/bin/</code> 
- 
-==== IPtables firewall rules ==== 
-Add the following to ///etc/sysconfig/iptables//: 
-<file># ssh rules (disabled but left here for documentation, but really we're allowing from inside and outside ILRI so we just "accept" by default in CentOS) 
-# accept SSH from 192.168.5.1 (ILRI corporate network) 
-#-A INPUT -m state --state NEW -p tcp --dport ssh --source 192.168.5.1 -j ACCEPT 
-# need a way to specify the range of IP (ie, NOT 192.168.5.1, which is the corporate network here) 
-#-I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set 
-#-I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP 
- 
-# NFS for ILRI corporate network 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p udp --dport 111 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p tcp --dport 111 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p tcp --dport 2049 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p tcp --dport 32803 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p udp --dport 32769 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p tcp --dport 892 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p udp --dport 892 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p tcp --dport 875 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p udp --dport 875 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p tcp --dport 662 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p udp --dport 662 -j ACCEPT 
- 
-# samba rules for ILRI corporate network 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p tcp --dport 135 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p udp --dport 137 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p udp --dport 138 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p tcp --dport 139 -j ACCEPT 
--A INPUT -s 192.168.5.1/32 -m state --state NEW -p tcp --dport 445 -j ACCEPT 
- 
-#Zabbix Monitering 
-#-A INPUT -m state --state NEW -p tcp --dport 10050 -j ACCEPT 
- 
-# SWAT rules 
--A INPUT -m state --state NEW -p tcp --dport 901 -j ACCEPT</file> 
- 
- 
-==== Samba ==== 
-=== Install === 
-<code>sudo yum install samba</code> 
-=== Configure === 
-  - Edit ///etc/samba/smb.conf// to migrate shares and bind, listen, allowed hosts, etc: 
-  - <file>workgroup = ILRI 
-server string = Samba Server Version %v 
- 
-netbios name = HPC 
- 
-interfaces = lo eth1 
-hosts deny = ALL 
-hosts allow = 127. 192.168.5.1/32 
- 
-load printers = no 
-printing = bsd 
-printcap name = /dev/null 
-disable spoolss = yes 
- 
- 
-;[printers] 
-;       comment = All Printers 
-;       path = /var/spool/samba 
-;       browseable = no 
-;       guest ok = no 
-;       writable = no 
-;       printable = yes</file> 
- 
-  - Convert the old smbpasswd file to tdbsam (this is using the smbpasswd file we backed up): 
-    - ''pdbedit -i smbpasswd:etc/samba/smbpasswd -e tdbsam:/etc/samba/passdb.tdb'' 
-  - Start samba: 
-    - ''sudo service smb start'' 
-  - Set samba to start when the system boots: 
-    - ''sudo chkconfig smb on'' 
- 
- 
- 
-==== Apache ==== 
-=== /var/www/html === 
-Move the stock Rocks index.html 
-<code>sudo su - 
-cd /var/www/html 
-mv index.html index.html.rocks</code> 
-Synchronize the other files and folders from the old server: 
-<code>rsync -avz --exclude "blast" --exclude "bwb" --exclude "ganglia" --exclude "gromacs" --exclude "install" --exclude "misc" --exclude "phpsysinfo" --exclude "robots.txt" --exclude "roll-documentation" --exclude "rss" --exclude "ppp-web.beforehellen" --exclude "t_coffee" --exclude "wiki" --exclude "wordpress" --exclude "tripwire" --exclude "RCS" 192.168.5.4:/var/www/html/ /var/www/html/</code> 
-=== /var/www/cgi-bin === 
-Copy the contents of cgi-bin 
-<code>rsync -avz 192.168.5.4:/var/www/cgi-bin/ /var/www/cgi-bin/</code> 
- 
-=== httpd.conf === 
-Change at least the following in Apache's main config file, ///etc/httpd/conf/httpd.conf//: 
-<file>ServerAdmin a.orth@cgiar.org 
-<Directory "/var/www/html"> 
-    Options FollowSymLinks 
-    AllowOverride Options 
-</Directory> 
-<IfModule mod_userdir.c> 
-    #UserDir disable 
-    UserDir public_html 
-</IfModule> 
-</file> 
- 
-=== Other configs === 
-Assuming you have a backup of the old HPC's ///etc// in your folder, copy the following to the new server's Apache config directory: 
-<code>cp etc/httpd/conf.d/{artemis,iprscan,mobyle,ppp-web}.conf /etc/httpd/conf.d/ 
-cp etc/httpd/conf.d/ppp-web.passwd /etc/httpd/conf.d/</code> 
- 
-=== mod_perl === 
-Certain CGI web applications will need mod_perl and some perl modules, lets install them to preempt any problems! 
-<code>sudo yum install mod_perl perl-XML-Parser perl-XML-Simple perl-DBI perl-DateManip perl-libwww-perl perl-Convert-ASN1 perl-SGMLSpm perl-Compress-Zlib perl-HTML-Tagset perl-HTML-Parser perl-BSD-Resource perl-DBD-MySQL perl-String-CRC32 perl-MailTools perl-IO-String perl-URI</code> 
- 
-=== Restart Apache === 
-<code>apachectl graceful</code> 
- 
-==== Viroblast ==== 
-A cool web-based BLAST+ interface.  Seems to be modeled on wwwblast, but ported to PHP and BLAST+.  From University of Washington. 
- 
-===Install=== 
-<code>sudo su - 
-cd /var/www/html 
-tar xvfp /home/aorth/src/viroblast-2.2.tar.gz 
-cd viroblast</code> 
- 
-=== Setup databases === 
-First, make symlinks to the various installed databases (pre-formatted from NCBI): 
-<code>ln -sv /export/bio/ncbi/db/nt.* /var/www/html/viroblast/db/nucleotide/ 
-ln -sv /export/bio/ncbi/db/nr.* /var/www/html/viroblast/db/protein/</code> 
- 
-Then setup the ''viroblast.ini'' file to add the databases: 
-<file>blastn: test_na_db => Nucleotide test database, nt => NCBI nt (June 2011) 
-blastp: test_aa_db => Protein test database, nr => NCBI nr (June 2011)</file> 
- 
-=== Update the blast+ version === 
-Viroblast 2.2 comes with BLAST+ 2.2.24, symlink the latest installed version we have: 
-<code>rm -rf blast+ 
-ln -sv /export/apps/blast/latest blast+</code> 
- 
-=== Apache configuration === 
-Tell Apache to load ''viroblast.php'' instead of index.php. Create ///etc/httpd/conf.d/viroblast.conf//: 
-<file><Directory /var/www/html/viroblast> 
-        DirectoryIndex viroblast.php 
-         
-        # Allow slightly-larger file sizes to be uploaded for viroblast 
-        php_value upload_max_filesize 10M 
-        php_value post_max_size 10M 
-</Directory> 
- 
-# redirect requests to paracel's blast web interface to viroblast 
-<IfModule mod_rewrite.c> 
-        RewriteRule ^/bwb(/.*)?$ http://hpc.ilri.cgiar.org/viroblast [R=permanent,L] 
-</IfModule></file> 
- 
-Restart Apache: 
-<code>sudo apachectl graceul</code> 
- 
-Make sure to test with a small data set to make sure it works! 
- 
-==== MySQL ==== 
-Start the service so it can be initialized for the first time: 
-<code>sudo service mysqld start</code> 
- 
-Reset the root user's password then secure the installation (remove anonymous users and test database): 
-<code>sudo su - 
-export HISTFILE=/dev/null 
-/usr/bin/mysqladmin -u root password '!lr!9Rockz' 
-/usr/bin/mysqladmin -u root -h hpc.ilri.cgiar.org password '!lr!9Rockz' 
-/usr/bin/mysql_secure_installation 
-exit</code> 
- 
-==== Not done yet!! ==== 
-  * MySQL databases for formtools, pasa, others? 
-  * Check ncbirc and make sure they are not conflicting with new stuff 
-  * quotas 
-===== Disk Quotas ===== 
-  * See: https://wiki.rocksclusters.org/wiki/index.php/Disk_Quota_Setup 
-  * See: https://www.physiol.ox.ac.uk/Computing/Understanding_Your_Quota.html 
-  * See: http://www.itech7.com/Administration/Setting-up-User-Group-Filesystem-Quotas-on-Linux.html 
-  * See: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-disk-quotas-managing.html 
- 
-  * student/default? - soft: 2 gig, hard: 5 gig 
-  * "scientist"? 
- 
-==== Implementation ==== 
-  * Add "usrquota,grpquota" to /export's entry in ///etc/fstab// 
-  * Restart the computer 
-  * Create quota files on the file system and check current disk usage: 
-    * ''quotacheck -cug /export/'' 
-  *  
- 
-===== Hardware RAID controller tools ===== 
-The Dell PERC H700 is a re-branded LSI MegaRaid: 
-<code>lspci -v | grep LSI 
-01:00.0 RAID bus controller: LSI Logic / Symbios Logic LSI MegaSAS 9260 (rev 04)</code> 
- 
-Drivers can be found here: http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/8.00.46_Linux_MegaCLI.zip 
-==== Installation ==== 
-<code>sudo rpm -ivh Lib_Utils-1.00-08.noarch.rpm MegaCli-8.00.46-1.i386.rpm</code> 
- 
-==== Testing ==== 
-List available controllers: 
-<code>sudo /opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL</code> 
upgrade_notes/hpc_june_2011.1308570786.txt.gz · Last modified: by aorth