automation-suite
2023.10
false
UiPath logo, featuring letters U and I in white
Automation Suite on Linux Installation Guide
Last updated Nov 21, 2024

Step 7: Configuring the disks

Before performing an Automation Suite installation, you must partition and configure the disk using LVM, so that you can alter its size easily and without any data migration or data loss.

Partitioning the disks

The default partitioning structure on RHEL machines is not suitable for installing Kubernetes. This is because the Kubernetes infrastructure is usually installed under the /var partition, which is allocated only 8 GiB of space by default.
Note:
  • The supported format for the disks is ext4 or xfs.
  • You must create all partitions using LVM to ensure that the cluster data can reside on a different disk but still be viewed coherently. This also helps extend the partition size in the future without the risk of data migration or loss.
  • All the pods and application logs are stored under the /var/log/pods directory. Make sure that the capacity of this directory is at least 8 GiB. We also recommend configuring logrotate to rotate the logs at an interval ranging from daily to weekly.

The disk requirements for online and offline installations are the same, except for the extra space needed to unpack the offline UiPath® bundle.

For the RHEL OS, make sure you have the following minimum mount point sizes on the machine.

Disk label

Server

Agent

Partition

Size

Purpose

Cluster disk

available

available

/var/lib/rancher

190 GiB

Stores the container images and layers.

/var/lib/kubelet

56 GiB

Stores runtime Kubernetes configurations such as secrets, configmaps, and emptyDir.

/opt/UiPathAutomationSuite

10 GiB

Stores the installer binary.

etcd disk

available

not available

/var/lib/rancher/rke2/server/db

16 GiB

Stores the distributed database for Kubernetes

Block storage

available

not available

/datadisk/insights

15 GiB

Required for Insights.

/datadisk/monitoring

50 GiB

Required for the monitoring tools.

/datadisk/registry1

200 GiB

Required for the Docker registry.

/datadisk/objectstore2

10 Gib

Required for ceph-mon.

Objectstore2

available

not available

N/A

512 GiB

Required for in-cluster objectstore.

AI Center3

available

available

N/A

51 GiB minimum and 105 GiB recommended for 1 training pipeline.

Required only if you install AI Center.

UiPath® bundle disk

available

not available

/uipath512 GiB

Required only for offline installations to store the offline bundle

1 This refers to the in-cluster Docker registry and is not applicable if you use an external registry.

2 This refers to the in-cluster objectstore and is not applicable if you use an external objectstore.

3 This refers to the storage required by the AI Center training pipeline. The disk is required only on the machines on which you plan to run the AI Center training pipeline and on the dedicated Task Mining node. We recommend attaching this disk on the agent machines.

Note:

We recommend that you do not use OS disk for any of the above purposes, to ensure processes get their fair share of resources.

Using the script to configure the disks

Downloading the script

You can use the configureUiPathDisks.sh script to configure and partition the disks.

For download instructions, see configureUiPathDisks.sh.

Running the script

You can use the configureUiPathDisks.sh script for the following purposes:
  • Configure the disks and mount points for a new Automation Suite cluster installation;
  • Resize the data disk post-installation.

To make the script executable, run the following command:

chmod +x ./configureUiPathDisks.shchmod +x ./configureUiPathDisks.sh

To provide the required permissions to the script, run the following command:

chmod +x configureUiPathDisks.shchmod +x configureUiPathDisks.sh

For more details on the script usage, run the following command:

sudo ./configureUiPathDisks.sh --helpsudo ./configureUiPathDisks.sh --help

Configuring the cluster disk on all the machines

To configure the cluster disk, run the following command on all the machines:

./configureUiPathDisks.sh --cluster-disk-name name_of_cluster_disk./configureUiPathDisks.sh --cluster-disk-name name_of_cluster_disk 

Configuring the etcd disk on all the server machines

To configure the etcd disk, run the following command on all the server machines:

./configureUiPathDisks.sh --etcd-disk-name name_of_etcd_disk./configureUiPathDisks.sh --etcd-disk-name name_of_etcd_disk 

Configuring the data disk on all the server machines

To configure the data disk, run the following command on all the server machines and provide the necessary flags based on your requirements:

./configureUiPathDisks.sh --volume name_of_data_disk./configureUiPathDisks.sh --volume name_of_data_disk

Flag

Value

-v|--volume

Disk name example: /dev/sde

You need the disk name when partitioning the disks that host the various mounts for monitoring, Insights, objectstore, and registry.

Providing the disk name is mandatory in the first-time configuration of the disk. If it is not provided during the subsequent run, then any existing disk associated with uipathdatavg is used to create the partition for the selected component.

--docker-registry

Optional. Only required if the external registry is not available.

--monitoring

