Ahsay Offsite Backup Server v5.5. High Availability Option Setup Guide. Ahsay TM Online Backup - Development Department



Similar documents
Ahsay Replication Server v5.5. Administrator s Guide. Ahsay TM Online Backup - Development Department

Ahsay BackupBox v1.0. Deployment Guide. Ahsay TM Online Backup - Development Department

Ahsay Offsite Backup Server and Ahsay Replication Server

DOCUMENTATION MICROSOFT SQL BACKUP & RESTORE OPERATIONS

DOCUMENTATION FILE RESTORE

DOCUMENTATION FILE BACKUP

DOCUMENTATION MySQL BACKUP & RESTORE OPERATIONS

DOCUMENTATION SYSTEM STATE BACKUP & RESTORE OPERATIONS

NetIQ Access Manager 4.1

DOCUMENTATION LOTUS NOTES BACKUP & RESTORE OPERATIONS

Ahsay Online Backup AutoUpdateAgent Guide. We back up your business. Ahsay Online Backup v5.5. AutoUpdateAgent Guide. Version 5.

Ahsay Offsite Backup Server v5.x. Installation and Upgrade Guide. Ahsay TM Online Backup - Development Department

[TFS 4.1 ADVANCED GUIDE]

DOCUMENTATION SHADOWPROTECT - MICROSOFT WINDOWS SYSTEM BACKUP AND RESTORE OPERATIONS

Ahsay Replication Server v5.5. Installation and Upgrade Guide

DOCUMENTATION MICROSOFT EXCHANGE BACKUP & RESTORE OPERATIONS

Configuring ActiveVOS Identity Service Using LDAP

Apache and Tomcat Clustering Configuration Table of Contents

Webthority 6.6. Best Practice Guide

24x7 Scheduler Multi-platform Edition 5.2

DOCUMENTATION MICROSOFT WINDOWS SYSTEM BACKUP AND RESTORE OPERATIONS

This document uses the following conventions for items that may need to be modified:

MID-TIER DEPLOYMENT KB

Using. DataTrust Secure Online Backup. To Protect Your. Hyper-V Virtual Environment. 1 P a g e

Ahsay A-Click Backup. User s Guide. Ahsay Systems Co. Ltd. 2 August 2011

Offsite Backup. Installation and Upgrade Guide

Upgrade to Webtrends Analytics 8.7: Best Practices

Ahsay Offsite Backup Server v5.5. Administrator s Guide. Ahsay TM Online Backup - Development Department

Ahsay Offsite Backup Server

Ahsay Offsite Backup Server

Ahsay Offsite Backup Server

RSM Web Gateway RSM Web Client INSTALLATION AND ADMINISTRATION GUIDE

ConcourseSuite 7.0. Installation, Setup, Maintenance, and Upgrade

Table of Contents. Requirements and Options 1. Checklist for Server Installation 5. Checklist for Importing from CyberAudit

LiquidOffice v4 Architecture/Technologies

Remote Filtering Software

v5.2 Installation Guide for Websense Enterprise v5.2 Embedded on Cisco Content Engine

v Installation Guide for Websense Enterprise v Embedded on Cisco Content Engine with ACNS v.5.4

Ahsay Offsite Backup Server

SMART Vantage. Installation guide

Ahsay Offsite Backup Server v4.4. Administrator s Guide

EQUELLA. Clustering Configuration Guide. Version 6.0

JAMF Software Server Installation Guide for Linux. Version 8.6

GLOSSARY OF TECHNICAL TERMS

Enterprise Manager. Version 6.2. Installation Guide

JAMF Software Server Installation and Configuration Guide for Linux. Version 9.0

Verax Service Desk Installation Guide for UNIX and Windows

Ahsay A-Click Backup. User s Guide. Ahsay Systems Corporation Limited. 4 October 2012

EMC Documentum Connector for Microsoft SharePoint

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

Ahsay Offsite Backup Server v5.5. Administrator s Guide

Caché Integration with a Network Appliance Filer

JAMF Software Server Installation Guide for Windows. Version 8.6

UPGRADING TO XI 3.1 SP6 AND SINGLE SIGN ON. Chad Watson Sr. Business Intelligence Developer

JAMF Software Server Installation and Configuration Guide for Windows. Version 9.3

Ahsay Cloud Backup Suite

To install and configure SSL support on Tomcat 6, you need to follow these simple steps. For more information, read the rest of this HOW-TO.

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11

JAMF Software Server Installation and Configuration Guide for Linux. Version 9.2

How To Integrate IIS6 and Apache Tomcat

GLOSSARY OF TECHNICAL TERMS

Novell Access Manager

Attix5 Pro Storage Platform

CentraSite SSO with Trusted Reverse Proxy

Configuring multiple Tomcat instances with a single Apache Load Balancer


Quick Install Guide. Lumension Endpoint Management and Security Suite 7.1

ADOBE CONNECT ENTERPRISE SERVER 6

Running Multiple Shibboleth IdP Instances on a Single Host

Scoreboard 2.5/2.7 Installation Guide. For Apache Tomcat 7.0 On Windows 2003/2008 Server, 64-bit

BACKITUP Online. Error Codes & Fixes

Project (Group) Management Installation Guide (Linux) Version 1.3. Copyright 2007 MGH

Instant Chime for IBM Sametime Installation Guide for Apache Tomcat and Microsoft SQL

MarkLogic Server. Installation Guide for All Platforms. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

WS_FTP Server. User s Guide. Software Version 3.1. Ipswitch, Inc.

JAMF Software Server Installation and Configuration Guide for OS X. Version 9.2

PeopleSoft Online Performance Guidelines

Synergis Software 18 South 5 TH Street, Suite 100 Quakertown, PA , version

Adobe LiveCycle Data Services 3 Performance Brief

JAMF Software Server Installation and Configuration Guide for OS X. Version 9.0

Decision Support System Software Asset Management (SAM)

Canto Integration Platform (CIP)

DocuShare Installation Guide

System Requirements - Table of Contents

Installation and User Guide

SteelEye Protection Suite for Windows Microsoft Internet Information Services Recovery Kit. Administration Guide

Version 3.8. Installation Guide

Running a Workflow on a PowerCenter Grid

TANDBERG MANAGEMENT SUITE 10.0

Business white paper. HP Process Automation. Version 7.0. Server performance

WSO2 Business Process Server Clustering Guide for 3.2.0

Available Update Methods

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

What's New in BlackBerry Enterprise Server 5.0 SP4 for Novell GroupWise

Simba XMLA Provider for Oracle OLAP 2.0. Linux Administration Guide. Simba Technologies Inc. April 23, 2013

CA ARCserve Replication and High Availability

System Requirements - CommNet Server

Transcription:

Ahsay Offsite Backup Server v5.5 High Availability Option Setup Guide Ahsay TM Online Backup - Development Department September 1, 2009

