# Install the WEKA cluster using the WMS with WSA

The WEKA Management Station (WMS) is an install kit similar to an OS install disk that simplifies the installation and configuration of the WEKA cluster in an on-premises environment by deploying the WEKA Software Appliance (WSA) package on bare metal servers. The WMS installs the WEKA OS, drivers, and WEKA software automatically and unattended.

The WMS is also used for installing the monitoring tools: Local WEKA Home (LWH), WEKAmon, and SnapTool (for details, see [deploy-monitoring-tools-using-the-weka-management-station-wms](https://docs.weka.io/4.2/monitor-the-weka-cluster/deploy-monitoring-tools-using-the-weka-management-station-wms "mention").

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FjP0AGQbG3TpNTGyBWNyz%2FWMS_and_WSA_install_cluster.png?alt=media&#x26;token=2afeb2e4-18fd-4b37-9c1f-55403abb78a2" alt=""><figcaption><p>Install the WEKA cluster using the WMS with WSA</p></figcaption></figure>

## WMS deployment prerequisites

Using the WMS with WSA to install a WEKA cluster requires a physical server (or VM) that meets the following requirements:

* **Boot drives:** One or two identical boot drives as an installation target.
  * A system with two identical boot drives has the OS installed on mirrored partitions (LVM).
  * A system with one drive has a simple partition.
* **Minimum boot drive capacity:**
  * If not configuring LWH: SSD 141 GB (131 GiB).
  * If configuring LWH: See the SSD-backed storage requirements section in [#1.-verify-prerequisites](https://docs.weka.io/4.2/monitor-the-weka-cluster/the-wekaio-support-cloud/local-weka-home-deployment#1.-verify-prerequisites "mention").
* **Boot type:** UEFI boot.
* **Cores and RAM:**
  * If not configuring LWH: minimum 4 cores and 16 GiB.
  * If configuring LWH, see the Server minimum CPU and RAM requirements section in [#1.-verify-prerequisites](https://docs.weka.io/4.2/monitor-the-weka-cluster/the-wekaio-support-cloud/local-weka-home-deployment#1.-verify-prerequisites "mention").
* **Network interface:** 1 Gbps.

### Prerequisites for the target bare metal servers

* Target servers must be **Dell, HPE,** **Supermicro,** or **Lenovo**. Other servers are not supported.
* The RedFish[^1] interface must be installed, enabled, and licensed for all target servers.
* The WMS must be able to connect over Ethernet to the following servers’ interfaces:
  * OS management interface, typically 1 Gbps. It must be connected to a switch.
  * Base Management Controller (BMC), such as IPMI[^2], iDRAC[^3], or iLO[^4] interfaces. The BMC interface must be configured with an IP address.&#x20;
* All the servers' dataplane[^5] interfaces must be connected to the switches.
* The bare metal servers must conform to the [prerequisites-and-compatibility](https://docs.weka.io/4.2/install/prerequisites-and-compatibility "mention").
* The bare metal servers must have an OS management network interface for administering the servers.
* The boot type must be set to UEFI boot.

{% hint style="success" %}
For cluster configurations exceeding 25 servers, it’s advisable to equip the WMS with an ETH interface of superior speed, such as 10/25/50 Gbps, during the installation phase. As an alternative, you could bond two or more 1 Gbps interfaces to increase the bandwidth. Once the installation phase is completed, a bandwidth of 1 Gbps is sufficient.
{% endhint %}

## Before you begin

Before deploying the WMS, adhere to the following:

* Obtain the WMS package. For details, see [obtaining-the-weka-install-file](https://docs.weka.io/4.2/install/bare-metal/obtaining-the-weka-install-file "mention").
* The root password is `WekaService`
* The WEKA user password is `weka.io123`
* If errors occur during installation and the installation halts (no error messages appear), use the system console to review the logs in `/tmp`. The primary log is `/tmp/ks-pre.log`.
* To get a command prompt from the Installation GUI, do one of the following:
  * On macOS, type **ctrl+option+f2**&#x20;
  * On Windows, type **ctrl+alt+f2**.

## WMS deployment workflow

1. [Install the WMS](#1.-install-the-wms)
2. [Configure the WMS](#2.-configure-the-wms)
3. [Add the WSA package to the WMS](#3.-add-the-wsa-package-to-the-wms)
4. [Install a WEKA Cluster](#4.-install-a-weka-cluster)

### 1. Install the WMS

1. Boot the server from the WMS image. The following are some options to do that:

{% tabs %}
{% tab title="Copy to a mountable location" %}
Copy the WEKA Management Station ISO image to an appropriate location so the server’s BMC (Baseboard Management Controller) can mount it or be served through a PXE (Preboot Execution Environment).
{% endtab %}

{% tab title="See server documentation" %}
Depending on the server manufacturer, consult the documentation for the server’s BMC (for example, iLO, iDRAC, and IPMI) for detailed instructions on mounting and booting from a bootable ISO image, such as:

* A workstation or laptop sent to the BMC through the web browser.
* An SMB share in a Windows server or a Samba server.
* An NFS share.&#x20;
  {% endtab %}

{% tab title="Use PXE boot" %}
To use PXE boot, use the WEKA Management Station as any other Operating System ISO image and configure accordingly.
{% endtab %}

{% tab title="Create a DVD " %}
Burn the WMS image to a DVD and boot it from the physical DVD. However, most modern servers do not have DVD readers anymore.
{% endtab %}

{% tab title="Use a bootable USB drive" %}
A bootable USB drive should work (follow online directions for creating a bootable USB drive) but has not been tested yet.
{% endtab %}
{% endtabs %}

Once you boot the server, the WEKA Management Station installs the WEKA OS (Rocky Linux), drivers, and WEKA software automatically and unattended (no human interaction required).

Depending on network speed, this can take about 10-60 mins (or more) per server.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FNS9oM86t5uJNSiGxOnJx%2FWMS_install_1.png?alt=media&#x26;token=897629a0-c646-4570-8c09-28fd10ab96b2" alt="" width="375"><figcaption><p>WMS installation progress</p></figcaption></figure>

### 2. Configure the WMS

Once the WMS installation is complete and rebooted, configure the WMS.

1. Run the OS using one of the following options:

{% tabs %}
{% tab title="BMC’s Console" %}
Run the OS through the BMC’s Console. See the specific manufacturer’s BMC documentation.
{% endtab %}

{% tab title="Cockpit Web Interface" %}
Run the OS through the Cockpit Web Interface on port 9090 of the OS management network.

If you don’t know the WMS hostname or IP address, go to the console and press the **Return** key a couple of times until it prompts the URL of the WMS OS Web Console (Cockpit) on port 9090.

Change the port from 9090 to 8051, which is the WMS Admin port.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FlE81ct9Obw1yCPh58GXr%2Fcockpit.png?alt=media&#x26;token=ab0413d1-b91e-4e30-98d5-181475bcdc87" alt=""><figcaption><p>Cockpit URL (IP address of this WMS is 172.29.7.152)</p></figcaption></figure>
{% endtab %}
{% endtabs %}

2. Browse to the WMS Admin UI using the following URL:\
   `http://<WMS-hostname-or-ip>:8501`

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FeVUkzQWgiyve5aTbzJba%2FWMS_login.png?alt=media&#x26;token=ce270f88-c083-4953-a3b5-aa84be5f450d" alt="" width="375"><figcaption><p>WMS Admin UI: Login Page</p></figcaption></figure>

3. Enter username and password (default: *admin*/*admin*), and select **Login**.\
   The Landing Page appears.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FlOjX4EFqjHdwBQsBydP4%2FWMS_landing_page.png?alt=media&#x26;token=9b38e690-6d40-4a9c-9b80-3196c75c969a" alt="" width="375"><figcaption><p>WMS Landing Pag</p></figcaption></figure>

### 3. Add the WSA package to the WMS

1. Download the latest release of the WSA package from [get.weka.io](https://get.weka.io/ui/dashboard) dashboard.
2. Copy the WSA package to **/home/weka** .\
   For example:  `scp <wsa.iso> weka@<wms-server>:`

### 4. Install a WEKA Cluster

1. Go to the WMS Admin UI (landing page) and select **Deploy a WEKA Custer**.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FJ5wYBxVETiH1BsiyF8gY%2FDeploy_a_weka_cluster_button.png?alt=media&#x26;token=e3a81d15-513e-465c-bf75-09def227a9ef" alt="" width="563"><figcaption></figcaption></figure>

The WSA setup page opens.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FQjqr5sJEfywWwayq05UR%2FWSA_Setup_Page.png?alt=media&#x26;token=373fd4ea-faad-422d-97a5-ad8d45c649c8" alt=""><figcaption><p>WSA Setup</p></figcaption></figure>

2. Open **Step 1 - Choose source ISO**, select the WSA package (ISO) you intend to deploy, and click **Next**.

{% hint style="info" %}
The WSA packages that appear in the list are taken from `/home/weka`. You can have more than one in the directory. If none are displayed, click **Refresh ISO List**. If none are displayed after that, copy a WSA package to `/home/weka` and click **Refresh ISO List** again. Once you select a WSA ISO, click **Next.**
{% endhint %}

3. In **Step 2 - Load values from**, select one of the following options:
   * **Option 1: Enter environment data:**\
     Click **Go directly to forms to enter data**.
   * **Option 2: Import CSV file:**\
     If you have the environment data in a CSV file, click **Upload a CSV file to pre-populate data**. Step 3 - CSV File Upload section opens.

     Drag or click to upload the CSV file, and click **Next**.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2F7hq6IpmNJ98pttpTuEHR%2FWSA_step3.png?alt=media&#x26;token=67b0589d-6158-4187-880c-e0bc66fe3c9d" alt="" width="563"><figcaption></figcaption></figure>

**CSV template example**

You can prepare a CSV file with the columns as specified in the following example:

```
IPMI_IP,Username,Password,OS_Mgmt_IP,Hostname,OS_Netmask,OS_Gateway,MTU,DNS,Hostname_Pattern,Hostname_Startnum,Server_Count,Data1_IP,Data1_Type,Data1_Netmask,Data1_MTU,Data1_Gateway,Data2_IP,Data2_Type,Data2_Netmask,Data2_MTU,Data2_Gateway
172.29.1.63,ADMIN,ADMIN,10.10.20.11,weka01,24,10.10.20.1,1500,8.8.8.8,weka%02d,1,7,10.100.10.11,Ethernet,16,9000,,10.100.20.11,Ethernet,16,9000,
172.29.1.64,ADMIN,ADMIN,10.10.20.12,weka02,24,10.10.20.1,1500,8.8.8.8,weka%02d,1,7,10.100.10.12,Ethernet,16,9000,,10.100.20.12,Ethernet,16,9000,
172.29.1.65,ADMIN,ADMIN,10.10.20.13,weka03,24,10.10.20.1,1500,8.8.8.8,weka%02d,1,7,10.100.10.13,Ethernet,16,9000,,10.100.20.13,Ethernet,16,9000,
172.29.1.66,ADMIN,ADMIN,10.10.20.14,weka04,24,10.10.20.1,1500,8.8.8.8,weka%02d,1,7,10.100.10.14,Ethernet,16,9000,,10.100.20.14,Ethernet,16,9000,
172.29.1.67,ADMIN,ADMIN,10.10.20.15,weka05,24,10.10.20.1,1500,8.8.8.8,weka%02d,1,7,10.100.10.15,Ethernet,16,9000,,10.100.20.15,Ethernet,16,9000,
172.29.1.68,ADMIN,ADMIN,10.10.20.16,weka06,24,10.10.20.1,1500,8.8.8.8,weka%02d,1,7,10.100.10.16,Ethernet,16,9000,,10.100.20.16,Ethernet,16,9000,
172.29.1.69,ADMIN,ADMIN,10.10.20.17,weka07,24,10.10.20.1,1500,8.8.8.8,weka%02d,1,7,10.100.10.17,Ethernet,16,9000,,10.100.20.17,Ethernet,16,9000,

```

4. In **Step 4 - Number of servers to deploy**, enter a Server Count (default is 8), and click **Next**.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FjjpLDAlZTa3k5KDRF59U%2FWSA_step4.png?alt=media&#x26;token=fba0e891-946e-4a9f-8484-8b60e1a10181" alt="" width="563"><figcaption></figcaption></figure>

In the following steps, if you uploaded a CSV file, the data is pre-populated. You can review the data and if no editing is necessary, select **Next**.

5. In **Step 5 - IPMI information**, do the following:
   * In the **IPMI First IP**, enter the IPMI IP address of the first server. It requires a consecutive set of IP addresses for the servers (typical).
   * In the **IPMI user** and **IPMI password**, modify the login credentials for the IPMI, iLO, or iDRAC according to your choice.
   * Click **Fill IPMI IPs** to calculate the IP addresses for the number of servers specified in Step 4.
   * You can edit the IP addresses, Usernames, and Passwords as needed if the servers aren’t consecutive or require different credentials.
   * If you edited the table, click **Verify IPMI IPs** to verify that the WMS can log into the BMCs and detect the manufacturer (Brand column).
   * Verify that all is correct, and then click **Next**.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FhOt7JxWcrFN1jrAOWCqh%2FWSA_step5_with_details.png?alt=media&#x26;token=af560ed4-7713-4981-8c53-bd0fac3e0ee6" alt="" width="563"><figcaption></figcaption></figure>

6. In **Step 6 - Operating System network information**, do the following:
   * In the **OS First IP**, enter the IP address of the OS 1 Gbit management interface. It requires a consecutive set of IP addresses for the servers (typical).
   * In the remaining networking fields, fill in the networking details.
   * Click **Fill OS Table** to populate the table. The WMS automatically generates names and IPs.
   * Verify that the OS IP settings are correct. You can repeatedly click **Fill OS Table** to make adjustments.
   * Verify that all is correct, and then click **Next**.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2F1gFzUxSv8CfStgcRPHhn%2FWSA_step6_with_details.png?alt=media&#x26;token=c12770b5-1c29-43b5-bcbd-2a4bbc3b9fb9" alt="" width="563"><figcaption></figcaption></figure>

7. In **Step 7 - Dataplane settings**, do the following:

   * Set the number of interfaces in the **Dataplane Interface Count** slider.
   * In the remaining dataplane fields, fill in the details.
   * Click **Update Dataplanes**. The WMS automatically populates the data.
   * You can repeatedly click **Update Dataplanes** to make adjustments.
   * Verify that all is correct, and then click **Next**.

   <figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FzBA9yKd7VaXWfPgIlFbr%2FWSA_step7.png?alt=media&#x26;token=1f150963-ae5f-4e62-b784-eeaa838072c5" alt="" width="563"><figcaption></figcaption></figure>
8. In **Step 8 - Save configuration files and inventory**, click **Save Files** to save the configuration files, and then click **Next**.

   <figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2F2n2fVReCX8QUCGTKTkql%2FWSA_step8.png?alt=media&#x26;token=e81cfe0f-fb97-49b4-992c-9d72fbff1352" alt="" width="563"><figcaption></figcaption></figure>
9. In **Step 9 - Prepare ISO for installation**, click **Prepare ISO for install**. \
   The WMS updates the kickstart on the ISO to match the WMS deployment data (it takes about 30 seconds).

   <figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2F849wCvPxbaRz9Z2dZ4Wu%2FWSA_step9.png?alt=media&#x26;token=4d529df7-6507-4d17-96fc-e96aa011fbb4" alt="" width="563"><figcaption></figcaption></figure>

When the ISO preparation is completed, the output is displayed. Verify that no errors appear. Then, click **Next**.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FBkwmjH67RVkJlzOxSCft%2FWSA_step9_1.png?alt=media&#x26;token=9c16c7bc-7239-4b51-b47c-805067859b66" alt="" width="563"><figcaption></figcaption></figure>

10. In **Step 10 - Start Installation**, click **Install OS on Servers**.\
    The WMS loads the WSA on the servers previously defined and starts the installation.\
    The installation can take several minutes and displays output when complete. Verify that no errors appear.

    <figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2Fh2KitbG0oClewG5z9lDy%2FWSA_step10.png?alt=media&#x26;token=55af72c4-5545-4793-adfa-5635b2ea373c" alt="" width="563"><figcaption></figcaption></figure>

    The installation process takes about 30 minutes, depending on several factors, such as network speed. Verify that the server’s BMC completed the restart.
11. In **Step 11 -  Run OS and Dataplane Configuration Scripts**, click **Run post-install scripts**.  This action runs scripts to configure the servers with the specified dataplane IPs and perform additional tasks, such as populating `/etc/hosts`.

<figure><img src="https://1970823310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNqDzxyFrTFrLD641p0iH%2Fuploads%2FRuepYxLfEQidYgYspzGH%2FWSA_step11.png?alt=media&#x26;token=92d16e3e-5700-43c1-9d1f-bd1fddc4e2b3" alt="" width="563"><figcaption></figcaption></figure>

**Alternative OS and dataplane configuration**

These commands only need to be run if you did not follow step 11 above.

1. Connect to one of the cluster servers to run the post-install scripts. The tools are in the same location:  `/opt/tools/install` on the WSA as they are on the WMS.&#x20;

```bash
ssh root@<wms ip>
```

2. When prompted, enter the password `WekaService`
3. Change the directory to `/opt/ansible-install` by running the following command:

```bash
cd /opt/ansible-install
# ./install_after_wsa_iso.sh
```

4. Run the post-install script:&#x20;

```bash
./install_after_wsa_iso.sh
```

Example:

```bash
$ ssh root@172.29.5.172
root@172.29.5.172's password:
X11 forwarding request failed on channel 0
Welcome to the Weka Management Station!

Web console: <https://WekaMgmtServer:9090/> or <https://172.29.5.172:9090/>

Last login: Sat Jun  3 10:31:28 2023 from ::ffff:10.41.193.86
[root@WekaMgmtServer ~]# cd /opt/ansible-install/
[root@WekaMgmtServer ansible-install]#
# ./install_after_wsa_iso.sh
```

4. Ensure the DNS is operational, or copy the `/etc/hosts` entries from one of the cluster servers to the WMS.

## What to do next?

[configure-the-weka-cluster-using-the-weka-configurator](https://docs.weka.io/4.2/install/bare-metal/configure-the-weka-cluster-using-the-weka-configurator "mention")

[^1]: RedFish is a standardized API used for the administration of servers, networks, storage devices, among other components.

[^2]: **IPMI (Intelligent Platform Management Interface)**: A set of specifications for monitoring and managing computer systems independently of the host system. Key features include out-of-band management, monitoring and supervision, inventory management, and remote installation.

[^3]: **iDRAC (Integrated Dell Remote Access Controller)**: A Dell feature for secure local and remote server management. Key features include telemetry streaming, scalable automation, secure management, and streamlined support. It also offers a virtual console for remote system control.

[^4]: **iLO (Integrated Lights-Out)**: A proprietary technology by HPE for remote control access to ProLiant servers. Key features include out-of-band management, monitoring and supervision, inventory management, and remote installation.

[^5]: In the context of WEKA, the dataplane refers to the high-speed network infrastructure that facilitates I/O operations.
