ossfs 2.0 adalah klien yang menyediakan akses berkinerja tinggi ke Object Storage Service (OSS) dengan memasangnya sebagai sistem file. Fitur ini menawarkan kinerja baca dan tulis sekuensial yang sangat baik serta memanfaatkan bandwidth tinggi OSS secara optimal.
Perbaikan kinerja
ossfs 2.0 memberikan peningkatan kinerja signifikan dibandingkan ossfs 1.0 dalam operasi baca dan tulis sekuensial, serta dalam pembacaan objek kecil dengan konkurensi tinggi. Untuk informasi lebih lanjut mengenai kinerja ossfs 2.0, lihat Pengujian kinerja.
-
Kinerja tulis sekuensial: Dalam skenario tulis sekuensial single-threaded untuk objek besar, ossfs 2.0 menyediakan bandwidth hampir 18 kali lipat dibandingkan ossfs 1.0.
-
Kinerja baca sekuensial: Dalam skenario baca sekuensial objek besar baik single-threaded maupun multi-threaded (4 thread), ossfs 2.0 menyediakan bandwidth lebih dari 3 kali lipat dibandingkan ossfs 1.0.
-
Kinerja baca objek kecil secara konkuren: Dalam skenario baca objek kecil dengan konkurensi tinggi (128 thread), ossfs 2.0 menyediakan bandwidth lebih dari 20 kali lipat dibandingkan ossfs 1.0.
Kasus penggunaan
ossfs 2.0 cocok untuk skenario yang memerlukan akses penyimpanan berkinerja tinggi, seperti pelatihan AI, inferensi, pemrosesan big data, kendaraan otonom, dan beban kerja komputasi-intensif lainnya. Beban kerja tersebut terutama melibatkan baca sekuensial dan acak, tulis sekuensial (append-only), serta tidak memerlukan semantik POSIX penuh.
Lingkungan runtime
ossfs 2.0 dibangun di atas Filesystem in Userspace (FUSE).
|
Architecture |
Operating system |
Version |
Download URL |
|
x86_64 |
CentOS |
CentOS 7 dan CentOS 8 |
|
|
Rocky Linux |
Rocky Linux 9.0 dan versi setelahnya |
||
|
Alibaba Cloud Linux |
Alibaba Cloud Linux 2 dan versi setelahnya |
||
|
Ubuntu |
Ubuntu 20.04 LTS dan versi LTS setelahnya |
||
|
Debian |
Debian 11 dan versi setelahnya |
||
|
aarch64 |
Alibaba Cloud Linux |
Alibaba Cloud Linux 3 |
Batasan
-
Persyaratan izin: AccessKey yang Anda gunakan harus memiliki izin penuh untuk bucket atau awalan target. Izin yang tidak mencukupi dapat menyebabkan operasi mount gagal atau operasi lain berperilaku tidak sesuai harapan.
-
Batasan kelas penyimpanan: Kami tidak menyarankan memasang bucket yang menggunakan kelas penyimpanan Archive Storage, Cold Archive Storage, atau Deep Cold Archive Storage.
-
Batasan nama objek dan direktori: Nama objek dan direktori dibatasi hingga 255 karakter karena batasan Linux. Objek atau direktori di OSS yang namanya melebihi batas ini tidak akan terlihat di titik mount.
-
Batasan pembacaan objek: ossfs hanya mengunggah objek yang baru ditulis ke OSS setelah handle file terkait ditutup. Membaca objek sebelum handle-nya ditutup dapat menyebabkan error.
-
Batasan penulisan objek: Dalam mode default, tulis acak dan tulis konkuren ke objek yang sama tidak didukung. Ukuran part default adalah 8.388.608 byte (8 MiB), yang membatasi ukuran maksimum objek yang dapat ditulis menjadi 83.886.080.000 byte (78,125 GiB). Anda dapat mengonfigurasi ukuran part menggunakan opsi mount upload_buffer_size. Mulai dari v2.0.9, Anda dapat menggunakan opsi mount temp_dir untuk mengaktifkan mode tulis acak berbasis direktori temporary lokal, yang mendukung penulisan pada offset arbitrer, pemotongan ke ukuran apa pun, serta handle tulis konkuren pada objek yang sama.
-
Operasi rename objek (non-atomik)
-
Objek: Operasi ini pertama-tama menyalin objek sumber ke tujuan, lalu menghapus objek sumber.
-
Direktori: Operasi ini menyalin semua objek di bawah direktori sumber ke tujuan, lalu melakukan penghapusan massal objek sumber. Secara default, operasi rename dibatasi hingga 2 juta objek turunan. Anda dapat mengubah batas ini menggunakan opsi mount rename_dir_limit.
-
-
Konsistensi tulis konkuren: ossfs 2.0 tidak menjamin konsistensi data ketika beberapa client memasang bucket yang sama dan menulis ke objek yang sama secara konkuren.
-
Kompatibilitas API POSIX: Kompatibel sebagian. Untuk detailnya, lihat Dukungan API POSIX.
Fitur
Sorotan fitur
-
Menawarkan kompatibilitas POSIX dasar dan berfokus pada memaksimalkan kinerja baca dan tulis sisi server OSS.
-
Memberikan kinerja baca dan tulis sekuensial yang efisien untuk objek besar melalui optimasi end-to-end pada jalur baca dan tulis.
-
Memungkinkan pemuatan konkuren objek kecil yang efisien melalui manajemen metadata yang dioptimalkan.
-
Memungkinkan Anda memasang bucket OSS secara otomatis saat startup sistem dengan mengonfigurasi fstab.
Dukungan API POSIX
Tabel berikut membandingkan dukungan API POSIX pada ossfs 1.0 dan ossfs 2.0.
|
Feature category |
Operation |
ossfs 1.0 |
ossfs 2.0 |
|
Basic object operations |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Object reads and writes |
|
|
|
|
|
Supports random writes (a disk cache must be configured) |
Supports only sequential writes by default (no disk cache required). Starting from v2.0.9, random writes are also supported (requires a disk cache). |
|
|
|
(can be truncated to any size) |
Only supports truncating an object to zero length by default. Starting from v2.0.9, truncation to any size is supported (requires a disk cache). |
|
|
Object meta operations |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Directory operations |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Permissions and attributes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Extended features |
|
|
|
|
|
|
Unsupported by default. Starting from v2.0.6, can be enabled via mount options. Supports symlinks pointing to paths within the mount point. |
|
|
|
|
|