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 utilizes the high bandwidth of OSS.
Performance improvements
ossfs 2.0 delivers significant performance improvements over ossfs 1.0 in sequential reads and writes, and in highly concurrent reads of small files. For more information, see Performance Testing.
Sequential write performance: In single-threaded, large-file 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-file sequential read scenarios, ossfs 2.0 provides more than 3 times the bandwidth of ossfs 1.0.
Concurrent small-file read performance: In high-concurrency (128 threads) small-file read scenarios, ossfs 2.0 provides more than 20 times the bandwidth of ossfs 1.0.
Scenarios
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 and 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, CentOS 8 | |
Alibaba Cloud Linux | Alibaba Cloud Linux 2, Alibaba Cloud Linux 3 | ||
Ubuntu | Ubuntu 20.04 LTS and later LTS versions | ||
Debian | Debian 11 and later | ||
aarch64 | Alibaba Cloud Linux | Alibaba Cloud Linux 3 |
Limits
Permission requirements: The AccessKey must have full permissions on the target bucket or prefix. Otherwise, the mount operation may fail or cause abnormal behavior.
Storage class limitations: You cannot mount buckets that use the Archive Storage, Cold Archive, or Deep Cold Archive storage classes.
File name limitations: File names are limited to 255 characters because of a Linux constraint. Files or folders in OSS with names that exceed this limit are not visible in the mount target.
File read limitations: ossfs uploads new files to OSS only after the corresponding file handles are closed. Reading a file before its handle is closed may cause an error.
File write limitations: Random writes and concurrent writes to the same file are not supported. The default part size is 8,388,608 bytes (8 MiB). Therefore, the maximum supported file size is 83,886,080,000 bytes (78.125 GiB). You can configure the part size using the upload_buffer_size mount option.
File rename operations (non-atomic)
File: Copies the file and then deletes the original remote file.
Folders: This operation first copies all files and then deletes the source files in a bulk operation. By default, a folder rename operation is limited to 2 million descendant files. You can configure this limit using the rename_dir_limit mount option.
Concurrent write consistency: When multiple clients mount the same bucket and write to the same file concurrently, data consistency cannot be guaranteed.
POSIX API compatibility: Partially compatible. For more information, see Supported POSIX APIs.
Features
Features
Offers basic POSIX compatibility and focuses on maximizing the server-side read and write performance of OSS.
Delivers efficient sequential read and write performance for large files through end-to-end optimization of the read and write path.
Enables efficient concurrent loading of small files through optimized metadata management.
Enables automatic mounting of OSS buckets at startup by configuring fstab.
POSIX API support
The following table compares the POSIX API support in ossfs 1.0 and ossfs 2.0.
Categorization | Operation/Feature | ossfs 1.0 | ossfs 2.0 |
Basic file operations |
| ||
| |||
| |||
File reads and writes |
| ||
| Supports random writes (requires a disk cache) | Supports only sequential writes (no disk cache required) | |
| (File size is adjustable) | Only supports truncating a file to zero length | |
File meta operations |
| ||
| |||
| |||
Folder operations |
| ||
| |||
| |||
Permissions and properties |
| ||
| |||
| |||
| |||
Extended features |
| ||
| |||
|