4.1.2. Prerequisite Operations

Engineering Knowledge Manager

Installation Guide | Chapter 4: EKM Server Prerequisites | 4.1. Prerequisite Instructions |

4.1.1. Machine Prerequisites |  | Chapter 5: Installing an EKM Server
Prev |  | Next

### 4.1.2. Prerequisite Operations

The following prerequisite operations must be fulfilled before you can set up an EKM server using the ANSYS EKM Server product installation.

#### 4.1.2.1. Download the JDBC Driver for the Cluster Database Server

In order for EKM to communicate with the database server hosting the EKM database, a JDBC (Java Database Connectivity) driver for the database server is required. This driver must be downloaded before running product installation. This section provides instructions for downloading JDBC drivers for supported database server types.

JDBC drivers for each database server are available for download from the web site of the database server vendor.

Note: The JDBC drivers used with EKM are known as “TYPE 4” drivers, also referred to as “thin” drivers.

The EKM database server can be either MySQL (default) or Oracle.

Follow the instructions for installing the JDBC driver for the selected EKM database server type.

##### 4.1.2.1.1. MySQL (Default)

The recommended JDBC driver for MySQL database server is MySQL Connector/J[5]. This driver can be downloaded from the following URL:

http://dev.mysql.com/downloads/connector/j/

For production usage of EKM, it is recommended that you download and use the MySQL Connector/J JDBC driver. The MySQL Connector/J driver is installed and configured manually after the EKM server is installed.

##### 4.1.2.1.2. Oracle

The recommended JDBC driver for Oracle database server is: JDBC Thin for All Platforms.

Driver files: `ojdbc6.jar` and `orai18n.jar`

This driver can be downloaded from the Oracle website: http://www.oracle.com

The Oracle JDBC driver files are required to complete an EKM server installation for use with Oracle. The JDBC driver files will be requested during ANSYS EKM Server product installation.

#### 4.1.2.2. Create an EKM Server Account

The EKM server account is a special dedicated user account that is used solely for running the EKM server. The EKM server account must be created before running ANSYS EKM Server product installation. Creation of user accounts and groups is typically performed by a system administrator.

Important: The ANSYS EKM Server product installation should be executed by the EKM server account in order to ensure that the EKM server account has correct access permissions to all files created during installation.

##### 4.1.2.2.1. Windows

The EKM server account can be a Windows Active Directory account, or an account that is defined locally on the host. If you will be connecting to external file servers from EKM, the EKM server account must have the necessary privileges to access those external file servers.

If you plan to run EKM as a Windows service (the recommended way to run EKM), the following privileges are required by the EKM server account:

1. The EKM server account must have Administrator privileges on the host.

2. The EKM server account must be granted the Log on as a service user right in the Local Security Policy of the host.

   To grant this right, go to the Windows Control Panel > Administrative Tools menu, and run the Local Security Policy editor:

   Find the setting:

   Security Settings > Local Policies > User Rights Assignment > Log on as a service

   and add the EKM server account to the list of accounts having this user right.

   Note: If the EKM server account is a local account, the account must be defined and configured identically on each EKM cluster node when deploying a multi-node EKM server.

##### 4.1.2.2.2. Linux

The EKM server account can be an account that is defined on the network, or an account that is defined locally on the host. If you will be connecting to external file servers from EKM, the EKM server account must have the necessary privileges to access those external file servers.

Note: The `root` user should not be used as the EKM server account.

In our example, it is assumed that an EKM server account has been created for this purpose:

User name | `ekm`
Group | `ekm`
Home directory | `/home/ekm`

Note: If the EKM server account is a local account, the account must be defined and configured identically on each EKM cluster node when deploying a multi-node EKM server.

##### 4.1.2.2.3. Setting the Open Files Limit

The maximum number of open file descriptors that a process can have on a Linux operating system is governed by system and per-user limits. File descriptors are used by a process to access files as well as network connections. For an application like EKM that makes intensive use of files and network connections, it is necessary to increase the open files limit beyond the default settings that are set in the operating system.

