Using NVMe Local Storage for MSDP Cloud Cache
MSDP‑C supports using local NVMe storage on Kubernetes worker nodes as the cloud cache for MSDP Engine Pods. Configuring cloud cache on NVMe disks can significantly improve performance and reduce cloud storage costs for cloud‑backed MSDP deployments.
This section describes how to configure local NVMe storage on Kubernetes nodes for use as the cloud cache in an MSDP‑C deployment. The configuration is performed by specifying an annotation on the MSDP Scaleout custom resource (CR) and updating the cloud cache configuration to use the NVMe‑backed mount points.
To improve MSDP-C performance and reduce costs, configure the following settings to use the NVMe local storage of Kubernetes nodes as the cloud cache:
Configure NVMe devices for MSDP engine pods:
Local NVMe devices are configured through an annotation on the MSDPScaleout CR. The annotation specifies one or more block devices that are initialized and mounted for exclusive use by MSDP Engine Pods.
Create the MSDP node pool with a VM type having NVMe local storage.
Example: For Azure cloud, use VM sizes from the L‑series, such as , which provide NVMe local storage.
Specify the following annotation key-value pair for MSDP Scaleout in the Environment CR:
msdp.veritas.com/blkdev-params: <dev-params>
Where <dev-params> is specified in the following format:
<dev1>:<sub-mnt1>:<fstype1>;<dev2>:<sub-mnt2>:<fstype2>;...
Example 1: Single NVMe device: msdp.veritas.com/blkdev-params: /dev/nvme0n1:nvme-mnt:xfs
Example 2: Multiple NVMe devices: msdp.veritas.com/blkdev-params: /dev/nvme0n1:nvme-mnt:xfs;/dev/nvme1n1:nvme-mnt2:xfs
Initialize and mount NVMe device:
The annotation key-value pair is used to specify the additional block devices exclusively used by the MSDP Engine Pods.
During MSDP engine pod initialization:
Each device is formatted with the specified filesystem.
Each device is mounted in the engine container under
/bdev-mnts/folder.For example, for
/dev/nvme0n1:nvme-mnt:xfsannotation, the/dev/nvme0n1device is formatted as and mounted at/bdev-mnts/nvme-mnt.
Note:
If the annotation is added after MSDP is already configured, the MSDP engine pods must be manually deleted. The NVMe devices are mounted only when the engine pods are restarted.
Configure Cloud cache:
After the NVMe devices are mounted, update the cloud cache configuration so that cloud volumes use the NVMe‑backed paths.
Perform the following steps on each MSDP engine pod:
Update the cloud cache path by editing the cloud configuration file:
/msdp/data/dp1/pdvol/etc/puredisk/cloud.jsonChange the value of cache path to a subdirectory under the NVMe mount point.
For example, update the default
/msdp/data/dp1/pdvol/data/ds_3cache path to NVMe based cache path as/bdev-mnts/nvme-mnt/ds_3.Note:
You may also adjust the values of DownloadDataCacheGB and DownloadMetaCacheGB based on the available NVMe disk capacity.
Stop MSDP services: Disable health checks and stop MSDP services as follows:
/usr/openv/pdde/health_check.sh disable
/usr/openv/pdde/pdconfigure/pdde stop
Delete the existing cloud cache data by using the following command:
rm -rf /msdp/data/dp1/pdvol/data/ds_3
Restart the MSDP services by using the following command:
/usr/openv/pdde/health_check.sh enable
Wait for couple of minutes for the MSDP services to restart automatically and for the MSDP engine pods to return to the Ready state.
To speed up service startup, you can manually start MSDP services as follows using the default root user:
/usr/openv/pdde/startup.sh