Copyright Notice Ahsay Systems Corporation Limited 2007. All rights reserved. Author: Ahsay Systems Corporation Limited The use and copying of this product is subject to a license agreement. Any other use is prohibited. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system or translated into any language in any form by any means without the prior written consent of Ahsay Systems Corporation Limited. Information in this manual is subject to change without notice and does not represent a commitment on the part of the vendor. Ahsay Systems Corporation Limited does not warrant that this document is error free. If you find any errors in this document, please report Ahsay Systems Corporation Limited in writing. This product includes software developed by the Apache Software Foundation (http://www.apache.org/). Trademarks Ahsay, Ahsay Online Backup Suite, Ahsay Offsite Backup Server, Ahsay Online Backup Manager, Ahsay A-Click Backup, Ahsay Replication Server, Ahsay NAS Client Utility are trademarks of Ahsay Systems Corporation Limited. Microsoft, Windows, Microsoft Exchange Server and Microsoft SQL Server are registered trademarks of Microsoft Corporation. Sun, Solaris, SPARC, Java and Java Runtime Environment are registered trademarks of Sun Microsystems Inc. Oracle, Oracle 8i, Oracle 9i are registered trademarks of Oracle Corporation. Lotus, Domino, Notes are registered trademark of IBM Corporation. Red Hat is registered trademark of Red Hat, Inc. Linux is registered trademark of Linus Torvalds. Apple and Mac OS X are registered trademarks of Apple Computer, Inc. All other product names are registered trademarks of their respective owners. Disclaimer Ahsay Systems Corporation Limited will not have or accept any liability, obligation or responsibility whatsoever for any loss, destruction or damage (including without limitation consequential loss, destruction or damage) however arising from or in respect of any use or misuse of or reliance on this document. By reading and following the instructions in this document, you agree to accept unconditionally the terms of this Disclaimer and as they may be revised and/or amended from time to time by Ahsay Systems Corporation Limited without prior notice to you.

Table of Content 1 Overview...2 2 High Availability AhsayOBS...3 3 Setup...5 3.1 Setup the AhsayOBS Cluster on the Same Machine...5 3.2 Setup the AhsayOBS Cluster on Different Machines...10 4 Testing...16 5 Server Tuning Recommendations...17 5.1 Tuning Windows Server 2003...18 5.2 Tuning Linux...20 6 References...22 7 Appendixes...23 7.1 Sample ehcache.xml file for all AhsayOBS instances...23 7.2 Sample configuration for AhsayOBS Cluster on the same machine...24 7.3 Sample configuration for AhsayOBS Cluster on different machines...26 7.4 Feedback...27 7.5 Contact Us...27 Ahsay Systems Corporation Limited Page 1 of 27 (September 1, 2009)

1 Overview Ahsay Offsite Backup Server (AhsayOBS ) is the central core server that accepts and handles backup data from multiple backup clients simultaneously. Clients Ahsay Online Backup Manager (AhsayOBM ) and Ahsay A-Click Backup (AhsayACB ) cannot backup data if the AhsayOBS server or network is not functioning. To overcome the single point of failure of AhsayOBS, a clustering feature is added to AhsayOBS for the current architecture for version 5.5.3.0. The design will be based on the diagram below. Ahsay Systems Corporation Limited Page 2 of 27 (September 1, 2009)

2 High Availability AhsayOBS AhsayOBS version 5.5.3.0 can be configured as a clustered group of AhsayOBS servers. All AhsayOBS instances are essentially standalone except that they share the user homes via some sort of shared storage. A special distributed locking mechanism is added to control the update of these user homes to eliminate the occurrence that two different processes writing to the same user profile and thus corrupting it. In the event that an AhsayOBS instance fails, AhsayOBM and AhsayACB will automatically fail over the backups in progress to other AhsayOBS instances. The features are summarized as follows:- All AhsayOBS instances should use the same domain name on the Domain Name Server (DNS). Each AhsayOBS is separate. It will have its own copy of the conf, logs and system directories. Each AhsayOBS will be responsible for sending its own reports and emails. When one AhsayOBS instance fails, AhsayOBM and AhsayACB will resume the backup on another AhsayOBS instance automatically based on the DNS record settings. The USER HOME is shared by all AhsayOBS instances and it should map to each OBS instance locally. Shared lock access control for writing to the user home to reduce the occurrence that two process writing to the same user profile. Issues Logs are not consolidated. Cannot see all logs from all running AhsayOBS instances, need to login to each AhsayOBS to see logs for that instance. Need to login to each AhsayOBS to setup and configure. Manual monitoring of running instances. Manual configuration and setup of each instance. Ahsay Systems Corporation Limited Page 3 of 27 (September 1, 2009)

The high availability AhsayOBS version will have the following structure:- Ahsay Systems Corporation Limited Page 4 of 27 (September 1, 2009)

3 Setup This chapter describes how to setup the high availability AhsayOBS (v.5.5.3.0). If you plan to use this AhsayOBS version as a standalone and not within a cluster, please ignore the rest of this document and follow the instructions from the AhsayOBS Administrator s Guide or the AhsayOBS Installation & Upgrade Guide to install or upgrade your AhsayOBS. All documents can be downloaded from our web site using this URL (http://www.ahsay.com/en/download/download_documents.html). AhsayOBS cluster setup is summarized as follows: 1. Setup the first AhsayOBS instance. 2. Setup additional AhsayOBS instances to form the cluster. This step can be repeated for as many AhsayOBS instances for the cluster as required. Please note that adding too many instances can degrade performance. 3. Create/Update DNS record on the DNS server. This step allows AhsayOBM and AhsayRPS to resolve multiple IP Addresses of AhsayOBS that they could use to do backup. For testing purposes you can setup the cluster on the same machine. For production use, please consider setting up each AhsayOBS instance on its own machine. 3.1 Setup the AhsayOBS Cluster on the Same Machine Assume that the following table is the IP address and port numbers that we ll configure for the AhsayOBS cluster on the same machine. Server Address used on AhsayOBM /AhsayACB Machine Servers Ports Used Server Address = cluster.yourdomain.com IP Address= 192.168.1.10 192.168.1.20 1 st AhsayOBS Instance IP Address = 192.168.1.10 DNS A Record = obs.yourdomain.com 80, 443 & 8014 (AhsayOBS ) 10002 & 10003 (autodiscovery) 2 nd AhsayOBS Instance IP Address = 192.168.1.20 DNS A Record = obs.yourdomain.com 80, 443 & 8015 (AhsayOBS ) 10004 & 10005 (autodiscovery) Setup the first AhsayOBS Instance The installation and setup procedures are as follows: 1. If you have an existing version of AhsayOBS running, stop AhsayOBS and rename the OBS_HOME to OBS_HOME.BAK. E.g. Rename C:\Program Files\AhsayOBS and AhsayRPS to C:\Program Files\AhsayOBS and AhsayRPS.bak. 2. Install AhsayOBS version 5.5.3.0. For further details on how to do this, please refer to the AhsayOBS Installation and Upgrade Guide. 3. Stop AhsayOBS service if it s running. Please refer to the AhsayOBS Administrator s Guide for details. Ahsay Systems Corporation Limited Page 5 of 27 (September 1, 2009)

4. Copy your customized branding content to the AhsayOBS version 5.5.3.0 folder. a. OBS_HOME.BAK\conf\acb-config.xml -> OBS_HOME\conf\acb-config.xml b. OBS_HOME.BAK\conf\keystore -> OBS_HOME\conf\keystore c. OBS_HOME.BAK\conf\lfsConfig.xml -> OBS_HOME\conf\lfsConfig.xml d. OBS_HOME.BAK\conf\license.xml -> OBS_HOME\conf\license.xml e. OBS_HOME.BAK\conf\obs.xml -> OBS_HOME\conf\obs.xml f. OBS_HOME.BAK\conf\rpsSend.xml -> OBS_HOME\conf\rpsSend.xml g. OBS_HOME.BAK\conf\sysUser.xml -> OBS_HOME\conf\sysUser.xml h. OBS_HOME.BAK\conf\tomcat-users.xml -> OBS_HOME\conf\tomcat-users.xml i. OBS_HOME.BAK \webapps\root\*.* -> OBS_HOME\webapps\ROOT\*.* j. OBS_HOME.BAK \webapps\obs\doc\*.* -> OBS_HOME\webapps\obs\doc\*.* k. OBS_HOME.BAK \webapps\obs\download\*.* -> OBS_HOME\webapps\obs\download\*.* l. OBS_HOME.BAK \webapps\obs\jsp\*.* -> OBS_HOME\webapps\obs\jsp\*.* m. Regenerate your customized properties using the latest Properties.xls file and copy to OBS_HOME\webapps\obs\WEB-INF\classes 5. Edit startup scripts (startup.bat/startup.sh) a. Open the startup.bat or startup.sh file under OBS_HOME/bin using a text editor. b. Under CATALINA_OPTS, change the Xmx option to a larger value. For 32bit java, the maximum -Xmx setting is between 1.3-1.6G. This limitation is removed for 64bit java. If you plan to support a lot of simultaneous users (greater than 1000) on your system, please consider using the 64bit java on 64bit hardware and increase this value appropriately. Assume around 1MB per user plus a 50% total buffer. Please note, if you receive any Out of Memory errors for Java, you need to increase this setting. c. Under CATALINA_OPTS, add a new option -Dcluster.server=true. d. Under CATALINA_OPTS, add a new option -Dcluster.server.name=ObsA. @echo off SET JAVA_HOME=..\java SET CATALINA_HOME=..\tomcat SET CATALINA_BASE=.. SET CATALINA_OPTS=-server -Xrs -Xms128m Xmx1024m -Dsun.net.inetaddr.ttl=10800 - Dnetworkaddress.cache.ttl=10800 -Dsun.net.inetaddr.negative.ttl=0 - Dnetworkaddress.cache.negative.ttl=0 -Djava.net.preferIPv4Stack=true - Djava.library.path=%CATALINA_HOME%\lib -Dcluster.server=true -Dcluster.server.name=ObsA SET PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%PATH% "%CATALINA_HOME%\bin\catalina" run %1 %2 %3 %4 %5 %6 %7 %8 %9 6. Edit server.xml a. Open the server.xml file under OBS_HOME/conf using a text editor. b. Under the Connector tag for HTTP and HTTPS, make sure that the ports is set properly and that the maxthreads value is greater than the number of simultaneous users you intend to support. Please make sure that the memory requirement of the -Xmx setting above is also sufficiently set to handle this load. Ahsay Systems Corporation Limited Page 6 of 27 (September 1, 2009)

c. Under Engine tag, change the jvmroute to your server name. <?xml version="1.0" encoding="iso-8859-1"?> <Server port="8014" shutdown="shutdown"> <Service name="tomcat-standalone"> <!-- Define a non-ssl HTTP/1.1 Connector on port 8080 --> <Connector address="192.168.1.10" port="80" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="443" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8"/> <!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <Connector address="192.168.1.10" port="443" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="80" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8" scheme="https" secure="true" keystorefile="conf/keystore" keystorepass="changeit" clientauth="false" SSLEnabled="true" sslprotocol="tls"/> <Engine name="standalone" defaulthost="localhost" jvmroute="obsa"> <Host name="localhost" appbase="webapps" unpackwars="true" autodeploy="false" livedeploy="false"> <Valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" prefix="access_log." suffix=".log" pattern="common"/> </Host> </Engine> </Service> </Server> 7. Edit autodiscovery.xml a. Open the autodiscovery.xml file under OBS_HOME/conf using a text editor. b. Under the AutoDiscovery tag, change server-port to 10002 and client-port to 10003. <Root><AutoDiscovery server-port="10002" client-port="10003" /></Root> 8. Edit ehcache.xml a. Open the ehcache.xml file under OBS_HOME/conf b. Under diskstore tag, change the path to a local folder path, e.g. OBS_HOME\conf\cache c. Under the cachemanagerpeerproviderfactory tag, change the multicategroupaddress to the IP address of the current OBS instance. The port number must be the same for all instances. <ehcache xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="ehcache.xsd"> <diskstore path="c:\program Files\BackupServer\conf\cache"/> <cachemanagereventlistenerfactory class="" properties=""/> <cachemanagerpeerproviderfactory class="net.sf.ehcache.distribution.rmicachemanagerpeerproviderfactory" properties="peerdiscovery=automatic, multicastgroupaddress=192.168.1.10, multicastgroupport=5555, timetolive=3"/> <cachemanagerpeerlistenerfactory class="net.sf.ehcache.distribution.rmicachemanagerpeerlistenerfactory"/> <defaultcache maxelementsinmemory="10000" eternal="false" timetoidleseconds="120" timetoliveseconds="120" overflowtodisk="false" maxelementsondisk="0" diskpersistent="false" diskexpirythreadintervalseconds="120" memorystoreevictionpolicy="lru" Ahsay Systems Corporation Limited Page 7 of 27 (September 1, 2009)

/> <cache name="distributedcache" maxelementsinmemory="50000" eternal="false" timetoidleseconds="0" timetoliveseconds="0" overflowtodisk="false"> <cacheeventlistenerfactory class="net.sf.ehcache.distribution.rmicachereplicatorfactory" properties="replicateasynchronously=false, replicateputs=true, replicateupdates=true, replicateupdatesviacopy=true, replicateremovals=true"/> <bootstrapcacheloaderfactory class="net.sf.ehcache.distribution.rmibootstrapcacheloaderfactory"/> </cache> </ehcache> 9. Start AhsayOBS service. Please refer to the AhsayOBS Administrator s Guide for details. 10. Logon to AhsayOBS as Administrator using a web browser. 11. In Server Configuration page, change the User Homes to a directory accessible by all AhsayOBS instances. 12. Test that the AhsayOBS server is running correctly. Use AhsayOBM /AhsayACB client to test backup and restore operations. Setup Additional AhsayOBS Instances to form the Cluster The setup procedures are as follows: 1. Stop all AhsayOBS instances if it s running. Please refer to the AhsayOBS Administrator s Guide for details. 2. Copy the whole OBS_HOME directory to another directory (OBS_HOME2) on the same machine. 3. Edit server.xml a. Open the server.xml file under OBS_HOME2/conf using a text editor. b. Under the Connector tag for HTTP and HTTPS, make sure that the ports is set properly and that the maxthreads value is greater than the number of simultaneous users you intend to support. Please make sure that the memory requirement of the -Xmx setting above is also sufficiently set to handle this load. Please ensure that all the port settings are unique and do not conflict with the settings of the 1 st AhsayOBS instance. c. Under Engine tag, change the jvmroute to your server name. <?xml version="1.0" encoding="iso-8859-1"?> <Server port="8015" shutdown="shutdown"> <Service name="tomcat-standalone"> <!-- Define a non-ssl HTTP/1.1 Connector on port 8081 --> <Connector address="192.168.1.20" port="80" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="443" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8"/> <!-- Define a SSL HTTP/1.1 Connector on port 8444 --> <Connector address="192.168.1.20" port="443" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="80" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8" scheme="https" secure="true" keystorefile="conf/keystore" keystorepass="changeit" clientauth="false" SSLEnabled="true" sslprotocol="tls"/> <Engine name="standalone" defaulthost="localhost" jvmroute="obsb"> <Host name="localhost" appbase="webapps" unpackwars="true" autodeploy="false" Ahsay Systems Corporation Limited Page 8 of 27 (September 1, 2009)

livedeploy="false"> <Valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" prefix="access_log." suffix=".log" pattern="common"/> </Host> </Engine> </Service> </Server> 4. Edit autodiscovery.xml a. Open the autodiscovery.xml file under OBS_HOME/conf using a text editor. b. Under the AutoDiscovery tag, change server-port to 10004 and client-port to 10005. <Root><AutoDiscovery server-port="10004" client-port="10005" /></Root> 5. Edit ehcache.xml a. Open the ehcache.xml file under OBS_HOME/conf b. Under diskstore tag, change the path to a local folder path, e.g. OBS_HOME\conf\cache c. Under the cachemanagerpeerproviderfactory tag, change the multicategroupaddress to the IP address of the current OBS instance. The port number must be the same for all instances. <ehcache xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="ehcache.xsd"> <diskstore path="c:\program Files\BackupServer\conf\cache"/> <cachemanagereventlistenerfactory class="" properties=""/> <cachemanagerpeerproviderfactory class="net.sf.ehcache.distribution.rmicachemanagerpeerproviderfactory" properties="peerdiscovery=automatic, multicastgroupaddress=192.168.1.20, multicastgroupport=5555, timetolive=3"/> <cachemanagerpeerlistenerfactory class="net.sf.ehcache.distribution.rmicachemanagerpeerlistenerfactory"/> <defaultcache maxelementsinmemory="10000" eternal="false" timetoidleseconds="120" timetoliveseconds="120" overflowtodisk="false" maxelementsondisk="0" diskpersistent="false" diskexpirythreadintervalseconds="120" memorystoreevictionpolicy="lru" /> <cache name="distributedcache" maxelementsinmemory="50000" eternal="false" timetoidleseconds="0" timetoliveseconds="0" overflowtodisk="false"> <cacheeventlistenerfactory class="net.sf.ehcache.distribution.rmicachereplicatorfactory" properties="replicateasynchronously=false, replicateputs=true, replicateupdates=true, replicateupdatesviacopy=true, replicateremovals=true"/> <bootstrapcacheloaderfactory class="net.sf.ehcache.distribution.rmibootstrapcacheloaderfactory"/> </cache> </ehcache> 6. Start AhsayOBS service. Please refer to the AhsayOBS Administrator s Guide for details. 7. Logon to AhsayOBS as Administrator using a web browser. Ahsay Systems Corporation Limited Page 9 of 27 (September 1, 2009)

8. In Server Configuration page, change the User Homes to a directory accessible by all AhsayOBS instances. 9. Test that the AhsayOBS server is running correctly. Use AhsayOBM /AhsayACB client to test backup and restore operations. Setup the DNS Records AhsayOBM and AhsayACB need to obtain the list of AhsayOBS instances included in the cluster. To achieve that, you need to make the following changes on your DNS server: 1. Create an A Record for the domain name, e.g. obs.yourdomain.com, this A Record must point to the 1 st AhsayOBS Instance, i.e. 192.168.1.10 2. Create another A Record for the domain name used in step 1, in our case, obs.yourdomain.com. This new A Record must point to the 2 nd AhsayOBS Instance, i.e. 192.168.1.20 3. Create a CNAME record for the cluster, e.g. cluster.yourdomain.com. Point this record to the domain name of your AhsayOBS instances, in our case, obs.yourdomain.com 3.2 Setup the AhsayOBS Cluster on Different Machines Assume that the following table is the IP address and port numbers that we ll configure for the AhsayOBS cluster spanning multiple machines. Server Address used on AhsayOBM /AhsayACB Machine Servers Ports Used Server Address = cluster.yourdomain.com IP address = 192.168.1.10 DNS A Record = obs.yourdomain.com IP address = 192.168.1.20 DNS A Record = obs.yourdomain.com 1 st AhsayOBS Instance 80, 443 & 8014 (AhsayOBS ) 8004 (AJP) 10000 & 10001 (autodiscovery) 2 nd AhsayOBS Instance 80, 443 & 8014 (AhsayOBS ) 10002 & 10003 (autodiscovery) Setup the first AhsayOBS Instance The installation and setup procedures are as follows: 1. If you have an existing version of AhsayOBS running, stop AhsayOBS and rename the OBS_HOME to OBS_HOME.BAK. E.g. Rename C:\Program Files\AhsayOBS and AhsayRPS to C:\Program Files\AhsayOBS and AhsayRPS.bak. 2. Install AhsayOBS version 5.5.3.0. For further details on how to do this, please refer to the AhsayOBS Installation and Upgrade Guide. 3. Stop AhsayOBS service if it s running. Please refer to the AhsayOBS Administrator s Guide for details. 4. Copy your customized branding content to the AhsayOBS version 5.5.3.0 folder. a. OBS_HOME.BAK\conf\acb-config.xml -> OBS_HOME\conf\acb-config.xml Ahsay Systems Corporation Limited Page 10 of 27 (September 1, 2009)

b. OBS_HOME.BAK\conf\keystore -> OBS_HOME\conf\keystore c. OBS_HOME.BAK\conf\lfsConfig.xml -> OBS_HOME\conf\lfsConfig.xml d. OBS_HOME.BAK\conf\license.xml -> OBS_HOME\conf\license.xml e. OBS_HOME.BAK\conf\obs.xml -> OBS_HOME\conf\obs.xml f. OBS_HOME.BAK\conf\rpsSend.xml -> OBS_HOME\conf\rpsSend.xml g. OBS_HOME.BAK\conf\sysUser.xml -> OBS_HOME\conf\sysUser.xml h. OBS_HOME.BAK\conf\tomcat-users.xml -> OBS_HOME\conf\tomcat-users.xml i. OBS_HOME.BAK \webapps\root\*.* -> OBS_HOME\webapps\ROOT\*.* j. OBS_HOME.BAK \webapps\obs\doc\*.* -> OBS_HOME\webapps\obs\doc\*.* k. OBS_HOME.BAK \webapps\obs\download\*.* -> OBS_HOME\webapps\obs\download\*.* l. OBS_HOME.BAK \webapps\obs\jsp\*.* -> OBS_HOME\webapps\obs\jsp\*.* m. Regenerate your customized properties using the latest Properties.xls file and copy to OBS_HOME\webapps\obs\WEB-INF\classes 5. Edit startup scripts (startup.bat/startup.sh) a. Open the startup.bat or startup.sh file under OBS_HOME/bin using a text editor. b. Under CATALINA_OPTS, change the Xmx option to a larger value. For 32bit java, the maximum -Xmx setting is between 1.3-1.6G. This limitation is removed for 64bit java. If you plan to support a lot of simultaneous users (greater than 1000) on your system, please consider using the 64bit java on 64bit hardware and increase this value appropriately. Assume around 1MB per user plus a 50% total buffer. Please note, if you receive any Out of Memory errors for Java, you need to increase this setting. c. Under CATALINA_OPTS, add a new option -Dcluster.server=true. d. Under CATALINA_OPTS, add a new option -Dcluster.server.name=ObsA. @echo off SET JAVA_HOME=..\java SET CATALINA_HOME=..\tomcat SET CATALINA_BASE=.. SET CATALINA_OPTS=-server -Xrs -Xms128m Xmx1024m -Dsun.net.inetaddr.ttl=10800 - Dnetworkaddress.cache.ttl=10800 -Dsun.net.inetaddr.negative.ttl=0 - Dnetworkaddress.cache.negative.ttl=0 -Djava.net.preferIPv4Stack=true - Djava.library.path=%CATALINA_HOME%\lib -Dcluster.server=true -Dcluster.server.name=ObsA SET PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%PATH% "%CATALINA_HOME%\bin\catalina" run %1 %2 %3 %4 %5 %6 %7 %8 %9 6. Edit server.xml a. Open the server.xml file under OBS_HOME/conf using a text editor. b. Under the Connector tag for HTTP and HTTPS, make sure that the address is set properly and that the maxthreads value is greater than the number of simultaneous users you intend to support. Please make sure that the memory requirement of the -Xmx setting above is also sufficiently set to handle this load. c. Under Engine tag, change the jvmroute to your server name. <?xml version="1.0" encoding="iso-8859-1"?> <Server port="8014" shutdown="shutdown"> Ahsay Systems Corporation Limited Page 11 of 27 (September 1, 2009)

<Service name="tomcat-standalone"> <!-- Define a non-ssl HTTP/1.1 Connector on port 80 --> <Connector address="192.168.1.10" port="80" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="443" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8"/> <!-- Define a SSL HTTP/1.1 Connector on port 443 --> <Connector address="192.168.1.10" port="443" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="80" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8" scheme="https" secure="true" keystorefile="conf/keystore" keystorepass="changeit" clientauth="false" SSLEnabled="true" sslprotocol="tls"/> <Engine name="standalone" defaulthost="localhost" jvmroute="obsa"> <Host name="localhost" appbase="webapps" unpackwars="true" autodeploy="false" livedeploy="false"> <Valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" prefix="access_log." suffix=".log" pattern="common"/> </Host> </Engine> </Service> </Server> 7. Edit ehcache.xml a. Open the ehcache.xml file under OBS_HOME/conf b. Under diskstore tag, change the path to a local folder path, e.g. OBS_HOME\conf\cache c. Under the cachemanagerpeerproviderfactory tag, change the multicategroupaddress to the IP address of the current OBS instance. The port number must be the same for all instances. <ehcache xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="ehcache.xsd"> <diskstore path="c:\program Files\BackupServer\conf\cache"/> <cachemanagereventlistenerfactory class="" properties=""/> <cachemanagerpeerproviderfactory class="net.sf.ehcache.distribution.rmicachemanagerpeerproviderfactory" properties="peerdiscovery=automatic, multicastgroupaddress=192.168.1.10, multicastgroupport=5555, timetolive=3"/> <cachemanagerpeerlistenerfactory class="net.sf.ehcache.distribution.rmicachemanagerpeerlistenerfactory"/> <defaultcache maxelementsinmemory="10000" eternal="false" timetoidleseconds="120" timetoliveseconds="120" overflowtodisk="false" maxelementsondisk="0" diskpersistent="false" diskexpirythreadintervalseconds="120" memorystoreevictionpolicy="lru" /> <cache name="distributedcache" maxelementsinmemory="50000" eternal="false" timetoidleseconds="0" timetoliveseconds="0" overflowtodisk="false"> <cacheeventlistenerfactory class="net.sf.ehcache.distribution.rmicachereplicatorfactory" properties="replicateasynchronously=false, replicateputs=true, replicateupdates=true, replicateupdatesviacopy=true, replicateremovals=true"/> Ahsay Systems Corporation Limited Page 12 of 27 (September 1, 2009)

<bootstrapcacheloaderfactory class="net.sf.ehcache.distribution.rmibootstrapcacheloaderfactory"/> </cache> </ehcache> 8. Start AhsayOBS service. Please refer to the AhsayOBS Administrator s Guide for details. 9. Logon to AhsayOBS as Administrator using a web browser. 10. In Server Configuration page, change the User Homes to a directory accessible by all AhsayOBS instances. 11. Test that the AhsayOBS server is running correctly. Use AhsayOBM /AhsayACB client to test backup and restore operations. Setup Additional AhsayOBS Instances to form the Cluster The installation and setup procedures are as follows: 1. If you have an existing version of AhsayOBS running, stop AhsayOBS and rename the OBS_HOME to OBS_HOME.BAK. E.g. Rename C:\Program Files\AhsayOBS and AhsayRPS to C:\Program Files\AhsayOBS and AhsayRPS.bak. 2. Install AhsayOBS version 5.5.3.0. For further details on how to do this, please refer to the AhsayOBS Installation and Upgrade Guide. 3. Stop AhsayOBS service if it s running. Please refer to the AhsayOBS Administrator s Guide for details. 4. Copy your customized branding content to the AhsayOBS version 5.5.3.0 folder. a. OBS_HOME.BAK\conf\acb-config.xml -> OBS_HOME\conf\acb-config.xml b. OBS_HOME.BAK\conf\keystore -> OBS_HOME\conf\keystore c. OBS_HOME.BAK\conf\lfsConfig.xml -> OBS_HOME\conf\lfsConfig.xml d. OBS_HOME.BAK\conf\license.xml -> OBS_HOME\conf\license.xml e. OBS_HOME.BAK\conf\obs.xml -> OBS_HOME\conf\obs.xml f. OBS_HOME.BAK\conf\rpsSend.xml -> OBS_HOME\conf\rpsSend.xml g. OBS_HOME.BAK\conf\sysUser.xml -> OBS_HOME\conf\sysUser.xml h. OBS_HOME.BAK\conf\tomcat-users.xml -> OBS_HOME\conf\tomcat-users.xml i. OBS_HOME.BAK \webapps\root\*.* -> OBS_HOME\webapps\ROOT\*.* j. OBS_HOME.BAK \webapps\obs\doc\*.* -> OBS_HOME\webapps\obs\doc\*.* k. OBS_HOME.BAK \webapps\obs\download\*.* -> OBS_HOME\webapps\obs\download\*.* l. OBS_HOME.BAK \webapps\obs\jsp\*.* -> OBS_HOME\webapps\obs\jsp\*.* m. Regenerate your customized properties using the latest Properties.xls file and copy to OBS_HOME\webapps\obs\WEB-INF\classes 5. Edit startup scripts (startup.bat/startup.sh) a. Open the startup.bat or startup.sh file under OBS_HOME/bin using a text editor. b. Under CATALINA_OPTS, change the Xmx option to a larger value. Ahsay Systems Corporation Limited Page 13 of 27 (September 1, 2009)

For 32bit java, the maximum -Xmx setting is between 1.3-1.6G. This limitation is removed for 64bit java. If you plan to support a lot of simultaneous users (greater than 1000) on your system, please consider using the 64bit java on 64bit hardware and increase this value appropriately. Assume around 1MB per user plus a 50% total buffer. Please note, if you receive any Out of Memory errors for Java, you need to increase this setting. c. Under CATALINA_OPTS, add a new option -Dcluster.server=true. d. Under CATALINA_OPTS, add a new option -Dcluster.server.name=ObsB. @echo off SET JAVA_HOME=..\java SET CATALINA_HOME=..\tomcat SET CATALINA_BASE=.. SET CATALINA_OPTS=-server -Xrs -Xms128m Xmx1024m -Dsun.net.inetaddr.ttl=10800 - Dnetworkaddress.cache.ttl=10800 -Dsun.net.inetaddr.negative.ttl=0 - Dnetworkaddress.cache.negative.ttl=0 -Djava.net.preferIPv4Stack=true - Djava.library.path=%CATALINA_HOME%\lib -Dcluster.server=true -Dcluster.server.name=ObsB SET PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%PATH% "%CATALINA_HOME%\bin\catalina" run %1 %2 %3 %4 %5 %6 %7 %8 %9 6. Edit server.xml a. Edit server.xml b. Open the server.xml file under OBS_HOME/conf using a text editor. c. Under the Connector tag for HTTP and HTTPS, make sure that the address is set properly and that the maxthreads value is greater than the number of simultaneous users you intend to support. Please make sure that the memory requirement of the -Xmx setting above is also sufficiently set to handle this load. d. Under Engine tag, change the jvmroute to your server name. <?xml version="1.0" encoding="iso-8859-1"?> <Server port="8014" shutdown="shutdown"> <Service name="tomcat-standalone"> <!-- Define a non-ssl HTTP/1.1 Connector on port 80 --> <Connector address="192.168.1.20" port="80" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="443" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8"/> <!-- Define a SSL HTTP/1.1 Connector on port 443 --> <Connector address="192.168.1.20" port="443" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="80" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8" scheme="https" secure="true" keystorefile="conf/keystore" keystorepass="changeit" clientauth="false" SSLEnabled="true" sslprotocol="tls"/> <Engine name="standalone" defaulthost="localhost" jvmroute="obsb"> <Host name="localhost" appbase="webapps" unpackwars="true" autodeploy="false" livedeploy="false"> <Valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" prefix="access_log." suffix=".log" pattern="common"/> </Host> </Engine> </Service> </Server> 7. Edit ehcache.xml a. Open the ehcache.xml file under OBS_HOME/conf b. Under diskstore tag, change the path to a local folder path, e.g. OBS_HOME\conf\cache Ahsay Systems Corporation Limited Page 14 of 27 (September 1, 2009)

c. Under the cachemanagerpeerproviderfactory tag, change the multicategroupaddress to the IP address of the current OBS instance. The port number must be the same for all instances. <ehcache xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="ehcache.xsd"> <diskstore path="c:\program Files\BackupServer\conf\cache"/> <cachemanagereventlistenerfactory class="" properties=""/> <cachemanagerpeerproviderfactory class="net.sf.ehcache.distribution.rmicachemanagerpeerproviderfactory" properties="peerdiscovery=automatic, multicastgroupaddress=192.168.1.20, multicastgroupport=5555, timetolive=3"/> <cachemanagerpeerlistenerfactory class="net.sf.ehcache.distribution.rmicachemanagerpeerlistenerfactory"/> <defaultcache maxelementsinmemory="10000" eternal="false" timetoidleseconds="120" timetoliveseconds="120" overflowtodisk="false" maxelementsondisk="0" diskpersistent="false" diskexpirythreadintervalseconds="120" memorystoreevictionpolicy="lru" /> <cache name="distributedcache" maxelementsinmemory="50000" eternal="false" timetoidleseconds="0" timetoliveseconds="0" overflowtodisk="false"> <cacheeventlistenerfactory class="net.sf.ehcache.distribution.rmicachereplicatorfactory" properties="replicateasynchronously=false, replicateputs=true, replicateupdates=true, replicateupdatesviacopy=true, replicateremovals=true"/> <bootstrapcacheloaderfactory class="net.sf.ehcache.distribution.rmibootstrapcacheloaderfactory"/> </cache> </ehcache> 8. Start AhsayOBS service. Please refer to the AhsayOBS Administrator s Guide for details. 9. Logon to AhsayOBS as Administrator using a web browser. 10. In Server Configuration page, change the User Homes to a directory accessible by all AhsayOBS instances. 11. Test that the AhsayOBS server is running correctly. Use AhsayOBM /AhsayACB client to test backup and restore operations. Setup the DNS Records AhsayOBM and AhsayACB need to obtain the list of AhsayOBS instances included in the cluster. To achieve that, you need to make the following changes on your DNS server: 1. Create an A Record for the domain name, e.g. obs.yourdomain.com, this A Record must point to the 1 st AhsayOBS Instance, i.e. 192.168.1.10 2. Create another A Record for the domain name used in step 1, in our case, obs.yourdomain.com. This new A Record must point to the 2 nd AhsayOBS Instance, i.e. 192.168.1.20 3. Create a CNAME record for the cluster, e.g. cluster.yourdomain.com. Point this record to the domain name of your AhsayOBS instances, in our case, obs.yourdomain.com Ahsay Systems Corporation Limited Page 15 of 27 (September 1, 2009)

4 Testing Test AhsayOBS Cluster To test the AhsayOBS cluster, we will connect to the AhsayOBS instances by using their IP Address. Open a web browser and enter http://serveripaddress. If everything was setup correctly, you should see the standard Administrator Login page. Login using your admin name and password and go to the Software License page. Under the Product Version field you should see something like 5.5.3.0 (Server : ObsA), which is the product version number and the name of the AhsayOBS instance that you re connected to. Use the domain name stored in the CNAME Record as the host name for AhsayOBM or AhsayACB client. Whichever AhsayOBS instance the client connects to will be determined randomly. Just test the AhsayOBS cluster using the AhsayOBM /AhsayACB as you would normally. Testing should include the following: Check that AhsayOBM and AhsayACB can backup and restore. Check web restore applet. Check whether your branding is correct. Check that the email reports for admin and user are correct. Check AhsayOBS logs by logging in to each AhsayOBS individually. Ahsay Systems Corporation Limited Page 16 of 27 (September 1, 2009)

5 Server Tuning Recommendations The performance of AhsayOBS largely depends on the computer hardware and operating system installed. Installing AhsayOBS on standard server operating systems produces very good performance throughput. If you really want to tune your operating system for better performance, please study the suggestions in this chapter and only make changes if you know what you re doing. Ahsay will not be responsible for any damages caused by following the suggestions listed in this chapter. Server tuning for maximum performance is not an exact science since it s different for every server in different environments. It s impossible to list every possible tweak available. However, in this chapter, we ve listed some tweaks that we think can help in improving your server s performance. The three main areas of bottleneck affecting the performance and scalability of AhsayOBS are memory, hard disks and network bandwidth. Memory Generally, the more memory the server has the less chance that the operating system needs to swap memory to disk. Memory swapping to disk is very resource intensive and degrades performance considerably. Please remove unused operating system services to free up memory and CPU resources. AhsayOBS uses memory for each client connection. How much memory per connection depends very much on the size of the backup sets. In our experience, each client connection on average consumes approximately 1MB of memory. Therefore, please ensure that there is enough physical memory installed in your servers to support the operating system and the number of simultaneous AhsayOBS clients you expect to handle. Hard Disks Your AhsayOBS server s performance is extremely dependent on disk I/O. If possible, use the best hardware available (preferably 15K SCSI disks). Use hardware RAID solutions and avoid using software-based RAID solutions. Consult your hardware provider for advice and best practices for achieving optimum I/O. Generally, the faster the disk I/O means the faster AhsayOBS backups / restores operations and the support of a larger number of simultaneous client connections. Tuning File System settings can sometimes improve the server s performance. Network Bandwidth Maximize your network bandwidth, preferably use Gigabit Ethernet (1000BaseT) NICs and switches. Remember to configure your NICs to operate at maximum speed and duplex levels and hardcode the same speed and duplex settings on the corresponding ports of the network access switch. Do not rely on the auto-detect setting. Generally, the faster the network means that backups and restores are faster. However, plain standard server operating systems are usually tuned for local area network (LAN) access and not for internet access. Tuning the server s default TCP/IP settings usually increases some performance. As with all configuration changes, you need to implement the following suggestions one at a time to determine the performance improvements gained. If system performance decreases after making a change, revert back to the original setting. Ahsay Systems Corporation Limited Page 17 of 27 (September 1, 2009)

5.1 Tuning Windows Server 2003 A standard installation of Windows Server 2003 will yield sound performance in most circumstances. However, in some instances specific settings and parameters can be tuned to optimize server performance. The tuning techniques suggested here aim to extract the best performance possible from your Windows server. Tuning several registry parameters in Windows Server 2003 will increase performance for both 32bit (x86) and 64bit (x64) editions of the operating system. You need to use the windows registry editor (regedit.exe) to add or change these parameters. The Tuning Windows Server 2003 on IBM System x Servers paper by IBM provides an excellent resource in tuning your Windows server. File System Optimization MaxWorkItems MaxWorkItems specifies the maximum number or work items (receive buffers for file requests) that the Server service is permitted to allocate at a time. If this limit is reached, then the transport must initiate flow control, which can significantly reduce performance or even deny new connections to the file server. Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters Name: MaxWorkItems Data Type: REG_DWORD Value Range: 1-65535 Recommended: 32768 MaxMpxCt MaxMpxCt permits a fileserver to provide a suggested maximum number of simultaneous outstanding client requests to itself. During negotiation of the Server Message Block dialect on this initial connection, this value is passed to the client's redirector where the limit on outstanding requests is enforced. A higher value can increase server performance, but requires more use of server work items (MaxWorkItems). It is recommended that the MaxWorkItems setting is at least 4 times the size of the MaxMpxCt setting. Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters Name: MaxMpxCt Data Type: REG_DWORD Value Range: 1-65535 Recommended: 8192 MaxCmds MaxCmds specifies the maximum number of network control blocks that the redirector can reserve. The value of this entry coincides with the number of execution threads that can be outstanding simultaneously. Increase this value to improve network throughput, especially if you are running applications that perform more than 15 operations simultaneously. So, MaxCmds actually serves the same purpose as the MaxMpxCt on the Fileserver. Not surprisingly these two parameters have a special relationship. Whenever a SMB session is set up, the SMB session is negotiated. During this negotiation the Fileserver passes down the value of MaxMpxCt to the client. The client then compares this value to his own MaxCmds value. The lower of the two values is then used to set a maximum on the number of outstanding client requests to the File server. Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters Name: MaxCmds Data Type: REG_DWORD Value Range: 1-65535 Recommended: 4096 Ahsay Systems Corporation Limited Page 18 of 27 (September 1, 2009)

NTFSDisableLastAccessUpdate Each file and folder on an NTFS volume will update an attribute called Last Access whenever the file or folder was last accessed. Maintaining this information creates an overhead for the file system especially where a large number of files and directories are accessed quickly and in a short period of time (such as the backup operation). This behavior can be disabled by setting the value to 1 for this registry key. Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem Name: NTFSDisableLastAccessUpdate Data Type: REG_DWORD Value Range: 0 or 1 Recommended: 1 NTFSDisable8dot3NameCreation By default, NTFS generates a corresponding short file name in the 8.3 DOS file name convention for every long file name. If you do not support DOS or 16 bit application access, this behavior can be disabled by setting the value to 1 for this registry key. Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem Name: NTFSDisable8dot3NameCreation Data Type: REG_DWORD Value Range: 0 or 1 Recommended: 1 TCP/IP Optimization TCP TIME-WAIT Delay By default, TCP will normally allocate a port with a value between 1024 and 5000 for a socket request for any available short-lived (ephemeral) user port. When communications over a given socket have been closed by TCP, it waits for a given time before releasing it for reuse. This is known as the TIME-WAIT delay. The default setting for Windows Server 2003 is two minutes, which is appropriate for most situations. However, AhsayOBS might exhaust all ports available when a large number of users are simultaneously connected to the server. Windows has two registry settings that can be used to control this time-wait delay: TCPTimedWaitDelay adjusts the amount of time that TCP waits before completely releasing a socket connection for re-use. MaxUserPort sets the number of actual ports that are available for connections, by setting the highest port value available for use by TCP. Therefore, reducing TCPTimedWaitDelay and increasing MaxUserPort can increase the throughput for your AhsayOBS system. Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Name: TCPTimedWaitDelay Data Type: REG_DWORD Value Range: 0 300 seconds Recommended: 30 Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Name: MaxUserPort Data Type: REG_DWORD Value Range: 5000 65534 Recommended: 65534 Ahsay Systems Corporation Limited Page 19 of 27 (September 1, 2009)

5.2 Tuning Linux Linux distributions normally ship with very conservatively settings defined to support the largest amount of hardware and network environments. A standard Linux installation yields very good performance in most circumstances. However, you should study the tuning techniques suggested here as they can help you extract the best possible performance from your Linux server. File System Optimization bdflush Some of the default kernel parameters for system performance are geared more towards workstation performance instead of file server/large disk I/O type of operations. The most important of these is the "bdflush" value in /proc/sys/vm/bdflush. In Linux, the bdflush file governs when the bdflush should be activated to clear cache dirty pages. You can change this value by just echoing the new values to the file. This takes effect immediately. However, it needs to be reinitialized at each kernel boot. The simplest way to do this is to put this command into the end of the /etc/rc.d/rc.local file. echo 100 5000 640 2560 150 30000 5000 1884 2 > /proc/sys/vm/bdflush atime For heavy I/O in a file server and Web server environment, you probably want to disable the atime option on the file system. The atime basically stores the information of when is the last time the file has been accessed. Since this information is not very useful to AhsayOBS, and causes extra disk hits, it s typically disabled. To do this, just edit /etc/fstab and add "noatime" as a mount option for the file system. /dev/rd/c0d0p3 /test ext3 noatime 1 2 Rather than changing the whole file system to reflect this change, use the command chattr to tag or mark individual files or directories that do not need to store the access time. chattr -R +A /usr/local/obs/user Open Files For a lot of simultaneous users connected to AhsayOBS, you can receive the too many open files error. To increase the number of open files your system can handle, just edit the /etc/security/limit.conf file and add the following two lines. * soft nofile 65536 * hard nofile 65536 You can also make the change effective for the current session using the ulimit command. ulimit n 65536 Ahsay Systems Corporation Limited Page 20 of 27 (September 1, 2009)

TCP/IP Optimization Most Linux distributions ship with buffers and other Transmission Control Protocol (TCP) parameters very conservatively defined. You should change these parameters to allocate more memory to enhance network performance. Kernel parameters are set through the proc interface by reading and writing to values in /proc. Fortunately, the sysctl program manages these in a somewhat easier fashion by reading values from the /etc/sysctl.conf file and populating /proc as necessary. Consider adding the following lines to the /etc/sysctl.conf file. These settings become effective at next boot or you can run sysctl p to apply the settings straight away. Enable TCP Window Scaling Enabling TCP window scaling allows clients to download data at a higher rate. TCP allows for multiple packets to be sent without an acknowledgment from the remote side, up to 64 kilobytes (KB) by default, which can be filled when talking to higher latency peers. Window scaling enables some extra bits to be used in the header to increase this window size. Increase TCP Max Buffer Size and Linux Autotuning TCP Buffer Limits These settings increase the TCP send and receive buffers. This allows the application to get rid of its data faster so it can serve another request, and it also improves the remote client's ability to send data when the server gets busier. Increase Number of Ports Available The final configuration item increases the number of local ports available for use, which increases the maximum number of connections that can be served at a time. # Enable TCP window scaling net.ipv4.tcp_window_scaling = 1 # Increase TCP max buffer size net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 # Increase Linux autotuning TCP buffer limits net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 # Increase number of ports available net.ipv4.ip_local_port_range = 1024 65000 Ahsay Systems Corporation Limited Page 21 of 27 (September 1, 2009)

6 References Linux Performance and Tuning Guidelines, IBM Redbooks (http://publib-b.boulder.ibm.com/redbooks.nsf/redpieceabstracts/redp4285.html?open) Tuning Windows Server 2003 on IBM System x Servers, IBM Redbooks Paper (http://www.redbooks.ibm.com/abstracts/redp3943.html?open) TCP/IP Tutorial and Technical Overview, IBM Redbooks (http://www.redbooks.ibm.com/abstracts/gg243376.html?open) TCP Tuning Guide, Lawrence Berkeley National Laboratory (http://www-didc.lbl.gov/tcp-tuning/windows.html) Apache HTTP Server Documentation, The Apache Software Foundation (http://httpd.apache.org/docs/2.2/) Apache Tomcat 6.0 Documentation, The Apache Software Foundation (http://tomcat.apache.org/tomcat-6.0-doc/index.html) Performance Tuning Guidelines for Windows Server 2003, Microsoft (http://www.microsoft.com/windowsserver2003/evaluation/performance/tuning.mspx) Windows 2000 Performance Tuning, Microsoft (http://download.microsoft.com/download/4/9/8/4982388d-3d62-45a6-9539- 60c67bdc350d/perftune.doc) Tuning Windows for Maximum Performance, E-articles.info (http://www.e-articles.info/e/a/title/tuning-windows-for-maximum-performance) TCP/IP Configuration Parameters, Microsoft Technet (http://technet2.microsoft.com/windowsserver/en/library/db56b4d4-a351-40d5-b6b1-998e9f6f41c91033.mspx?mfr=true) Ahsay Systems Corporation Limited Page 22 of 27 (September 1, 2009)

7 Appendixes 7.1 Sample ehcache.xml file for all AhsayOBS instances This is a sample of the ehcache.xml file. Ehcache is a distributed cache that is used as the basis of our distributed locking mechanism. This file should be the same for all AhsayOBS instances. You need to change diskstore Path, multicastgroupaddress and multicastgroupport to fit your environment. The multicast IP address must be the IP address of the current OBS instance. The port number must be the same for all instances. <ehcache xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="ehcache.xsd"> <diskstore path="c:\program Files\BackupServer\conf\cache"/> <cachemanagereventlistenerfactory class="" properties=""/> <cachemanagerpeerproviderfactory class="net.sf.ehcache.distribution.rmicachemanagerpeerproviderfactory" properties="peerdiscovery=automatic, multicastgroupaddress=192.160.1.200, multicastgroupport=5555, timetolive=3"/> <cachemanagerpeerlistenerfactory class="net.sf.ehcache.distribution.rmicachemanagerpeerlistenerfactory"/> <defaultcache maxelementsinmemory="10000" eternal="false" timetoidleseconds="120" timetoliveseconds="120" overflowtodisk="false" maxelementsondisk="0" diskpersistent="false" diskexpirythreadintervalseconds="120" memorystoreevictionpolicy="lru" /> <cache name="distributedcache" maxelementsinmemory="50000" eternal="false" timetoidleseconds="0" timetoliveseconds="0" overflowtodisk="false"> <cacheeventlistenerfactory class="net.sf.ehcache.distribution.rmicachereplicatorfactory" properties="replicateasynchronously=false, replicateputs=true, replicateupdates=true, replicateupdatesviacopy=true, replicateremovals=true"/> <bootstrapcacheloaderfactory class="net.sf.ehcache.distribution.rmibootstrapcacheloaderfactory"/> </cache> </ehcache> Ahsay Systems Corporation Limited Page 23 of 27 (September 1, 2009)

7.2 Sample configuration for AhsayOBS Cluster on the same machine This is a sample of the AhsayOBS cluster configuration on the same machine. All the settings that you need to configure to fit your environment are highlighted in red. Please make sure that the jvmroute names of the different AhsayOBS cluster instances are unique and ensure that the port numbers do not conflict. Assume the following setting: Server Address used on AhsayOBM /AhsayACB Machine Servers Ports Used Server Address = cluster.yourdomain.com IP Address= 192.168.1.10/ 192.168.1.20 1 st AhsayOBS Instance IP Address = 192.168.1.10 (obs.yourdomain.com) 80, 443 & 8014 (AhsayOBS ) 10002 & 10003 (autodiscovery) 2 nd AhsayOBS Instance IP Address = 192.168.1.20 (obs.yourdomain.com) 80, 443 & 8015 (AhsayOBS ) 10004 & 10005 (autodiscovery) server.xml of 1 st AhsayOBS Instance <?xml version="1.0" encoding="iso-8859-1"?> <Server port="8014" shutdown="shutdown"> <Service name="tomcat-standalone"> <Connector address="192.168.1.10" port="80" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="443" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8"/> <Connector address="192.168.1.10" port="443" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="80" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8" scheme="https" secure="true" keystorefile="conf/keystore" keystorepass="changeit" clientauth="false" SSLEnabled="true" sslprotocol="tls"/> <Engine name="standalone" defaulthost="localhost" jvmroute="obsa"> <Host name="localhost" appbase="webapps" unpackwars="true"autodeploy="false" livedeploy="false"> <Valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" prefix="access_log." suffix=".log" pattern="common"/> </Host> </Engine> </Service> </Server> autodiscovery.xml of 1 st AhsayOBS Instance <Root><AutoDiscovery server-port="10002" client-port="10003" /></Root> Ahsay Systems Corporation Limited Page 24 of 27 (September 1, 2009)

server.xml of 2 nd AhsayOBS Instance <?xml version="1.0" encoding="iso-8859-1"?> <Server port="8015" shutdown="shutdown"> <Service name="tomcat-standalone"> <Connector address="192.168.1.20" port="80" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="443" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8"/> <Connector address="192.168.1.20" port="443" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="80" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8" scheme="https" secure="true" keystorefile="conf/keystore" keystorepass="changeit" clientauth="false" SSLEnabled="true" sslprotocol="tls"/> <Engine name="standalone" defaulthost="localhost" jvmroute="obsb"> <Host name="localhost" appbase="webapps" unpackwars="true" autodeploy="false" livedeploy="false"> <Valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" prefix="access_log." suffix=".log" pattern="common"/> </Host> </Engine> </Service> </Server> autodiscovery.xml of 2 nd AhsayOBS Instance <Root><AutoDiscovery server-port="10004" client-port="10005" /></Root> Ahsay Systems Corporation Limited Page 25 of 27 (September 1, 2009)

7.3 Sample configuration for AhsayOBS Cluster on different machines This is a sample of the AhsayOBS cluster configuration on different machines. All the settings that you need to configure to fit your environment are highlighted in red. Please make sure that the address is a valid IP address of the machine and the jvmroute names of the different AhsayOBS cluster instances are unique. Assume the following setting: Server Address used on AhsayOBM /AhsayACB Machine Servers Ports Used Server Address = cluster.yourdomain.com IP address = 192.168.1.10 IP address = 192.168.1.20 1 st AhsayOBS Instance 80, 443 & 8014 (AhsayOBS ) 8004 (AJP) 10000 & 10001 (autodiscovery) 2 nd AhsayOBS Instance 80, 443 & 8014 (AhsayOBS ) 10002 & 10003 (autodiscovery) 1 st AhsayOBS Instance <?xml version="1.0" encoding="iso-8859-1"?> <Server port="8014" shutdown="shutdown""> <Service name="tomcat-standalone"> <Connector address="192.168.1.10" port="80" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="443" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8"/> <Connector address="192.168.1.10" port="443" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="80" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8" scheme="https" secure="true" keystorefile="conf/keystore" keystorepass="changeit" clientauth="false" SSLEnabled="true" sslprotocol="tls"/> <Engine name="standalone" defaulthost="localhost" jvmroute="obsa"> <Host name="localhost" appbase="webapps" unpackwars="true" autodeploy="false" livedeploy="false"> <Valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" prefix="access_log." suffix=".log" pattern="common"/> </Host> </Engine> </Service> </Server> Ahsay Systems Corporation Limited Page 26 of 27 (September 1, 2009)

2 nd AhsayOBS Instance <?xml version="1.0" encoding="iso-8859-1"?> <Server port="8014" shutdown="shutdown"> <Service name="tomcat-standalone"> <Connector address="192.168.1.20" port="80" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="443" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8"/> <Connector address="192.168.1.20" port="443" maxhttpheadersize="8192" socketbuffer="8192" maxthreads="3000" minsparethreads="10" maxsparethreads="50" maxkeepaliverequests="100" enablelookups="false" redirectport="80" acceptcount="200" connectiontimeout="60000" disableuploadtimeout="true" URIEncoding="utf-8" scheme="https" secure="true" keystorefile="conf/keystore" keystorepass="changeit" clientauth="false" SSLEnabled="true" sslprotocol="tls"/> <Engine name="standalone" defaulthost="localhost" jvmroute="obsb"> <Host name="localhost" appbase="webapps" unpackwars="true" autodeploy="false" livedeploy="false"> <Valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" prefix="access_log." suffix=".log" pattern="common"/> </Host> </Engine> </Service> </Server> 7.4 Feedback We appreciate all suggestions and feedback on how we can improve this product. Please submit your suggestion or feedback to us using our forum at http://forum.ahsay.com. 7.5 Contact Us If you need any additional information, please submit your question to us using our Helpdesk Ticketing System. Ahsay Systems Corporation Limited Page 27 of 27 (September 1, 2009)