OSS volume overview

Updated at:

Mount OSS buckets as volumes to ACK pods for shared, low-cost persistent storage of unstructured data.

Introduction to OSS

Object Storage Service (OSS) is a secure, low-cost cloud storage service with high durability and availability. OSS provides storage classes from hot to cold, such as Standard, Infrequent Access, Archive, and Cold Archive. Select a class based on billing method and access frequency. See Storage solution selection.

Important

See Billing overview for OSS billing.

Use cases

Low-cost and massive shared storage space, which suits data that is seldom modified after it is written.

Common use cases:

  • Shared data OSS is shared storage, so multiple pods can access the same data at the same time. Data in OSS is not cleared when a pod is deleted, which makes OSS suitable for sharing data between pods.

  • Read-mostly scenarios for configuration files, images, videos, and other media files OSS suits unstructured data such as configuration files, images, audio and video files, and any other object that does not require frequent modification. If your business needs to change file content, select an ossfs 1.0 volume for better POSIX compatibility.

  • High-concurrency batch processing scenarios such as AI inference and data analytics The high server-side bandwidth of OSS suits high-concurrency batch processing, such as AI training, data analytics, autonomous driving, and other compute-intensive workloads and workflows. These workloads mainly involve sequential and random reads and sequential (append-only) writes. Select an ossfs 2.0 volume for higher throughput.

  • Data security scenarios with demanding authentication and disaster recovery requirements OSS supports zone-redundant disaster recovery across three zones in the same region and server-side encryption capabilities such as Key Management Service (KMS). It also supports MD5 verification to guarantee data integrity during uploads and downloads, and it supports two object-level authentication methods: RAM and OSS bucket policies.

Note

Client selection

OSS volumes use a Filesystem in Userspace (FUSE) client or virtual block device to mount object storage, with limited POSIX compatibility compared to local and block storage.

The following clients are available for OSS volumes. See Client selection reference.

Client

Type

Description

Required storage component version

ossfs 1.0 (default)

FUSE

Supports most POSIX operations, including append writes, random writes, and user permissions. See How it works and Version updates and new features.

Always supported. See ossfs 1.0 release notes.

ossfs 2.0

FUSE

Supports full reads and sequential append writes. Optimized for read-heavy scenarios with significantly improved read performance. See Overview of ossfs 2.0.

CSI component version v1.33.1 or later.

strmvol

Virtual block device

Supports read-only scenarios only. Uses virtual block devices to resolve FUSE performance bottlenecks with many small files.

Requires the strmvol-csi-driver component in addition to CSI.

Usage notes

Limitations

Note

These limitations mainly apply to ossfs 1.0 in read/write scenarios. ossfs 2.0 and strmvol primarily support read operations and are largely unaffected.

Random and append writes create a local file before uploading to OSS. Due to OSS storage characteristics:

  • File and folder renames are not atomic.

  • Avoid concurrent writes and direct compression/decompression in the mount path.

    Important

    In multi-write scenarios, coordinate client behavior. ACK does not guarantee metadata or data consistency from concurrent writes.

Additional limitations:

  • Hard links are not supported.

  • Buckets in the Archive Storage, Cold Archive, or Deep Cold Archive storage class cannot be mounted.

  • The readdir operation sends headObject requests for all objects in the path, which may affect performance in directories with many files. If file permissions and attributes are not critical, enable -o readdir_optimize. See New readdir optimization feature.

  • CSI plugin versions earlier than v1.20.7 detect only local modifications, not external changes from other clients or tools.

  • For CSI versions earlier than 1.28, ossfs runs directly on the node and supports only CentOS, Alibaba Cloud Linux, ContainerOS, and Anolis OS. For unsupported operating systems, upgrade the CSI component.