XNAT System Administration Chip Schweiss chip schweisswustl edu

  • Slides: 16
Download presentation
XNAT System Administration Chip Schweiss chip. schweiss@wustl. edu June 26, 2012

XNAT System Administration Chip Schweiss chip. schweiss@wustl. edu June 26, 2012

XNAT System Administration 1. 2. 3. 4. System Requirements Java, Tomcat & Postgre. SQL

XNAT System Administration 1. 2. 3. 4. System Requirements Java, Tomcat & Postgre. SQL Essentials Scaling Vertically & Horizontally An Automation Demonstration with VMware and Puppet 5. ZFS file system 6. Network Monitoring

XNAT System Requirements • Highly dependent on size of data set and volume of

XNAT System Requirements • Highly dependent on size of data set and volume of users • Minimum for a working build: – 2 GB free RAM – Tomcat 6 on Java 6 – Postgre. SQL 9. 0 (9. 1 not yet supported)

XNAT System Requirements Two Examples: 1. CNDA – A large instance with many users

XNAT System Requirements Two Examples: 1. CNDA – A large instance with many users 2. XNAT Central – Small instance with light usage

CNDA – System Specifications • Hosted on our VMware v. Sphere 5 cluster –

CNDA – System Specifications • Hosted on our VMware v. Sphere 5 cluster – 3. 46 GHz Core i 7 hex core CPUs – 10 Gb. E – Blue. Arc 15 k SAS pool NFS backing • CNDA Virtual Machine – 8 v. CPU – 20 GB ram fully reserved – 20 GB vmdk • Separate VM for Postgre. SQL

CNDA - System Specifications NAS File Storage • 34 TB Blue. Arc NL-SAS +

CNDA - System Specifications NAS File Storage • 34 TB Blue. Arc NL-SAS + 34 TB Blue. Arc on DR site • 45 TB ZFS backup Sun Grid Engine Processing Cluster • 10 - 4 core i 7 2. 4 GHz systems w/ 8 GB ram • 6 – 8 v. CPU virtual machines w/ 16 GB ram Supporting VMs • Shadow for database related processing • Files system shadow for cron triggered reporting • Development VMs

XNAT Central – System Specifications XNAT Central Virtual Machine • 4 v. CPU •

XNAT Central – System Specifications XNAT Central Virtual Machine • 4 v. CPU • 4 GB ram Separate Postgre. SQL virtual machine NAS File Storage • 2 TB Blue. Arc + 2 TB Blue. Arc DR • 3 TB ZFS Backup

Java, Tomcat & Postgre. SQL Essentials Java & Tomcat: • Memory settings – Xmx

Java, Tomcat & Postgre. SQL Essentials Java & Tomcat: • Memory settings – Xmx • Maximum memory allocation – Xmn • Minimum allocation • Set to 1/5 Xmx – Xms • Initial heap size • Set to 1/3 Xmx – XX: Max. Perm. Size • • Permanent memory allocation for classes & libraries Set to 256 m for XNAT

Java & Tomcat Additional configuration: • Debugging w/ Eclipse -Xrunjdwp: transport=dt_socket, server=y, suspend=n, address=8000

Java & Tomcat Additional configuration: • Debugging w/ Eclipse -Xrunjdwp: transport=dt_socket, server=y, suspend=n, address=8000 • Running on port 80/443 with modjk server. xml: <Host name="localhost" app. Base="/var/lib/tomcat 6/webapps/empty" unpack. WARs="true" auto. Deploy="true" xml. Validation="false" xml. Namespace. Aware="false"> <Context path="" doc. Base="/var/lib/tomcat 6/webapps/xnatcentral"> <Resource name="User. Transaction" auth="Container“ type="javax. transaction. User. Transaction" factory="org. objectweb. jotm. User. Transaction. Factory“ jotm. timeout="60"/> <Manager pathname=""/> </Context>

DICOM Port Java on Linux does not support listening on ports < 1024 unless

DICOM Port Java on Linux does not support listening on ports < 1024 unless running as root IP Tables makes an easy work around: iptables –t nat –I PREROUTING –p tcp --dport 104 -j DNAT –-to-destination <host ip>: 8104

Postgre. SQL Tuning Performance parameters: • max_connections = 100 • shared_buffers = xxx. MB

Postgre. SQL Tuning Performance parameters: • max_connections = 100 • shared_buffers = xxx. MB – ¼ memory available • work_mem = xxx. MB – Typically 50 to 80 MB • maintenance_work_mem = xxx. MB – Typically 128 to 250 MB • effective_cache_size = xxx. MB – ½ memory available

Scaling Vertically & Horizontally • Reasons to Scale Vertically – More users – Higher

Scaling Vertically & Horizontally • Reasons to Scale Vertically – More users – Higher activity level – Real-time processing • Reasons to Scale Horizontally – Pipeline processing – Scheduled jobs

Automated Demonstration Development, Test and Production Cycles • VMware v. Sphere • Puppet •

Automated Demonstration Development, Test and Production Cycles • VMware v. Sphere • Puppet • ZFS

ZFS File System • Developed by Sun Microsystems • Highly scalable file system –

ZFS File System • Developed by Sun Microsystems • Highly scalable file system – Scales in performance with SSD read and write caches – Scales to Exabyte file system sizes • • Snapshots, compression, deduplication Writeable clones of snapshots Extremely efficient backups with ZFS send/receive Multiple OS support – – Open. Indiana: maintained fork of Open. Solaris Free. BSD ZFS on Linux Oracle Solaris

Network Health Monitoring Preferred tools • v. Center • Nagios • Pingdom • Spiceworks

Network Health Monitoring Preferred tools • v. Center • Nagios • Pingdom • Spiceworks

Useful links • • • Our ZFS Backup Server http: //xnat. org/blog/category/xnat-hardware/zfs-storage/ Build Java

Useful links • • • Our ZFS Backup Server http: //xnat. org/blog/category/xnat-hardware/zfs-storage/ Build Java RPMs for RHEL/Centos http: //www. city-fan. org/tips/Sun. Java 6 On. Fedora Scale Postgre. SQL horizontally https: //github. com/greg 2 nd. Quadrant/repmgr Puppet http: //www. puppetlabs. com Apache Redirect HTTP to HTTPS using mod_rewrite http: //www. sslshopper. com/apache-redirect-http-to-https. html Open. Indiana http: //www. openindiana. org ZFS on Linux http: //zfsonlinux. org Spiceworks http: //www. spiceworks. com VMware Perl Scripts http: //www. virtuallyghetto. com