ossfs 2.0

更新时间:
复制 MD 格式

ossfs 2.0 is a client that provides high-performance access to Object Storage Service (OSS) by mounting it as a file system. It delivers excellent sequential read and write performance and fully leverages the high bandwidth of OSS.

Performance improvements

ossfs 2.0 offers significant performance improvements over ossfs 1.0 in sequential read and write operations, and in high-concurrency reads of small objects. For more information about the performance of ossfs 2.0, see Performance testing.

  • Sequential write performance: In single-threaded, large-object sequential write scenarios, ossfs 2.0 provides nearly 18 times the bandwidth of ossfs 1.0.

  • Sequential read performance: In single-threaded or multi-threaded (4 threads) large-object sequential read scenarios, ossfs 2.0 provides more than 3 times the bandwidth of ossfs 1.0.

  • Concurrent small-object read performance: In high-concurrency (128 threads) small-object read scenarios, ossfs 2.0 provides more than 20 times the bandwidth of ossfs 1.0.

Use cases

ossfs 2.0 is suitable for scenarios that require high-performance storage access, such as AI training, inference, big data processing, autonomous driving, and other compute-intensive workloads. These workloads primarily involve sequential and random reads, sequential (append-only) writes, and do not require full POSIX semantics.

Runtime environment

ossfs 2.0 is built on Filesystem in Userspace (FUSE).

Architecture

Operating system

Version

Download URL

x86_64

CentOS

CentOS 7 and CentOS 8

ossfs2_2.0.7_linux_x86_64.rpm

Rocky Linux

Rocky Linux 9.0 and later

Alibaba Cloud Linux

Alibaba Cloud Linux 2 and later

Ubuntu

Ubuntu 20.04 LTS and later LTS versions

ossfs2_2.0.7_linux_x86_64.deb

Debian

Debian 11 and later

aarch64

Alibaba Cloud Linux

Alibaba Cloud Linux 3

ossfs2_2.0.7_linux_aarch64.rpm

Limitations

  • Permission requirements: The AccessKey you use must have full permissions for the target bucket or prefix. Insufficient permissions may cause the mount operation to fail or other operations to behave unexpectedly.

  • Storage class limitations: We recommend against mounting buckets in the Archive Storage, Cold Archive Storage, or Deep Cold Archive Storage classes.

  • Object and directory name limitations: Object and directory names are limited to 255 characters due to a Linux constraint. Objects or directories in OSS with names that exceed this limit are not visible in the mount point.

  • Object read limitations: ossfs uploads newly written objects to OSS only after the corresponding file handles are closed. Reading an object before its handle is closed may cause an error.

  • Object write limitations: Random writes and concurrent writes to the same object are not supported. The default part size is 8,388,608 bytes (8 MiB), which limits the maximum size of a writable object to 83,886,080,000 bytes (78.125 GiB). You can configure the part size by using the upload_buffer_size mount option.

  • Object rename operations (non-atomic)

    • Objects: The operation first copies the source object to the destination and then deletes the source object.

    • Directories: The operation copies all objects under the source directory to the destination and then performs a bulk deletion of the source objects. By default, the rename operation is limited to 2 million descendant objects. You can change this limit by using the rename_dir_limit mount option.

  • Concurrent write consistency: ossfs 2.0 does not guarantee data consistency when multiple clients mount the same bucket and write to the same object concurrently.

  • POSIX API compatibility: Partially compatible. For details, see POSIX API support.

Features

Feature highlights

  • Offers basic POSIX compatibility and focuses on maximizing OSS server-side read and write performance.

  • Provides efficient sequential read and write performance for large objects through end-to-end optimization of the read and write path.

  • Enables efficient concurrent loading of small objects through optimized metadata management.

  • Lets you automatically mount an OSS bucket at system startup by configuring fstab.

POSIX API support

The following table compares the POSIX API support in ossfs 1.0 and ossfs 2.0.

Feature category

Operation

ossfs 1.0

ossfs 2.0

Basic object operations

open

Supported

Supported

flush

Supported

Supported

close

Supported

Supported

Object reads and writes

read

Supported

Supported

write

Supports random writes (requires a disk cache)

Supports only sequential writes (no disk cache required)

truncate

Supported (can be truncated to any size)

Only supports truncating an object to zero length

Object meta operations

create

Supported

Supported

unlink

Supported

Supported

rename

Supported

Supported

Directory operations

mkdir

Supported

Supported

readdir

Supported

Supported

rmdir

Supported

Supported

Permissions and attributes

getattr

Supported

Supported

chmod

Supported

Unsupported

chown

Supported

Unsupported

utimes

Supported

Supported

Extended features

setxattr

Supported

Unsupported

symlink

Supported

Unsupported

lock

Unsupported

Unsupported

References