Optional. If the flag is not passed during the first run execution, it automatically creates the partition for monitoring (Prometheus storage). However, the flag is required in the subsequent run, during the resize of the monitoring partition along with the --resize flag.

--objectstore

Optional. Only required if the external objectstore is not available.

--insights

Optional. If the flag is not passed during the first run execution, it automatically creates the partition for Insights. However, it is required in the subsequent run, during the resize of the Insights partition along with the --resize flag.

--resize <int>

Optional. If the integer value is provided, the selected component is resized, provided that enough space is available. Otherwise, the entire disk is consumed to expand the selected partition. It is mandatory to indicate precisely one partition that must be resized.

--robot-package-cache

Path to the location on the Automation Suite Robots node to download the package for caching. This must be performed only on the Automation Suite Robots node.

You can also use the command to resize the selected partition with the help of the --resize flag, as shown in the following example:
./configureUiPathDisks.sh --volume /dev/sde --docker-registry --resize 300./configureUiPathDisks.sh --volume /dev/sde --docker-registry --resize 300
The example shows how to attach the /dev/sde disk to the existing data disk and how to resize the docker registry partition to 300 GiB.

Configuring the objectstore disk on all the server machines

This step is only required if the external objectstore is not available.

You can add or expand your storage size for the in-cluster objectstore by running the following script on all server nodes:

./configureUiPathDisks.sh --ceph-raw-disk-name name_ceph_raw_disk./configureUiPathDisks.sh --ceph-raw-disk-name name_ceph_raw_disk
Note:
  • An Azure known issue incorrectly marks the Azure disk as non-SSD. If Azure is your cloud provider, and you want to configure the Objectstore disk, follow the instructions in Troubleshooting.

  • Vertical scaling of the existing disks is not supported. To increase the size of your in-cluster storage post-installation, add new raw disks.

Configuring the AI Center disk on selected machines

To configure the AI Center disk, run the following command on the machines where you plan to execute the training pipelines:

./configureUiPathDisks.sh --aicenter-disk-name name_of_aicenter_disk_to_partition./configureUiPathDisks.sh --aicenter-disk-name name_of_aicenter_disk_to_partition

To extend the storage for AI Center:

  • If you want to add a new AI Center disk, run the following command on the machine where you plan to add the disk:

    ./configureUiPathDisks.sh --aicenter-storage-extend name_of_new_aicenter_disk_to_attach./configureUiPathDisks.sh --aicenter-storage-extend name_of_new_aicenter_disk_to_attach
  • If you have expanded the existing AI Center disk, run the following command on the machine where the underlying AI Center disk is expanded:

    ./configureUiPathDisks.sh --aicenter-storage-extend./configureUiPathDisks.sh --aicenter-storage-extend

Configuring the hosting disk for the Automation Suite Robot package cache

This step is required for single-node setups without a dedicated Automation Suite Robot agent.

To host the Automation Suite Robot package cache on the server node, you need to create a disk of at least 10 GB:

./configureUiPathDisks.sh --volume name_of_data_disk --robot-package-cache./configureUiPathDisks.sh --volume name_of_data_disk --robot-package-cache
Note: It is recommended that the disk is backed up by LVM.

Configuring the bundle disk on the first server node for the in-cluster registry

This step is required in the following scenarios:

  • When performing an offline (air-gapped) installation;

  • When an external registry is not available.

To configure the bundle disk, run the following command only on the first server node:

./configureUiPathDisks.sh --bundle-disk-name name_of_bundle_disk./configureUiPathDisks.sh --bundle-disk-name name_of_bundle_disk 

Validating disk mounts

Note:
Make sure to add all mount points to the fstab file and to include the nofail option in those fstab entries so that it does not affect the VM boot in case of failure.
To validate that /etc/fstab is correctly configured and can handle a reboot of the system, take the following steps, run the following command:
mount -afvmount -afv

You should get the following output:

/var/lib/rancher                  : already mounted
/var/lib/kubelet                  : already mounted
/opt/UiPathAutomationSuite        : already mounted
/datadisk/monitoring              : already mounted
/datadisk/insights                : already mounted
/var/lib/rancher/rke2/server/db   : already mounted
# Additional mount point is require if customer is installing offline with internal registry
/datadisk/registry                : already mounted
# Additional mount point is require if customer is using in-cluster objectstore
/datadisk/objectstore             : already mounted/var/lib/rancher                  : already mounted
/var/lib/kubelet                  : already mounted
/opt/UiPathAutomationSuite        : already mounted
/datadisk/monitoring              : already mounted
/datadisk/insights                : already mounted
/var/lib/rancher/rke2/server/db   : already mounted
# Additional mount point is require if customer is installing offline with internal registry
/datadisk/registry                : already mounted
# Additional mount point is require if customer is using in-cluster objectstore
/datadisk/objectstore             : already mounted

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2024 UiPath. All rights reserved.