When running Proxmox VE on enterprise-grade servers such as the HPE ProLiant DL380 Gen9, there are many situations where physical disks and RAID configurations need to be managed directly from the operating system. Proxmox VE is a Debian-based virtualization platform. When an HPE Smart Array controller such as the P440ar is used, disk and RAID management does not necessarily have to be performed only through the HPE Smart Storage Administrator interface during server boot. With the appropriate management utility installed, these operations can also be performed directly from the Proxmox Shell.
For this purpose, one of the most useful tools is the HPE Smart Storage Administrator CLI, commonly known as ssacli.
Installing ssacli on Proxmox VE
First, connect to the Proxmox server through SSH or open the Shell section from the Proxmox web interface. Move to the temporary directory:
cd /tmp
Then download the appropriate HPE ssacli package. For example:
wget https://downloads.linux.hpe.com/SDR/repo/mcp/Debian/pool/non-free/ssacli-6.60-8.0_amd64.deb
An example package version may look like this:
ssacli-6.60-8.0_amd64.deb
Install the package with:
apt install -y ./ssacli-6.60-8.0_amd64.deb
Before using a specific package version in production, it is strongly recommended to verify that it is compatible with the installed Smart Array controller and its firmware version. After installation, confirm that the utility is available:
ssacli version
If the command returns the installed version successfully, ssacli is ready to use.
Checking the Smart Array Controller
Before making any RAID changes, the current controller status should be reviewed.
Use:
ssacli ctrl all show detail
This command provides detailed information about the installed Smart Array controllers. Depending on the controller and firmware, the output may include information such as:
- Controller model
- Controller slot
- Firmware version
- Cache status
- Battery or capacitor status
- Overall controller health
- Physical drive information
- Logical drive configuration
Before changing the storage configuration, it is good practice to verify that the controller is operating normally.
Viewing the Existing RAID Configuration
To display the existing RAID configuration, use:
ssacli ctrl slot=0 show config
The following parameter:
slot=0
represents the controller slot.
If you are not sure which slot the Smart Array controller is using, run:
ssacli ctrl all show
This helps identify the correct controller before performing any configuration changes. You may then display the controller configuration with:
ssacli ctrl slot=0 show config
The physical disks may appear in a format similar to:
physicaldrive 2I:3:7
physicaldrive 2I:3:8
physicaldrive 2I:3:9
physicaldrive 2I:3:10
Values such as:
2I:3:7
represent the physical location or addressing information of the drive as reported by the Smart Array controller. These values must be verified carefully before creating a RAID array.
Creating RAID 1 from the Proxmox Shell
Assume that we want to create a RAID 1 array using two physical drives.
For example:
2I:3:7
2I:3:8
The following command can be used:
ssacli ctrl slot=0 create type=ld drives=2I:3:7,2I:3:8 raid=1
Let’s break down the command.
ctrl slot=0
Specifies the Smart Array controller where the operation will be performed.
create type=ld
Creates a new Logical Drive.
drives=2I:3:7,2I:3:8
Specifies which physical drives will be included in the array.
raid=1
Defines the RAID level as RAID 1. RAID 1 mirrors data across two drives. If one drive fails, the logical volume can continue operating from the remaining drive until the failed disk is replaced.
Verifying the RAID Configuration
After creating the RAID array, verify the configuration again:
ssacli ctrl slot=0 show config
For more detailed information:
ssacli ctrl slot=0 show config detail
You can also review the overall controller health:
ssacli ctrl all show detail
These checks help confirm that the new Logical Drive has been created correctly and that the physical drives are in the expected state.
Viewing Physical Drive Details
On systems with several physical drives, reviewing each disk before creating or modifying an array is particularly important. To list the physical drives:
ssacli ctrl slot=0 pd all show
For detailed information:
ssacli ctrl slot=0 pd all show detail
This can provide useful information about the installed disks, including their status, model, capacity, and controller addressing.
Important Warning: RAID Operations Can Cause Data Loss
RAID configuration commands should always be used with caution. Commands that create, delete, or modify Logical Drives can result in permanent data loss if the wrong disks are selected. Before making changes, it is advisable to review at least the following:
ssacli ctrl all show detail
ssacli ctrl slot=0 show config
ssacli ctrl slot=0 pd all show detail
These commands help confirm that the correct controller and physical drives have been identified. For production environments, valid and tested backups should also be available before modifying the storage configuration.
ssacli and Smart Array Firmware Compatibility
One of the most important considerations when using ssacli is compatibility between the SSA CLI version and the Smart Array controller firmware. In some environments, RAID changes performed through ssacli may later appear differently when the administrator enters the HPE Smart Storage Administrator interface through the server’s boot environment. Possible symptoms may include:
- Physical disks not appearing as expected in HPE SSA
- A red warning or error indicator on the RAID controller
- Differences between the RAID state shown by the CLI and the HPE SSA interface
- Unexpected controller health warnings
If such a situation occurs, it should not immediately be assumed that the RAID array itself is damaged.
The following should be checked first:
Smart Array controller and firmware information
ssacli ctrl all show detail
and the installed SSA CLI version:
ssacli version
Firmware and management utility compatibility should always be reviewed when unexpected behavior occurs. This is especially important on older platforms such as the HPE ProLiant DL380 Gen9 with the P440ar controller. Instead of using an arbitrary ssacli package found online, it is safer to use a version that is appropriate for the installed hardware and controller firmware.
Hardware RAID or ZFS?
Another important architectural decision when deploying Proxmox is whether the system will use traditional hardware RAID or ZFS. If RAID 1, RAID 5, RAID 6, or RAID 10 is created directly on the HPE Smart Array P440ar, the RAID controller handles the physical disk redundancy.
The architecture typically looks like this:
Physical Drives
↓
HPE Smart Array P440ar
↓
RAID 1 / RAID 5 / RAID 6 / RAID 10
↓
Logical Drive
↓
Proxmox VE
In this scenario, Proxmox sees the Logical Drive presented by the Smart Array controller rather than the individual physical disks. If ZFS is planned, the architecture should be different. A typical ZFS design is:
Physical Drives
↓
Direct Disk Access
↓
Proxmox VE
↓
ZFS Mirror / RAIDZ
ZFS is generally expected to have direct access to the underlying disks so it can manage redundancy, checksums, disk health, and data integrity itself. For that reason, placing ZFS on top of a hardware RAID Logical Drive is generally not the preferred design. The storage architecture should therefore be decided before RAID configuration begins.
Useful ssacli Commands
Below are several useful commands for day-to-day Smart Array management.
List all controllers:
ssacli ctrl all show
Display detailed controller information:
ssacli ctrl all show detail
Display the RAID configuration:
ssacli ctrl slot=0 show config
Display detailed RAID configuration:
ssacli ctrl slot=0 show config detail
List physical drives:
ssacli ctrl slot=0 pd all show
Display detailed physical drive information:
ssacli ctrl slot=0 pd all show detail
Display Logical Drives:
ssacli ctrl slot=0 ld all show
Create a RAID 1 Logical Drive:
ssacli ctrl slot=0 create type=ld drives=2I:3:7,2I:3:8 raid=1
Check the installed SSA CLI version:
ssacli version
When Proxmox VE is installed on an HPE ProLiant DL380 Gen9, Smart Array controllers such as the HPE P440ar can be managed directly from the Proxmox command line using ssacli.
With the appropriate utility installed, administrators can review controller health, inspect physical disks, display existing Logical Drives, and create RAID configurations without rebooting the server and entering HPE SSA.
However, RAID management is not only about running the correct command.
The following elements must also be considered together:
- Smart Array controller model
- Controller firmware version
- SSA CLI version
- Physical disk health
- Existing Logical Drive configuration
- Proxmox storage architecture
- Hardware RAID versus ZFS design
Before modifying RAID settings in a production environment, the existing configuration should always be reviewed carefully, backups should be verified, and compatibility between the HPE management utility and the Smart Array firmware should be confirmed.
Following these practices helps reduce the risk of configuration errors, storage inconsistencies, and unexpected RAID controller behavior.

