Operating System Configuration
The System Configuration procedure assumes that these steps have been performed on the Foundation Nodes and Loader Nodes in the database cluster. Some of these steps require root user permissions.
Use sudo when performing these steps in your command line interface.
Prepare the Operating System Configuration
You must prepare the operating system with this configuration to run Ocient software:
- Configure Network interface controllers (NICs) and firewall for use by Ocient.
- Set timezone to UTC.
- If OPAL drives are installed, unlock or revert them to factory state.
- Optional: Mount points /opt/ocient and /var/opt/ocient are mounted on separate storage devices.
Confirm the Ocient Installation
To check the installation, run this command on each node to show the software version.
If the software is not installed or is the wrong version, see the Ocient Application Installation instructions.
Apply Required Kernel Settings
In order to achieve high-performance levels, you must set specific kernel settings. You cannot set these settings at runtime. Therefore, the system must pass these parameters to the kernel at boot time.
Automatically Apply Kernel Settings
You can automatically configure the kernel settings and apply them by running the ockernelparams script in the Ocient software package. This script detects the current system hardware and adjusts the grub bootloader kernel parameters. Then, the script updates the grub configuration with grub2-mkconfig or update-grub (depending on the Linux distribution).
Run this command and specify the appropriate node role.
You can also manually configure kernel settings. See Manual Kernel Settings for more information.
Check Current Kernel Settings
Run this command to show the current settings for the kernel that is running.
You need to reboot after any changes are made to kernel parameters in the bootloader configuration.
The exact values can vary depending on the DRAM of the machine and the intended role for the node.
Check that the number of free 1G huge pages matches the number specified at the command line. You can check this number using this command.
Output
The returned value should match your configuration.
Manual Kernel Settings
This section describes the optional kernel settings that you can manually configure. To automatically configure these settings, see Automatically Apply Kernel Settings.
You must add these settings that follow the grub bootloader kernel parameters for the listed applicable node types.
Setting: transparent_hugepages
Ocient requires that transparent_hugepages are disabled because Ocient software needs strict control over which huge pages it allocates.
Applicable Node Types:
- Foundation (LTS) Nodes
- Loader Nodes
- SQL Nodes
Kernel setting:
Setting: isolcpus
To give Ocient software exclusive use of the majority of the cores on the system, the kernel is isolated from the cores using the isolcpus parameter. This isolation ensures that the system executes the kernel code only on a small number of cores where Ocient is not running logic that is critical for performance.
The pattern is to isolate all but the last two physical cores of each CPU from the kernel for CPUs with 26 or more cores. This means that two cores (4 threads) per CPU are available to the kernel.
For CPUs with fewer than 26 cores, all but the last physical core of each CPU is isolated.
Applicable Node Types:
- Foundation (LTS) Nodes
Kernel setting:
- Dual 20 core CPUs (Intel 6230)
- Dual 26 core CPUs (Intel 6230R)
- Dual 28 core CPUs (Intel 6348)
- Dual 32 core CPUs (Intel 6338)
Setting: Huge Pages
Ocient utilizes huge pages to streamline the management of large amounts of memory in the system. The system uses 2MB and 1GB huge pages, depending on the node type. These huge pages must be reserved at boot time because otherwise the system memory quickly becomes too fragmented to allocate the number of huge pages needed at runtime. These settings are the expected huge page settings.
Metadata Nodes do not use huge pages.
Node Type | Installed DRAM | Huge Page Kernel Parameters |
---|---|---|
SQL | 768 GB | hugepagesz=1G hugepages=512 |
SQL | 1024 GB | hugepagesz=1G hugepages=680 |
SQL | 1536 GB | hugepagesz=1G hugepages=1024 |
SQL | 2048 GB | hugepagesz=1G hugepages=1364 |
Foundation, Loader, or SQL | 768 GB | hugepagesz=1G hugepages=512 hugepagesz=2M hugepages=16384 |
Foundation, Loader, or SQL | 1024 GB | hugepagesz=1G hugepages=680 hugepagesz=2M hugepages=16384 |
Foundation, Loader, or SQL | 1536 GB | hugepagesz=1G hugepages=1024 hugepagesz=2M hugepages=16384 |
Foundation, Loader, or SQL | 2048 GB | hugepagesz=1G hugepages=1364 hugepagesz=2M hugepages=16384 |
Metadata (standalone administrator) | N/A | No huge pages. Use the noHugePages parameter when bootstrapping node: noHugePages: true |
Prepare NVMe Drives
These steps are for Foundation Nodes, Loader Nodes, and SQL Nodes only.
To prepare NVMe drives on Foundation Nodes, Loader Nodes, and SQL Nodes, they must be connected to the UIO driver and not contain a partition table. To initialize the drives for use by Ocient that have been previously partitioned, you must perform these steps.
1. Identify the OS drives. The OS drives have partitions that are mounted to mountpoints such as /. In this example, nvme0n1 is the OS drive.
2. Ensure all drives are bound to the NVMe driver so the NVMe drives show up as standard NVMe devices. List the NVMe drives to identify the drive identifiers.
3. For each NVMe drive that you need to erase and prepare for Ocient (not the OS drive), run this command by replacing X and Y to match the device name.
This command formats the specified drive and erases all data on the drive. Ensure that the OS drive is not formatted if it is an NVMe drive.
Some drives do not support the nvme format command. In that case, you can overwrite the partition table by zeroing out the beginning of the drive with this command. This command does not securely erase the whole drive, but does allow it to be used by Ocient.
4. Bind the drives to the UIO driver by running this command. Any NVMe drives with mounted partitions (i.e. the OS drive) will remain on the nvme driver. Show all expected NVMe drives on the node attached to the UIO driver.
Clear Files from Any Previous Ocient Setup
To bootstrap a node that was previously part of an Ocient system, you must clear a set of files from any previous setup of Ocient from the /var/opt/ocient/ directory. These commands remove these files.
Do not remove files in the localKeyStore directory if OPAL drives are present and encryption is not disabled. If these files are removed, the drive encryption must be reset using an external utility.