ossfs 2.0 adalah klien Filesystem in Userspace (FUSE) yang memasang bucket Alibaba Cloud Object Storage Service (OSS) ke sistem file lokal, memungkinkan kontainer aplikasi mengakses data di OSS melalui operasi POSIX seolah-olah mengakses file lokal. Dibandingkan dengan ossfs 1.0, ossfs 2.0 menawarkan peningkatan performa signifikan dalam pembacaan dan penulisan sekuensial, serta pembacaan file kecil dengan konkurensi tinggi. ossfs 2.0 cocok untuk skenario yang memerlukan akses penyimpanan berkinerja tinggi, seperti pelatihan AI, inferensi, pemrosesan big data, dan kendaraan otonom.
Perbaikan performa
ossfs 2.0 memberikan peningkatan performa signifikan dibandingkan ossfs 1.0 dalam pembacaan dan penulisan sekuensial, serta pembacaan file kecil dengan konkurensi tinggi. Untuk informasi lebih lanjut, lihat Performance Testing.
Performa penulisan sekuensial: Dalam skenario penulisan sekuensial file besar single-threaded, ossfs 2.0 menyediakan bandwidth hampir 18 kali lipat dari ossfs 1.0.
Performa pembacaan sekuensial
Dalam skenario pembacaan sekuensial file besar single-threaded, ossfs 2.0 menyediakan bandwidth sekitar 8,5 kali lipat dari ossfs 1.0.
Dalam skenario pembacaan sekuensial file besar multi-threaded (4 thread), ossfs 2.0 menyediakan bandwidth lebih dari 5 kali lipat dari ossfs 1.0.
Performa pembacaan file kecil secara konkuren: Dalam skenario pembacaan file kecil dengan konkurensi tinggi (128 thread), ossfs 2.0 menyediakan bandwidth lebih dari 280 kali lipat dari ossfs 1.0.
Skenario
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 pembacaan sekuensial dan acak serta penulisan sekuensial (append-only), dan tidak memerlukan semantik POSIX penuh.
Batasan
Persyaratan izin: AccessKey harus memiliki izin penuh pada bucket atau awalan target. Jika tidak, operasi mount dapat gagal atau berjalan tidak normal.
Batasan kelas penyimpanan: Anda tidak dapat memasang bucket dengan kelas penyimpanan Archive Storage, Cold Archive, atau Deep Cold Archive.
Batasan nama file: Nama file dibatasi hingga 255 karakter karena batasan Linux. File atau folder di OSS yang namanya melebihi batas ini tidak akan terlihat di titik pemasangan.
Batasan pembacaan file: ossfs hanya mengunggah file baru ke OSS setelah handle file terkait ditutup. Membaca file sebelum handlenya ditutup dapat menyebabkan error.
Batasan penulisan file: Penulisan acak dan penulisan konkuren ke file yang sama tidak didukung. Ukuran part default adalah 8.388.608 byte (8 MiB). Oleh karena itu, ukuran file maksimum yang didukung adalah 83.886.080.000 byte (78,125 GiB). Anda dapat mengonfigurasi ukuran part menggunakan opsi mount upload_buffer_size.
Operasi rename file (non-atomik)
Pertama, salin file tersebut. Kemudian, hapus file remote.
Folder: Operasi ini pertama-tama menyalin semua file, lalu menghapus file sumber dalam satu operasi bulk. Secara default, operasi rename folder dibatasi hingga 2 juta file turunan. Anda dapat mengonfigurasi batas ini menggunakan opsi mount rename_dir_limit.
Konsistensi penulisan konkuren: Saat beberapa klien memasang bucket yang sama dan menulis ke file yang sama secara konkuren, konsistensi data tidak dapat dijamin.
Kompatibilitas API POSIX: Kompatibel sebagian. Untuk informasi lebih lanjut, lihat POSIX API support.
Fitur
Sorotan fitur
Menawarkan kompatibilitas POSIX dasar dan berfokus pada memaksimalkan performa baca-tulis sisi server OSS.
Memberikan performa baca-tulis sekuensial yang efisien untuk file besar melalui optimasi end-to-end pada jalur baca-tulis.
Memungkinkan pemuatan konkuren file kecil yang efisien melalui manajemen metadata yang dioptimalkan.
Dukungan API POSIX
Tabel berikut membandingkan dukungan API POSIX pada ossfs 1.0 dan ossfs 2.0.
Kategorisasi | Operasi/Fitur | ossfs 1.0 | ossfs 2.0 |
Operasi file dasar |
| ||
| |||
| |||
Pembacaan dan penulisan file |
| ||
| Supports random writes (requires a disk cache) | Supports only sequential writes (no disk cache required) | |
| (can be truncated to any size) | Only supports truncating a file to zero length | |
Operasi meta file |
| ||
| |||
| |||
Operasi folder |
| ||
| |||
| |||
Izin dan properti |
| ||
| |||
| |||
| |||
Fitur tambahan |
| ||
| |||
|
Cara kerja
Klien ossfs 2.0 berjalan sebagai kontainer dalam sebuah Pod di namespace ack-csi-fuse.
Referensi
Untuk memasang bucket OSS sebagai volume persisten ossfs 2.0 menggunakan volume persisten statis (PV) dan klaim volume persisten (PVC), lihat Use a static ossfs 2.0 persistent volume.
Untuk memasang bucket OSS sebagai volume persisten ossfs 2.0 menggunakan volume penyimpanan dinamis, lihat Use a dynamic ossfs 2.0 persistent volume.