Setting Up ProjectWise Servers in a Clustered Environment
ProjectWise Design Integration Server supports clustering and load balancing features of Windows Server. This section discusses the basic configuration of ProjectWise Design Integration Server in a clustered environment. It is recommended that you consult Bentley Professional Services for assistance with setting this up in production.
Setting Up Your Server Cluster
- Before installing any ProjectWise software, you must first set up your cluster. This involves creating the cluster, and then specifying each server that will be a part of the cluster. See Microsoft documentation for details on this configuration. When ProjectWise clients need to connect to the ProjectWise Design Integration Server, they point to the name of the cluster, which will then decide which ProjectWise Design Integration Server will handle the request.
- Once your basic cluster is configured, the next step is to set up a database to host the ProjectWise database. Follow your normal database setup procedures, noting that the database server must reside outside the cluster. Once the database is set up, on each ProjectWise Design Integration Server computer in the cluster you must create an ODBC datasource that points to the database. All of the ODBC datasources must have the same name.
- Next you need to decide how you will store your files. Your storage area must reside outside the cluster. You can either host the storage area on a ProjectWise Caching Server outside the cluster, or you can provision shared storage outside the cluster such that all servers in the cluster can access it. Examples of shared storage include SAN (Storage Area Network), NAS (Network Attached Storage), or SMB Share. If you use shared storage, the service for ProjectWise Design Integration Server must be running as a user who has rights to the shared storage location, and who has the Log on as a service right on the local server (Control Panel > Administrative Tools > Local Security Policy > Security Settings > Local Policies > User Rights Assignments). Make sure this is set before you create any datasources. If you need to change the user that the service runs under, right-click 'ProjectWise Integration Server' in the Services window and select , specify a different user account, and then restart the service.
- Make sure the following reside outside the cluster:
Configuring a Datasource To Be Used in a Clustered Environment
Once you set up the cluster, the next step is to install ProjectWise Design Integration Server on each server in the cluster. All installation paths and other details must be the same on each server. After installation, you will create a datasource on one server, modify the DMSKRNL.CFG file as described, and then copy the DMSKRNL.CFG file to each ProjectWise Design Integration Server in the cluster.
- Install ProjectWise Design Integration Server on each server in the cluster.
- If you are using shared storage for your storage area, make sure the service for ProjectWise Design Integration Server is running as a user who has access to the shared storage location, and who has the Log on as a service right on the local server (Control Panel > Administrative Tools > Local Security Policy > Security Settings > Local Policies > User Rights Assignments). This change must be made on each server in the cluster. Restart the service for each ProjectWise Design Integration Server after you make your changes.
- On all but one of these servers, stop the service for the ProjectWise Design Integration Server.
- On the server where the
service is still running, install
ProjectWise Administrator and use it to create
When you create your datasource and you get to the Create Administrator and Storage dialog, the storage area node (Host field) defaults to the ProjectWise Design Integration Server computer on which you are working.
- If you are using a
ProjectWise Caching Server outside the
cluster, set the
Host field to the server name on which the
ProjectWise Caching Server is installed,
and in the
Path field specify the storage area’s folder
path on that server.
If you are using shared storage, leave the Host field as is (pointing to the local server), and in the Path field specify the address of the shared storage location. For example: \\sharedstorage\pw_storage
- After you have created your datasource, stop the service for that ProjectWise Design Integration Server.
- Open the DMSKRNL.CFG file of that ProjectWise Design Integration Server.
- Uncomment the
ServerIPAddress properties and set their values to
the cluster’s name and IP address, respectively.
- If you want
ProjectWise to only respond to requests that
come in on the cluster network interface, uncomment the
BindAddress properties under the
[Listener] sections and set their value to the
cluster's IP address. For example:
[Broadcast] ... BindAddress=192.168.1.10 (cluster IP address) ... [Listener] ... BindAddress=192.168.1.10 (cluster IP address)Note: This causes the service for the ProjectWise Design Integration Server to attach to this address on startup. If this address is not assigned to an NIC on the server the service will fail to start. Do not set the BindAddress if you want ProjectWise to respond to requests on more than one adapter / IP address, or if you are configuring ProjectWise with a hardware load balancer.
- Find the
LoginTokenMasterKey2 properties under the
TeamMate section, and delete everything after the
= for each property, so that they now look like
FileAccessTokenMasterKey= ... LoginTokenMasterKey1= LoginTokenMasterKey2=
- Add an entry in the
Server Name Resolution section with the formatting,
"cluster IP address = cluster name".
- Save and close the DMSKRNL.CFG file.
- Restart the service for that ProjectWise Design Integration Server.
- Copy the newly modified DMSKRNL.CFG file to each ProjectWise Design Integration Server in the cluster.
- Start the services for each ProjectWise Design Integration Server in the cluster.
- If using shared storage, log in to ProjectWise Administrator, select the Storage areas datasource node, right-click the storage area that was just created and select Properties. In the Computer name or IP address field, enter the cluster name and click OK.