It is typically necessary to increase the per-user limit for the EKM server account so that the EKM server processes can run with an appropriate limit. It is rarely necessary to change the system open files limit. Per-user limits are defined in terms of "soft" and "hard" limits - see your operating system's documentation for more information on these terms.

To show the soft limit for open files for the EKM server account, open a shell as the EKM server account, and execute the following command:

`ulimit -n`

To show the hard limit for open files for the EKM server account, open a shell as the EKM server account, and execute the following command:

`ulimit -H -n`

It is recommended that you set the EKM server account's open files limits as follows:

`soft limit`: `4096`

`hard limit`: `65535`

To set per-user open files limit for the EKM server account, edit the file:

`/etc/security/limits.conf`

Add the following lines to define open files limits for the EKM server account:

`ekm soft nofile 4096`

`ekm hard nofile 65536`

##### 4.1.2.2.4. Setting the Max User Processes Limit

The maximum number of processes and threads that a user can create on a Linux operating system is governed by system and per-user limits. EKM launches multiple processes and threads in the course of its normal operation, so it is necessary to increase the max user processes limit beyond the default settings that are set in the operating system.

It is typically necessary to increase the per-user max user processes limit for the EKM server account so that the EKM server processes can run with an appropriate limit. It is rarely necessary to change the system max user processes limit. Per-user limits are defined in terms of "soft" and "hard" limits—see your operating system's documentation for more information on these terms.

To show the soft limit for max user processes for the EKM server account, open a shell as the EKM server account, and execute the following command:

`ulimit -u`

To show the hard limit for max user processes for the EKM server account, open a shell as the EKM server account, and execute the following command:

`ulimit -H -u`

It is recommended that you set the EKM server account's max user processes limits as follows:

`soft limit: 4096`

`hard limit: 119368`

To set per-user max user processes limit for the EKM server account, edit the file:

`/etc/security/limits.conf`

Add the following lines to define max user processes limits for the EKM server account:

`ekm soft nproc 4096`

`ekm hard nproc 119368`

##### 4.1.2.2.5. Configuring Access to PAM Authentication

EKM server on Linux is configured by default to authenticate EKM logins to the operating system using PAM (see Configuring Login Authentication and Access Settings).

The EKM server account needs to be granted access to certain operating system files so that it can authenticate EKM logins to the operating system via PAM. To configure access to PAM for the EKM server account, follow these steps:

1. Create, or verify the existence of a group called `shadow` in the file `/etc/group`. For example:

       shadow:x:15:

   If creating a new group, make sure the GID is unique, that is, the GID is not used by any other local group or NIS group (if applicable).

2. Add the `root` user and the EKM server account to the shadow group. In the example below, the `root` and `ekm` users are members of the shadow group:

       shadow:x:15:root,ekm

3. Set the ownership and file permissions of `/etc/shadow` to restrict access to only the `root` user and the shadow group:

       -sh-4.1# chmod 640 /etc/shadow
       -sh-4.1# chown root:shadow /etc/shadow

   Verify the ownership and file permissions:

       -sh-4.1# ls –la /etc/shadow
       -sh-4.1# -rw-r----- 1 root shadow 1021 Oct 13 14:49 /etc/shadow

The EKM server account also needs read access to the directory `/etc/pam.d` and its contents. It is not normally necessary to change the permissions of `/etc/pam.d` or its contents, as they will already be readable by default.

#### 4.1.2.3. EKM Cluster Configuration Prerequisites

EKM is deployed in a cluster configuration, to provide flexibility and expandability. This section documents the prerequisites for deploying EKM in a cluster configuration. These prerequisites must be completed before installing EKM using ANSYS EKM Server product installation.

##### 4.1.2.3.1. Components of a Cluster Configuration

An EKM server cluster configuration consists of the following components:

- One cluster file server. The cluster file server provides shared file storage for the EKM cluster.

- One cluster database server. The cluster database server provides the EKM database for the EKM cluster.

- One or more cluster nodes[6]. Each cluster node runs an instance of the EKM server application.

- One front-end web server. The front-end web server is the main point of access to the EKM cluster, and provides load-balancing.

These cluster components collectively form a single EKM server in a cluster configuration. Now, carefully read the information in Server Environment and Requirements for a Cluster Configuration below to find out more about the server environment and requirements for cluster components.

