Detailed Design Document Hippocampus (Donna Rose Addis) Version 0.4 Draft Document Version Date 8/11/12 6/5/12 12/9/13 Version 0.1 0.2 0.3 13/9/13 0.4 Change Initial Draft Hippocampus Draft Minus technical information still waiting on ITS to provide concrete solution Technical setup information added (Still waiting on ITS to provide details on final solution) Name / Role James Gander Dominic Ritchie Dominic Ritchie Dominic Ritchie About This Document Department Date of Issue Review Date Purpose Science IT Owner Effective Date Status DRAFT This document describes the solution design of new solutions for the Faculty of Science Audience Science IT, Faculty of Science and ITS Distribution Science IT and project teams Updates Contact the xxxxxxxwith any document updates, corrections or requests Contents Background ............................................................................................................................................. 4 Purpose................................................................................................................................................ 4 Scope ................................................................................................................................................... 4 In Scope ............................................................................................................................................... 4 Out of Scope ........................................................................................................................................ 4 Design Overview ..................................................................................................................................... 4 Architecture Objectives and Goals ...................................................................................................... 4 Detailed Diagram ................................................................................................................................. 5 Architecture Requirements ................................................................................................................. 7 Design Assumptions ............................................................................................................................ 7 Security Requirements ........................................................................................................................ 7 Detail Design Solution ............................................................................................................................. 8 Hardware/Software Details ............................................................................................................... 10 Network Details ................................................................................................................................. 10 Configuration Details ............................................................................ Error! Bookmark not defined. Interface Considerations ...................................................................... Error! Bookmark not defined. Specific Settings .................................................................................... Error! Bookmark not defined. Security Details .................................................................................................................................. 10 Requirements Traceability Table .......................................................................................................... 11 Traceability ........................................................................................... Error! Bookmark not defined. Approval ................................................................................................... Error! Bookmark not defined. Background Purpose The purpose of this document is to provide an accurate and complete description of the service provided for the “Hippocampus” group headed by Donna Rose Addis, for the Faculty of Science. Its main purpose is to inform owners, users and supporters of the service on how the service provides the functions required by the users. It further expands upon the High Level Design document by providing more finely grained information regarding the setup and design of the service. Scope This document will provide current architecture and setup information regarding the service. It describes the structure of the design and how it integrates with other services, architectures and technologies. After reading this document, the reader should be able to build the service from scratch. In Scope In scope are current designs including physical server build, operating system installation and setup, along with authentication mechanisms, and backup. Possible future designs are included, along with external services used and the mechanisms required to access those services. Differences between current and future designs will be expanded upon, along with technical details on each. Out of Scope Out of scope components including low level networking information, design and architecture of services provided by groups external to Science IT. Design Overview Architecture Objectives and Goals The final architecture aims to provide a solution to the following objectives and goals: High availability Reliability Support Flexibility Performance The previous design relied on some care being taken by the end user in setting up access for others. It consisted of a single workstation with a network attached storage device. Support from end to end was handled by Science IT. Issues regarding this service included all of the goals listed above, key issues were: Service provided by a single workstation No tolerance for power failure No tolerance for network failure Little tolerance for hardware failure Backup solution Backup provided by NAS in same building NAS size smaller than full backup The example of hardware failure became evident at the beginning of 2013, as the machine the service was currently running on suffered an unrecoverable hardware failure. Fortunately we had identified an issue with the backup previous to the failure occurring, and moved the backup point to a file server. Return to service time was measured in months. This was due to the architecture and planning used in the original design. The original design called for a full software reinstall of the operating system, authentication and application stacks whenever there was a major fault. Because of the way that the service is consumed, flexibility is important. The growth of storage required is one terabyte per year. Unfortunately in the original design, backup space was not aligned with total storage space, and so the size of the backup became unmanageable. Detailed Diagram Previous Design Single Dell workstation with two one terabyte drives, backed to a NAS. Users connect to the service using VNC over SSH. Current Design Future Design Conversations with ITS have brought about possible changes to these implementations. This document will be updated once confirmation is given. Architecture Requirements In this instance, the application server is running Matlab, and must be provided in a visual fashion, enabling users to interact with the system via a GUI. The software that will be used to provide this visual context is FreeNX. FreeNX is the open source version of the paid product NoMachine. Design Assumptions ITS is to provide the virtualization environment and manage the Operating System (RedHat). This includes all associated updates, and support. The Matlab layer will be managed by Science IT, with consultation with ITS. Any updates for Matlab will be done under change control as required by standard ITS process. Security Requirements Users will be required to login to the system using either their EC or UOA credentials. The login mechanism will be LDAP. Detail Design Solution In this section I will detail how to install Matlab and required components after sending a standard request for a VM to ITS. To being installation, first request a Redhat Virtual Machine (using ITS standard templates) from ITS using the standard processes within the AskIT system. 4 Cores (Tier 3) 16GB RAM 6TB Disc (At this time it is unknown how the disc will be provided. The diagrams shown above give a possible solution, however we are still waiting for ITS to come back with an answer) Users authenticate to login (EC or UOA) Only users that are part of the hippocampus-logon.psy group can logon (apart from admins) and the nx user (to be created later by installing freenx) Create a user (such as scienceit) with full sudoers access, or give your user full sudoers access Once the machine has been provided, and those modifications made by ITS, start on the procedure below. Software and Configuration 1. As the ITS provided machine is Redhat Server, you will need to install the desktop environment before continuing. Unfortunately there are no grouplists on the ITS repositories so the easiest way of achieving this is the following: sudo yum install gnome-session xauth gnome-panel nautilus xorg 2. Install freenx-server following the documentation provided here http://kb.sit.auckland.ac.nz/?article=installing-freenx-server-on-redhat 3. Install Matlab http://kb.sit.auckland.ac.nz/?article=installing-matlab 4. Install FSL http://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FslInstallation 5. Install ANTS http://sourceforge.net/projects/advants/files/ANTS/ Extract the tar.gz to /usr/local/ANTS 6. Install AFNI Download the xorg7 (64bit) package and follow the instructions here http://afni.nimh.nih.gov/pub/dist/HOWTO/howto/ht00_inst/html/linux_inst_basic.html 7. Create a file called “environment.sh” within /etc/profile.d, copy the following #!/bin/bash # MATLAB Setup PATH=$PATH:/usr/local/MATLAB/R2012b/bin/ # FSL Setup FSLDIR=/usr/local/fsl PATH=${FSLDIR}/bin:${PATH} export FSLDIR PATH . ${FSLDIR}/etc/fslconf/fsl.sh # ANTS Setup PATH=$PATH:/usr/local/ANTS/bin # AFNI Setup PATH=$PATH:/usr/local/afni 8. Download and copy the toolboxes listed below to /usr/local/scripts a. SPM v8 (http://www.fil.ion.ucl.ac.uk/spm/) b. ArtRepair v4 (http://cibsr.stanford.edu/tools/human-brain-project/artrepairsoftware.html) c. CONN v.13 (http://www.nitrc.org/projects/conn/) d. PLSgui/PLScmd v6.130310 (http://www.rotmanbaycrest.on.ca/index.php?section=84) e. AFNI v2011_12_21_1014 (http://afni.nimh.nih.gov/afni) 9. Users will need to modify MATLAB preferences to point to the scripts under “Set Path”. Select “Add with Subfolders” and choose /usr/local/scripts 10. Before attaching datastorage SELinux should be set to permissive Modify /etc/selinux/config SELINUX=permissive Hardware/Software Details Following lists OS, Matlab versions along with the Matlab toolboxes used and freenx. Operating System Redhat v6.4 (http://nz.redhat.com/) Matlab 2012b v8.0.0.783 (http://www.mathworks.com.au/products/matlab/) SPM v8 (http://www.fil.ion.ucl.ac.uk/spm/) ArtRepair v4 (http://cibsr.stanford.edu/tools/human-brain-project/artrepair-software.html) CONN v.13 (http://www.nitrc.org/projects/conn/) PLSgui/PLScmd v6.130310 (http://www.rotman-baycrest.on.ca/index.php?section=84) AFNI v2011_12_21_1014 (http://afni.nimh.nih.gov/afni) FSL v5 (http://fsl.fmrib.ox.ac.uk/fsl/fslwiki/) ANTs 1.9v4 (http://stnava.github.io/ANTs/) Network Details To be handled by ITS. The standard connection mechanism is over SSH (port 22), though VPN will be used to access this from outside the University. Security Details The group hippocampus-logon.psy should be used to limit access of the service. Requirements Traceability The design was set to solve the following objectives: High availability Reliability Support Flexibility Performance High Availabity This will be accomplished by moving the system from a single workstation into the datacenter, and moving the data as well. This will enable the data to be easily replicated if required, and also backed to tape. Reliability As mentioned above, moving the system into the datacenter allows backup of data to tape. In this system, a rebuild of the operating system and required software takes little time while following this document. The data is most important, and having secure tape solves this issue. Support The design allows for a modular support system. In this case, rather than one person doing the majority of the support from ground up, passing operating system and hardware support to ITS allows their experts on those systems to provide better support in those areas. Flexibility Virtualising the environment then attaching discs from the SAN enables extension of storage easily, and can be modeled such that disc is purchased ahead of time when necessary. Virtualising also enables the addition of CPU and Memory as requirements arise. Performance Rather than having to purchase new hardware to increase performance, then requiring a rebuild of the system, as mentioned above performance can be increased dynamically. Moving from single discs to a SAN greatly increases performance also. Most importantly, application performance can be monitored and resources modified as necessary to use them as effectively and efficiently as possible.