strmvol volumes mount Object Storage Service (OSS) data as virtual block devices to optimize the read performance of numerous small OSS files.
Solution overview
OSS supports massive data storage and the pay-as-you-go billing method and provides convenient access features based on the HTTP protocol. In containerized scenarios, a FUSE file system is usually used to mount OSS data. In small file reading scenarios, you can use the virtual block device solution to mount OSS data as strmvol volumes.
strmvol volumes directly access OSS data through virtual block devices, eliminating the performance bottleneck of the FUSE intermediate layer by moving the data access path directly to the storage driver layer to improve access speed. This solution is particularly suitable for scenarios that require fast traversal of millions of small files, such as AI training dataset loading and time series log analysis.
Scenarios
You can use the virtual block device solution (strmvol volumes) described in this topic if your business meets the following characteristics.
The solution that uses FUSE is suitable for most scenarios. For more information, see Use ossfs 1.0 static volumes, Use ossfs 1.0 dynamic volumes, and Use ossfs 2.0 volumes.
Data is stored in OSS buckets and does not need to be updated during business running.
Your business is not sensitive to the extended information of the file system.
Read-only scenarios, especially those that involve numerous small files or random reads.
Operation method
To use strmvol volumes, you need to deploy the strmvol-csi-driver component from the marketplace. Deploying this component generates the following resources:
Resource name | Resource type | Feature |
strmvold | DaemonSet | Responsible for managing virtual block devices created on the node. |
strmvol-csi-plugin | DaemonSet | Implements the mount and unmount capabilities of strmvol volumes. |
strmvol-csi-provisioner | Deployment | Implements the dynamic creation capability of strmvol volumes. |