Setting up the dual-controller to enable High Availability (HA) and auto-failover feature.#
Environment
RAID Model: All Supreme RAID model
Host Hardware: AMD/Intel
Operating System: Linux
SupremeRAID driver: 1.3.x or later
Description
This feature enables the SupremeRAID system to automatically fail over to another SupremeRAID card when one SupremeRAID card experiences an issue without any interruption in service. This increased reliability and availability ensures that the system remains operational even in the event of a single card failure.
This SupremeRAID's dual-controller feature represents a significant advancement in our solution's capabilities, providing even greater reliability, availability, and performance.
To activate the HA feature, you'll need two SupremeRAID cards installed in your bare metal server, and the SupremeRAID service activated. Overall, the drive group count would be four, with at least one drive group allocated to each controller. However, the number of drive groups assigned to each controller doesn't need to be equal.
It's worth noting that if one controller fails and the auto_failover function (which is enabled by default) is turned on, the drive group under the failed controller will be immediately taken over by the functioning controller. The drive group statuses of the taken-over groups will then switch to "Resync" mode to ensure data integrity.
- Activating two cards to enable the HA feature.
$ sudo graidctl apply license <LICENSE_KEY>
- Check the controller status
$ sudo graidctl list controller
- Check the NVMe devices' NUMA location
$ sudo graidctl list nvme_drive -n <NUMA_ID>
- Creating phyical_drives
$ sudo graidctl create physical_drive <DEVICE_PATH|NQN|WWID>
- Creating two drive_group with specific controllers
$ sudo graidctl create drive_group <RAID_MODE> <PD_IDs> -c <Controller_ID>
- Creating specific virtual_drive with different drive_group
$ sudo graidctl create virtual_drive <DG_ID> [<VD_SIZE>]
Note:
Typically, there is no need to manually set the controller while creating a drive_group as SupremRAID will automatically select the optimal controller based on the chosen physical_drive. However, it is possible to manually adjust the controller for the Drive_group by making edits to it.
$ sudo graidctl edit <DG_ID> controller <Controller_ID>
Output example:
