You can change some of the basic configuration of by editing the SGConfiguration.conf file located under the conf/ directory.
If the entries in SGConfiguration.conf file is changed, you should restart .
A sample SGConfiguration.conf file is as follows
- < ID="lewis" IPAddress="">
-
- <Configuration>
-
<Module StartModule="601" ThreadCount="1" KeepAliveEnabled="1" KeepAliveTime="60" EncodeOption="1" ReconnectionEnabled="1" ReconnectionAttemptCount="-1" ReconnectFileUploadAttemptCount="5" FlushSend="1" IdleSocketTimeOutInterval="1800" ClientReconnectTimeOut="120" ServerReconnectTimeOut="180" SGTempLocation=""/>
<Restore KeepAliveEnabled="1" KeepAliveTime="60" ThreadCount="1" RestoreLocation="restoreData" CompressLocation="restoreData" DocumentRootEnabled="0" DocumentRootPath="" />
<BackupDBStorageLocation Option="0" Path=""/>
<DBStorageLocation Path="C:\Program Files\"/>
<Process Priority="32"/> <Debug DebugPrint="0"/>
<DiskUtil ProcessBytesFactor="1" DisableDiskUtil="0" ReadBuffer="10000" WriteBuffer="10000"/>
<Ports Server="32004" GUI="32005" SSLServer="32007" MAPI32Bit="32008" />
<Replication Enabled="1" ThreadCount="-1" KeepAliveEnabled="1" KeepAliveTime="60"/>
<RepPRPDBStorageLocation Option="0" Path=""/>
<BackupMetaData Enabled="0" TimePeriod="0"/>
<ListFile ElementCount="500" FilesPerPRPCheckSleep="20"/>
<MMAPRead Enable="0" MaxFileSize="524288"/>
<MMAPWrite Enable="0" MaxFileSize="524288"/>
<DeleteSchedule Count="5"/>
<Retention ThreadCount="2"/>
<SSL Enabled="0" SSLCertFile="conf/ssl.crt.pem" SSLKeyFile="conf/ssl.key.pem"/>
<SGEmailLogo Enabled="1"/>
<MissedScheduleConfig GraceTime="3600" UpdateNextScheduleTime="1"/>
<SGTimeOutConfig BackupAck="120" Authorization="120" FileAck="120" ResetPrevBackup="30"/>
<Database UseODBC="1" DSName="DB" UserName="storegrid" Password="storegrid" ConnectionPooling="1" DatabaseName="DB" HostName="localhost" SplitDatabase="1" SplitLevel="2" />
<S3Backup Enabled="1" AccessKey="" SecretKey="" BucketName="backup-server-bucket" UseSSL="1" UploadCache="D:\Cache" DownloadCache="" DebugTrace="0" UploadThreadCount="5" MaxFileSize="524288000" StorageClass="1" />
<Migration ThreadCount="5" />
<Cluster ClusterName="cluster@backup.com" NodeLookupNameIP="" Enabled="1" AlgorithmType="1" NodeAllocatin="1" NodeHealthStatusTimeout="600" />
<ServerLookup Enabled="1" SSLEnabled="1" HTTPPort="6060" HTTPSPort="6061" />
<BackupServerMetaData Enabled="1" Path="C:\Program Files\" BackupDBEnabled="1" >
- <Schedule Type="Daily" Day="0" Hour="0" Mins="0" />
</BackupServerMetaData>
<SGTrash Enabled="1" />
<ConsolidatedReport Hours="" Mins="" />
- </Configuration>
- </>
Changes made in 4.2.0
Added 'StorageClass' attribute in the 'S3Backup' tag for storing S3 Storage Class infrastructure where the attribute value set to 1 means STANDARD and the value set into 2 stands for REDUCED_REDUNDANCY S3 Storage class. Currently this attribute will be populated at the time of Replication UI configuration.
Changes made in 4.0
Added 'ConsolidatedReport' tag with an attribute 'Hours' and 'Mins' to configure required time to send Consolidated Customer report. By default the Consolodated Customer report will be sent at 11:57 pm daily/weekly/monthly.
Changes made in 3.2
Added 'SGTrash' tag with an attribute 'Enabled' to enable or disable the trash. When it is enabled, the backedup files removed due to retention cleanup, full-backup cleanup and delete-backup cleanup are moved to the SGTrash ( by default, the SGTrash location is the backup location). When it is disabled, the files are deleted permanently from the system. By default, the SGTrash is enabled.
Changes made in 3.1
Added 'TimeDelay' attribute in 'Module' tag to start process after a delay when the machine is rebooted (if is run as a service) or when the user has logged in (if is run as an application under that user). The value of 'TimeDelay' attribute is in seconds and will wait for that many seconds before starting.
Changes done in Backup/Replication Server
Database tag introduced to configure ODBC datasources for storing 's metadata. This tag is an alternative to the embedded RBDMS engine (SQLite, www.sqlite.org) used by . only supports mysql databases as ODBC datasources initially. This will be expanded to other databases (PostGRESQL, Oracle, MS SQL, etc.) in future.
Cluster tag added for configuring Cluster of Server and Replication Server.
ServerLookup tag added for configuring servers to lookup for the relevant Replication Server in the cluster.
BackupServerMetaData tag introduced to dump backup server database data as sql files for redundant backup.
Restore tag is added with two attributes, "RestoreLocation" & "CompressLocation" where
"RestoreLocation" mentions the Path where server side restore from various web-access roles (Group/Client) are performed.
"CompressLocation" mentions the Path where server side restored zip files are stored.
MySQL sharding related changes under <Database> tag.
- 'SplitDatabase' attribute is to specify enabling/disabling sharding in MySQL database (Sharding is nothing but splitting up of large numer of database entries/rows in to multiple database(s) based on the 'SplitLevel'). It takes value of 0/1. By default, it is 1.
- 'SplitLevel' attribute is to specify the level of sharding to be used in MySQL Server ie., Server/Client/Backup level. It takes value of 0/1/2.
- If SplitLevel=0 (Server level sharding), single MySQL database is used for the whole backup/replication server.
- If SplitLevel=1 (Client level sharding), separate MySQL database for each clients in the backup/replication server.
- If SplitLevel=2 (Backup level sharding), separate MySQL database for each backups in the backup/replication server.
By default, it takes value '2' ie., backup level.
Added number of simultaneous migration thread counts under <Migration> tag.
- 'ThreadCount' is the number of simultaneous backups to be migrated during v2.5.5 migration. By default, it is 5.
ODBC related configurations to connect to MySQL Server under <Database> tag.
- 'UseODBC' attribute to enable/disable external database support. By default it is set to 1. In v2.5, only MySQL is supported as the external database.
- 'DSName' attribute is the system DSN Name to connect to the MySQL Server.
- 'DatabaseName' attribute is database name in the MySQL Server which uses to store its metadata.
- 'UserName' is the MySQL user name which uses to connect MySQL Server.
- 'Password' is the MySQL password which uses to connect MySQL Server.
- 'ConnectionPooling' is to enable/disable pooling of connection to MySQL Server. By default, it is set to 1. It is recommended to be set as 1 for smooth functioning of with ODBC.
Amazon S3 related attributes are added under <S3Backup> tag.
- 'Enabled' attribute to enable/disable storing the backup files to Amazon S3 using the local hard drive as a temporary local cache. It takes the value of 0/1.
- 'AccessKey' attribute is the access key of your AWS (Amazon Web Services) account which uses to upload/download the files from Amazon S3.
- 'SecretKey' attribute is the secret key of your AWS account which uses to upload/download the files from Amazon S3.
- 'BucketName' attribute is the name of the Amazon S3 bucket where the backup data are stored.
- 'UseSSL' attribute is the option to enable/disable SSL tranfer for communication with Amazon. By default, this is set to 1.
- 'UploadCache' attribute is the temporary local location in your hard disk (or) external drive where the backup data are temporarily stored before uploading the files to Amazon S3.
- 'DownloadCache' attribute is not currently used. The upload cache location itself is used as the download cache.
- 'DebugTrace' attribute is to enable/disable debug prints for Amazon S3 upload progress.
- 'UploadThreadCount' attribute is the number of threads should use to progress the backup files in the local cache location to upload to Amazon S3. By default, it is set to 5.
- 'MaxFileSize' is the maximum file size (in bytes) that should not exceed while storing the files in Amazon S3. By default, it is set to 500 MB.
Changes done in Clients
ServerLookup tag added for configuring clients to lookup for the relevant Backup Server in the cluster.
ProcessBytesFactor attribute added in the DiskUtil tag to increase the total number of bytes processed in one-pass in the client.
Changes made in 2.4
Added 'SGTempLocation' attribute to specify the location for creating temporary files. The default value of 'SGTempLocation' attribute is < Home> path.
Added 'MAPI32Bit' attribute in the Ports tag.
Added 'Retention' tag to control the number of simultaneous retention threads to cleanup the old files in the backup server.
Changes made in 2.3.5
ServerReconnectTimeOut changed from 1500 to 180 seconds
ReadBuffer changed from 100000 to 10000
WriteBuffer changed from 100000 to 10000
-
Timeout Settings <SGTimeOutConfig> tag added. It has the following attributes
BackupAck : Timeout period in seconds for which client will wait to receive the backup initialization acknowledgments from the backup server. By default this value is 120 seconds
Authorization: Timeout period in seconds for which client will wait for backup server acknowledgments during the authorization process. The default value is 120 seconds.
FileAck: Timeout period in secs for which client will wait for acknowledgments sent from the backup server after completing backup of a file. The default value is 120 seconds.
ResetPrevBackup: If the previous backup schedule of a particular backup job is in active state in the backup server when the next incremental backup is scheduled, will try to reset the previous backup schedule and continue the current backup schedule. By default, will take 30 secs to reset the previous backup schedule. If it fails, then the current backup schedule will be aborted with the error "Backup in progress".
-
Missed Schedule Configurations <MissedScheduleConfig> tag added. It has the following attribute:
GraceTime: From the 2.3.5, backup server will monitor all the clients’ backup schedule and alert the user if any of the backup job misses the backup schedule. The backup server will report the backup schedule as missed only if the client doesn't connect to the backup server within the Grace Time. By default, the Grace time value is 3600 secs (1 hr).
ID
While installing , you can specify the ID. By default, it takes your machine name as the ID. You can change the ID by editing the attribute " ID=".( ID="<New ID>").
IP Address
By default "IPAddress" tag is "0"and uses the primary IP of the machine in which is installed.
In case of using virtual IP Address, you can change the IP Address in which should run. This can be done by Editing the attribute "IPAddress=". (IPAddress="<New IPAddress>").
Start Module
The mode (i.e. Client-Server,Client,Server,Replication Server) specified during installation can be changed by editing the attribute"<Module StartModule= >". (StartModule="<New Mode>") Various modes are:
- Client = 602
- Server = 601
- Replication Server = 609
Multi-threaded backup scheduling:
From 2.1.1 version, supports multi threaded backups. i.e., if there are more than one backup to be scheduled at the same time, then all these backup schedules can be scheduled simultaneously from multiple threads.
You can control the maximum number of backup schedules that can run at the same time by modify the maximum number of backup threads. Follow the steps below to change this settings:
- Stop the application.
- Open the "[ Home]/conf/SGConfiguration.conf" xml file in a text editor.
- Edit the "<StoreGrid<>gt;<Configuration><Module>" tag "ThreadCount" attribute value to maximum ThreadCount value.
- Save and close the configuration file.
- Restart the application.
ThreadCount
It is related to running multiple backup schedules at the same time. By default will run only one backup schedule at a time. You can edit the attribute "<Module ThreadCount="(ThreadCount="<New ThreadCount>").
For example if the "ThreadCount" is 3, will have the capability to run three backup schedules simultaneously. If you want to run infinite number of backup schedules at the same time, give the ThreadCount as -1.
Priority
tries to use the available system resources to run the backups.
You can configure the Process Priority as required. By default priority is set to normal.(<Process Priority="32">)
- Priority = 64 ; Low
- Priority = 32 ; Normal
- Priority = 128 ; High
Debug Print
It is used to print the debug prints. Set it to 1 if you want to print the debug messages in the console.
Disk Util
This tag configures the interactions with Disk I/O and also helps in listing out disks available for .
The <DisableDiskUtil> attribute helps configuring the OS based Disk Util which lists out the mount points available in the Server. The various values available for DisableDiskUtil attribute are:
-
0 - The Disk Util follows Operating System based APIs to list the mount points
1 - The Disk Util uses the configuration file "<_Home>/conf/diskinfo/<host name>/diskinfo.sdif" to parse the available mount points. This file has to be populated manually.
2 - The Disk Util follows Linux/MAC based command-line tools to list down the available mount points. This value should only be used on Linux/MAC operating systems.
The <ProcessBytesFactor> attribute sets the number of blocks to be processed at the same time for backup in client.
The <ReadBuffer> attribute provide the number of bytes to be cached before processing the backups in client. The <WriteBuffer> specifies the number of bytes to be cached before a Disk I/O operation to be performed per backup file entering the server.
Ports
By default uses 32004 port for backup and TCP Discovery. If you want to change this port edit the attribute "Ports Server=". (Ports Server="<New Port Number>").
Similarly uses 32005 port for UI and you can change this by editing the attribute "Ports GUI=". (Ports GUI="<New GUI port Number>").
The default SSL port on which client will communicate with the backup server is 32007. You can change the SSL port number by editing the attribute SSLServer="<New SSL Port Number>". Please note that SSL is by default disabled. To enable it, set the 'Enabled' attribute in the SSL tag to 1 in this configuration file.
In Windows 64 bit operating systems, uses it's 32 bit executable for backing up Exchange Server 2007 MailBox data. communicates it's 32 bit executable through the MAPI32BIT TCP port. The default MAPI32BIT port value is 32008. In Windows 64 bit OS installed with Exchange Server 2007, you need to enable this MAPI32BIT port to backup the Exchange Server MailBox data backup in the local firewall settings.
Replication
By default Replication feature is enabled "<Replication Enabled=1>"in the server. If the attribute "<Replication Enabled=0>" is changed to zero, the Replication feature will be disabled. After disabling the Replication feature in the SGConfiguration.conf file, Replication does not take place even when replication is enabled either in "Server Admin->Server Settings" or in "Server Admin -> Group Management -> List Of Groups" UI page.
ThreadCount is related to running multiple replication schedules at the same time. By default can run infinite replication schedules(ThreadCount="-1") simultaneously. You can edit the attribute "<Replication ThreadCount="(ThreadCount="<New ThreadCount>") to limit the number of replication schedules can run simultaneously.
For example if the "ThreadCount" is 3, can run three replication schedules simultaneously.
For fresh installation of (since version 2.2.1) Thread count will be 5 in Linux machines and -1 in Windows machines.
ODBC Datasource Configuration
This option enables you to store the client's backup metadata to an ODBC Datasource. This can be configured using the new <Database> tag available in . This tag has the following attributes :
UseODBC: This attribute is used to enable the ODBC storage of metadata
DSName: This attribute specifies the datasource name as configured in the ODBC Data Sources configuration in the system
UserName: This attribute specifies the username for authenticating the ODBC database connection for this datasource.
Password: This attribute specifies the password of the user for authenticating the ODBC database connection for this datasource.
ConnectionPooling: This attribute specifies the configuration to use connection pooling in the ODBC. This configuration should always be enabled as '1' for optimal performance of the Server
DatabaseName: The database name of the datasource is specified in this attribute.
SplitDatabase: This attribute is to specify enabling/disabling sharding in MySQL database (Sharding is nothing but splitting up of large numer of database entries/rows in to multiple database(s) based on the 'SplitLevel'). It takes value of 0/1. By default, it is 1.
SplitLevel: This attribute is to specify the level of sharding to be used in MySQL Server ie., Server/Client/Backup level. It takes value of 0/1/2.
- If SplitLevel=0 (Server level sharding), single MySQL database is used for the whole backup/replication server.
- If SplitLevel=1 (Client level sharding), separate MySQL database for each clients in the backup/replication server.
- If SplitLevel=2 (Backup level sharding), separate MySQL database for each backups in the backup/replication server.
Backup Meta Data
If BackupMetaData is enabled(i.e. Enabled="1") all the metadata of the client will be backed up to the server. By default client will backup the metadata once in a day( < TimePeriod="86400"). You can configure the time interval (days/hours/minutes/seconds) for the metadata backup as required. Note that the interval should be given in seconds.
Backup Server Meta Data
If BackupServerMetaData is enabled(i.e. Enabled="1") all the metadata of the Server will be redundantly dumped in the Server. The <Schedule> tag specifies the schedule at which the metadata is dumped in Server. The <Type> attribute specifies the type of schedule, Daily/Weekly/Monthly. By default the Server metadata dump is enabled and configured for Daily dump. The <Day>, <Hour> & <Mins> attribute specifies the day, hour and minute when the dump should be initiated
In the <BackupServerMetaData> tag, the <BackupDBEnabled> attribute specifies the dump status for the sharded backup databases. These databases are dumped as soon as a backup process completes.
Retention
supports time based retention feature to cleanup the old files in the backup server. In the backup server, you can control the number of simultaneous retention threads to cleanup the old files by setting the "ThreadCount" attribute value. The default ThreadCount attribute value is 2.
List File Element Count
The List file element count value (ElementCount="500") configures the Backup Server to prepare the list file upto a file count of 500 before creating the relevant work files for the same. This groups the list files into separate file groups and lets the backup- database-update thread process a work file of a limited size and file count for each database transaction.
Application Level Keep Alive Time
If you are getting "SG0083: Unable to send backup details to server <Server Name>......" error message in client Backup Report, then you can solve this problem by configuring the application level keep alive time in the 'SGConfiguration.conf' file (instead of changing the registry keep alive time). Please note that this error message will occurs when the connection between client and server is closed prematurely by an external force, while Client is actively sending backup data to the Backup Server. The external forces may be Anti virus software, Intrusion detection software, NAT/Firewall timeout settings, Internet link Error.
You can configure the application level keep alive time in by changing the following attributes value in the '<_HOME>\conf\SGConfiguration.conf' file.
- By default, application level Keep alive will be disabled. If you want to enable application level keep alive to prevent connection closure between Client and Backup Server, then you need to set the 'KeepAliveEnabled' attribute value under the <Module> tag to '1'.
In short manner,
If 'KeepAliveEnabled' = 0, then application level keep alive is disabled.
If 'KeepAliveEnabled' = 1, then it is enabled.
- After enabling the application level keep alive, You need to set 'KeepAliveTime' attribute value under the <Module> tag.
The 'KeepAliveTime' is the time interval at which the will send the keep alive protocol, if no data is transferred to the Backup Server within the interval. The 'KeepAliveTime' value is based on seconds. We suggest you to edit the 'KeepAliveTime' value as less than 180 seconds(ie 3 minutes).
Similarly, if the socket problem occurs for restore/replication, you can configure the keep alive time for restore/replication by changing the 'KeepAliveEnabled' & 'KeepAliveTime' attribute under the respective <Restore> , <Replication> tag in the '<_HOME>\conf\SGConfiguration.conf' file.
Communication over SSL between Client, Backup Server and Replication Server
From v2.3, supports SSL communication between Client, Backup Server and Replication server. SSL provides additional data security on top of data encryption when the data is in transition between one machine to another. By default SSL is disabled. You can enable it my editing the Enabled attribute in the SSL tag as <SSL Enabled="1" SSLCertFile="conf/ssl.crt.pem" SSLKeyFile="conf/ssl.key.pem"/>.
Reestablishing the connectivity after interruption
From v2.3, can reestablish the connection once it has been interrupted due to a network error. The client will try to reestablish the connect by creating another socket connection while maintaining the same session with the backup server. The client will try to reconnect for the time as defined by the 'ClientReconnectTimeOut' attribute in the 'Module' tag, after which the client will abort the connection. The number of times the client should retry to establish the connection is defined by the 'ReconnectionAttemptCount' attribute, default been -1 (no limit). The number of seconds that the Backup Server will wait for the client to reestablish the connection is defined by the 'ServerReconnectTimeOut' attribute, default been 180 seconds. This feature can be disabled by setting the 'ReconnectionEnabled' attribute in the 'Module' tag to 0. By default it is enabled.
Idle session cleanup in the Backup Server
From v2.3, Backup Server can cleanup the client connections if the connections are idle for a certain amount of time. This timeout period is by default 1800 seconds (30 minutes) and is defined by the 'IdleSocketTimeOutInterval' attribute in the 'Module' tag. When the client is not sending any data (like for example, when it is checking the changed bytes of a modified file), it will send the KeepAlive messages (if enabled) to keep the connection active. When an interruption in the connection occurs, the Backup Server will wait for the timeout period to check if it receives any messages, after which it will cleanup the session. Till the time the Backup Server cleans up the session, the backup schedule from the client will show up as 'Active' in the backup server.
Embedding a logo in the Email Reports
From v2.3, the logo that is sent in the Email Reports can be disabled by changing the 'Enabled' attribute in the 'SGEmailLogo' tag to 0. By default it is enabled.
Configuring Server to run in Cluster
From v3.0, you can configure the Server to run in a cluster by enabling Cluster using the 'Enabled' attribute in the 'Cluster' tag to 1. During installation the Cluster configuration option automatically configures this attribute. You have to mention the Cluster Name with attribute 'ClusterName' to enable registering this Server instance to the Server Cluster. The detailed list of the attributes and their purpose are:
ClusterName: This attribute specifies the name of the cluster to register the cluster nodes to.
Enabled: This enables the clustering of the Server deployment
ClusterAlgorithm: The algorithm to be used to assign clients for the specific Server in the cluster. now supports only the Node Locked algorithm, for which the value is 1.
NodeAllocation: This attribute determines whether to hold a specific domain for a particular Server. If the attribute is configured as '0' then, the cluster holds the domain for the particular Server in the cluster. Hence, if the Server goes down and comes back up, the domain remains intact for the server. If the configuration is dynamic, i.e., '1', then the domain allocation is removed when the server goes down.
NodeHealthStatusTimeout: This is the timeout value after which the other Cluster Nodes will reset the health status of the affected Cluster Node as 'Down'. Normally, the Cluster Node will update the Health status with the uptime and general health parameters within this timeout period.
Configuring Client/Backup Server to Lookup Backup/Replication Server in a Backup/Replication Server Cluster
From v3.0, you can configure the Client/Backup Server to lookup a particular Backup/Replication Server instance to connect for Backup/Restore/Replication. Using the new tag named 'ServerLookup', you can enable the lookup for the exact server instance to whom should connect for Backup/Restore/Replication.
The Server returns the DNS Lookup name of the Server, ip address of the Server as well as the port to connect for Backup/Restore/Replication. The Server Lookup is a webservice on the Backup/Replication Server cluster, hence you have to configure whether to use HTTP/HTTPS with the attribute SSLEnabled (0 - HTTP, 1 - HTTPS) and the WebServer's ports to connect for the WebService with the attributes HTTPPort and HTTPSPort.
|