###### Server Environment

The server environment for an EKM cluster component is the set of software components that provides the foundation upon which the cluster component runs. Some cluster components, such as the cluster database server[7] and cluster nodes, are set up using the ANSYS EKM Server product installation, which sets up the cluster components along with their server environments. These cluster components are set up in the locations you specify in the product installation, and are configured according to inputs you provide. Other cluster components, such as the cluster file server and front-end web server, require manual set up of their server environments.

Server environment for the cluster file server (set up manually); either:

- Network File Service: NFS (Linux) or CIFS/SMB (Windows)

- Cluster File System (Linux)

Server environment for the cluster database server; either:

- MySQL Database Server version 5.5.41 (set up by the ANSYS EKM Server product installation)

- MySQL or Oracle database server (set up manually)[8]

Server environment for a cluster node (set up by the ANSYS EKM Server product installation):

- WildFly (JBoss) Application Server version 10.0.0.Final

- Sun Java Development Kit (JDK) version 1.8.0_121

- Yet Another Java Service Wrapper version 12.05 beta (Windows only)

Server environment for the front-end web server (set up manually):

- Apache HTTP Server 2.2.x or 2.4.x

###### Requirements for a Cluster Configuration

- It is required that all cluster components be installed on the same physical LAN. Cluster components may not be spread out across a WAN.

- It is required that all cluster nodes be installed on the same operating system architecture (Windows or Linux).

- It is required that the cluster file server use a compatible network file server or cluster file system to serve the shared directories used by the cluster.

- It is not required that the operating system architecture of the cluster database server match that of the cluster nodes.

- It is not required that the operating system architecture of the front-end web server match that of either the cluster database server or the cluster nodes.

The cluster file server, cluster database server, cluster nodes and front-end web server may be installed on any combination of hosts, as long as these requirements are met.

Important: It is important that all server hosts in an EKM server cluster configuration are configured to synchronize their system clocks with a reliable time source, using a time service provided by the operating system. This will help prevent data consistency issues that could arise from time differences between cluster components such as the cluster database server, cluster file server and cluster nodes. Example time services include Windows Time Service (Windows) and ntpd (Linux).

##### 4.1.2.3.2. Manual Configuration of the Cluster File Server

The cluster file server provides shared file storage for the cluster either through a compatible network file service like NFS or CIFS/SMB, or through a compatible cluster file system. The cluster file server is a role that can be fulfilled by a single server host or multiple server hosts, depending on the cluster configuration and the service(s) used to fulfill this role.

Each cluster node in a clustered configuration of EKM runs an instance of the EKM server application. The EKM server application process runs under the account credentials of the EKM server account, and accesses shared directories provided by the cluster file server using the account credentials of the EKM server account. This means that the EKM server account must be recognized as a valid account on the cluster file server.

The cluster file server must meet the following requirements:

- The EKM server account used on the cluster nodes must be recognized as a valid account on the cluster file server.

- The EKM server account must have read/write permission to the shared directories for the EKM cluster on the cluster file server.

The EKM server is configured to use the cluster file server during ANSYS EKM Server product installation by specifying paths on the cluster file server during product installation.

The cluster file server provides centralized, shared storage for the following EKM directories:

- Base directory for the EKM server: This directory is the home for the EKM server application, and contains common files and configuration that are used by all cluster nodes.

- EKM data directory: This directory contains the EKM datastore, the central file storage area where data archived in EKM is stored.

- EKM jobdata directory: This directory contains job data for jobs submitted to RSM.

It is necessary to configure the cluster file server and set up shared storage for these directories before running the ANSYS EKM Server product installation. The cluster file server can provide this shared storage using a compatible network file service or cluster file system.

###### 4.1.2.3.2.1. Network File Service

The cluster file server can use a compatible network file service to provide a network file share for use by the EKM cluster. On Linux, the cluster file server serves this file share using NFS. On Windows, the cluster file server serves this file share using CIFS/SMB. Configuring the cluster file server component consists of configuring a network file share that will be used by the EKM cluster.

EKM is compatible with the following network file services:

- NFS (Linux)

