Set Up Data Encryption
The Ocient® System enables you to set up data encryption on data drives that support The Computing Group (TCG) Opal Specification and store the encryption secrets in an external Key Management System (KMS) utilizing the Key Management Interoperability Protocol (KMIP). This series of workflows demonstrates generating and storing secrets using the Thalesᴹᴰ CipherTrust Manager KMS.
Prerequisites
A KMIP server, such as Thales CipherTrust Manager, must be available to store secrets.
- The Ocient node must be a registered client of the KMIP server.
- The client certificate and key file must be on the client, e.g.,
/var/opt/ocient/kmip/client.crtand/var/opt/ocient/kmip/client.key. - The CA certificate must be present on the client, e.g.,
/var/opt/ocient/ca.pem. - The client must be able to communicate with the KMIP server.
The SEDutil CLI utility must be installed to manage the SED configuration of the drive. The sedutil-cli command must be available on the system path variable PATH.
Ensure all NVMe drives intended for use with Ocient are:
- Bound to the kernel NVMe driver.
- Have no partition table.
- Be in the Opal factory state.
- Use
--revertTPeror--revertNoEraseSEDutil commands.
- Use
- Have these initial settings for the drives and
SIDPasswordset toadmin:Locked = NLockingEnabled = NLockingSupported = YMBRDone = NMBREnabled = NMBRAbsent = NMediaEncrypt = Y
Set Up Data Encryption
Use a configuration file and script to generate the secret or key.
- Generate a configuration file with the path /var/opt/ocient/ockmip.conf. The configuration file uses the PyKMIP configuration file format, such as this text.
- Run this command.
The script performs these operations for each drive that is detected as unused by the OS (no partition table present or with an Ocient partition):
- Generate a password or key for locking the drive.
- Store the secret password or key on the KMIP server.
- Enable Opal locking on the drive and set the
admin1password to the generated secret. - Set the
SIDpasswordtoadminto enable reverting the drive to the factory state in case theadmin1password is lost.
To enable the script to run on start before the drives are bound to the uio or vfio driver by the system bind-uio-driver.service installed by the ocient package, run this command.
On reboot, the ockmip service unlocks the drives before they are bound to the uio or vfio driver and available for use by the rolehostd process.
The full setup sequence is as follows:
- Configure the
ockmip.confconfiguration file with all of the appropriate settings. - Stop the
rolehostdprocess if it is running. - Unbind drives from the
uioorvfiodriver back to the NVMe driver. - If Ocient has already been bootstrapped on the node, use the
import-drivescommand. Otherwise, use theinit-drivescommand.
- Set the node role configuration to
useOpal: falsewithin therolehostd.conffile. - Back up any existing keys in
/var/opt/ocient/localKeyStorein case you encounter any issues. - Install the
systemdservice to unlock drives on the reboot.
- Optionally, perform a power off and power on to ensure the installation was successful and that the
ockmip.servicesuccessfully unlocks drives on boot.
Migration process output might be similar to this output.
After reboot, the ockmip service output might be similar to this output.
The rolehostd process should start up without the process managing encryption because the ockmip service handles it.
Troubleshooting
For more details on the possible commands, see the help using this command.
To diagnose issues, examine the log located at /var/opt/ocient/log/ockmip.log
To perform actions on a particular drive or set of drives, you can manually specify with the --drives parameter.
NCERRInsufficentPermissions Error
When attempting to register the drives, you see this error.
To fix this, regenerate the certificate on the endpoint of the Thales device (as the root CA has no trust) in the Thales Administrator.
Disk Replacement
After you swap a disk, initialize it using the ockmip utility to add the encryption secret to Thales.
ockmip.service Status
Check the status after the boot of the system to ensure that all drives have been correctly unlocked.
Timeouts When Contacting Thales
If there is a network outage or if Thales maintenance happens, you might see this output when you attempt to unlock the drives.