- CIFS/SMB (Windows)

###### 4.1.2.3.2.2. Cluster File System

The cluster file server can use a cluster file system to provide a shared file system for use by the EKM cluster. Configuring the cluster file server consists of configuring a cluster file system that will be used by the EKM cluster.

##### 4.1.2.3.3. Manual Configuration of the Cluster Database Server

The cluster database server can be either a default MySQL database server set up and configured by ANSYS EKM Server product installation, or an existing database server that is configured manually for use with EKM.

If the cluster database server will be a default MySQL database server set up and configured by product installation, this prerequisite can be skipped.

If the cluster database server is an existing MySQL or Oracle database server, follow these steps to manually configure the cluster database server:

1. (MySQL) Configure the cluster database server.

2. Create the EKM database on the cluster database server.

3. Grant database privileges for each EKM cluster node on the cluster database server.

###### (MySQL) Configure the cluster database server:

If the cluster database server is an existing MySQL database server, the MySQL database server must be configured with the following options in the MySQL defaults file `MYSQL_HOME/my.(cnf|ini)`:

    [mysqld]
    default_storage_engine=INNODB
    transaction_isolation=READ-COMMITTED
    max_allowed_packet=128m

###### Create the EKM Database:

Follow the instructions for your database server to create the EKM database. You will provide the details for accessing the EKM database during ANSYS EKM Server product installation, such as the cluster database server hostname and port, the name of the EKM database, and the account name and password for accessing the EKM database.

###### Grant database privileges for each cluster node on the cluster database server:

Each EKM cluster node requires database privileges on the cluster database server in order to access and modify the EKM database. For instructions on granting database privileges on a MySQL database server, refer to Appendix J: Granting Database Privileges. Follow the instructions to grant database privileges to the EKM database for each EKM cluster node.

For instructions on granting database privileges on an Oracle database server, consult the Oracle database server documentation.

##### 4.1.2.3.4. Naming the Cluster and Cluster Nodes

This section explains what a cluster name and node name are, how they are used, and provides some restrictions on how they can be named in the ANSYS EKM Server product installation.

EKM cluster nodes locate one another on a LAN using an automatic discovery mechanism. This makes it easy to add new cluster nodes to an EKM server, and allows cluster nodes to join and leave the cluster automatically as they are started and stopped.

There are two levels of naming within a cluster: cluster name and node name:

1. Each EKM server has a cluster name. All EKM cluster nodes with the same cluster name in a LAN will form a cluster together. EKM cluster nodes operate cooperatively and transparently as a single EKM server. In order to deploy more than one EKM server in clustered configuration on a LAN, the cluster name of each EKM server MUST be unique within the LAN. The cluster name is specified during product installation when the cluster node is installed.

2. Each EKM cluster node has a node name (also referred to as node ID). The node name is specified during product installation when the cluster node is installed. Within a cluster, all node names MUST be unique.

The combination of cluster name and node name uniquely identifies each cluster node.

Consider the following scenario: two EKM servers are deployed on the same LAN. The first EKM server has cluster name: EkmServer1. The second EKM server has cluster name: EkmServer2. EkmServer1 has three cluster nodes: node1, node2 and node3. EkmServer2 has two cluster nodes: node1 and node2. Both clusters have cluster nodes named node1 and node2, but these cluster nodes belong to different EKM servers because they use different cluster names.

Important: EKM uses JGroups and Infinispan clustering software to provide EKM cluster services. It is not necessary under normal circumstances to change the configuration of these components. For more information, see Appendix P: EKM Cluster Network Configuration.

[5] When MySQL is selected as the database server during ANSYS EKM Server product installation, the MySQL-compatible MariaDB Connector/J driver is installed by default. This is a freely distributable driver that is compatible with MySQL. It is not the same as MySQL Connector/J.

[6] One cluster node is designated as the EKM cluster primary node. This cluster node provides centralized configuration and management of the EKM cluster.

[7] The cluster database server may also be set up manually.

[8] For a list of the compatible database servers, see Database Server Versions.

Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.

Prev | Up / Contents | Next

Release 18.2 - © ANSYS, Inc. All rights reserved.