Untuk menggunakan ossfs dalam berbagai skenario, Anda perlu membuat file konfigurasi khusus untuk masing-masing skenario. File tersebut kemudian dapat ditentukan saat memasang bucket Object Storage Service (OSS). Topik ini menjelaskan cara menggunakan opsi mount untuk menghasilkan file konfigurasi sesuai skenario yang berbeda.
Buat file konfigurasi
Setiap file konfigurasi hanya dapat memasang satu bucket. Untuk memasang beberapa bucket, buat file konfigurasi terpisah untuk setiap bucket. Anda dapat menyesuaikan nama dan lokasi file tersebut, lalu menentukan file konfigurasi yang sesuai saat memasang bucket.
Anda dapat menetapkan nama dan lokasi file konfigurasi ossfs 2.0. Misalnya, buat file /etc/ossfs2.conf.
sudo touch /etc/ossfs2.confKonfigurasikan kredensial akses
AccessKey
Untuk ossfs 2.0.1 dan versi yang lebih baru, Anda dapat menggunakan variabel lingkungan untuk mengonfigurasi pasangan AccessKey pengguna Resource Access Management (RAM) guna memasang bucket OSS. Metode ini lebih aman dan praktis. Jika pasangan AccessKey telah dikonfigurasi melalui variabel lingkungan, jangan atur ulang di dalam file konfigurasi.
Variabel lingkungan
export OSS_ACCESS_KEY_ID=LTAI******************
export OSS_ACCESS_KEY_SECRET=8CE4**********************File konfigurasi
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
--oss_bucket=bucketName
--oss_access_key_id=AAAI************
--oss_access_key_secret=AAA8x*************************Peran RAM instans ECS
ossfs 2.0.2 dan versi yang lebih baru mendukung penentuan peran RAM instans dalam file konfigurasi untuk mengelola kredensial akses.
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
--oss_bucket=bucketName
--ram_role=EcsRamRoleOssTestProses eksternal
ossfs 2.0.5 dan versi yang lebih baru memungkinkan penggunaan perintah eksternal untuk menjalankan proses independen, yang dikenal sebagai proses eksternal. Setelah dieksekusi, hasil proses eksternal dikembalikan ke ossfs melalui standard output.
Perintah yang menghasilkan kredensial tidak boleh dapat diakses oleh proses atau pengguna yang tidak berwenang. Jika tidak, risiko keamanan dapat terjadi.
Perintah yang menghasilkan kredensial tidak boleh menulis informasi sensitif ke stderr karena informasi tersebut dapat ditangkap atau dicatat, sehingga berpotensi terpapar kepada pengguna yang tidak berwenang.
Perintah eksternal dapat mengembalikan kredensial jangka panjang atau sementara dalam format berikut:
Kredensial jangka panjang
{
"AccessKeyId" : "ak",
"AccessKeySecret" : "sk",
}Kredensial sementara
{
"AccessKeyId" : "ak",
"AccessKeySecret" : "sk",
"Expiration" : "2025-12-29T07:45:02Z",
"SecurityToken" : "token",
}Bidang Expiration menggunakan format ISO 8601 dan ditentukan dalam UTC.
Format konfigurasi untuk proses eksternal adalah sebagai berikut:
--credential_process=user-cmdAnda dapat mengonfigurasi use-cmd sesuai skenario Anda. Persyaratan konfigurasinya adalah sebagai berikut:
Jika parameter atau nama file mengandung spasi, bungkus string tersebut dengan tanda kutip ganda ("").
Program harus ditentukan dengan path lengkapnya, seperti
/bin/bash,/bin/echo, atau/bin/curl.Jangan sertakan variabel lingkungan, seperti
$HOME, dalam perintah.
Skenario umum adalah sebagai berikut:
Untuk menggunakan file sementara bernama /etc/creds.txt guna menyimpan kredensial, atur perintah menjadi
--credential_process=/bin/cat /etc/creds.txt.Untuk mengembalikan kredensial akses dari layanan kustom, atur perintah menjadi
--credential_process=/bin/curl <Custom Service Endpoint>.
ossfs hanya memeriksa apakah parameter berupa JSON yang valid dan mengandung bidang yang diperlukan. Pastikan perintah yang Anda konfigurasi dapat menghasilkan kredensial akses yang lengkap dan valid. Misalnya, jika menggunakan file sementara, pastikan pembaruan file dilakukan secara atomik. Anda juga dapat menggunakan mekanisme seperti flock untuk memastikan operasi baca-tulis bersifat saling eksklusif.
Format file konfigurasi
Deskripsi format
Formatnya adalah --<option>[=<value>]. -- merupakan awalan untuk opsi mount. <option> adalah nama opsi. [=<value>] adalah nilai opsi tersebut. Tanda kurung siku ([]) menunjukkan bahwa nilainya bersifat opsional.
--<option>[=<value>] Contoh konfigurasi
# Titik akhir wilayah tempat bucket berada.
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# Nama bucket.
--oss_bucket=bucketName
# ID AccessKey dan rahasia AccessKey. (Opsional) Untuk ossfs 2.0.1 dan versi yang lebih baru, Anda dapat mengonfigurasi kredensial akses menggunakan variabel lingkungan. Anda tidak perlu mengaturnya di file konfigurasi.
--oss_access_key_id=AAAI************
--oss_access_key_secret=AAA8x*************************Contoh konfigurasi umum
Untuk melihat titik akhir bucket, buka halaman Buckets. Pilih bucket yang dituju. Di panel navigasi sebelah kiri, klik Overview. Pada halaman Overview, temukan wilayah di bagian Port. Gambar berikut menunjukkan contoh untuk bucket di wilayah China (Hangzhou).

Buka file konfigurasi ossfs 2.0 Anda dan konfigurasikan berdasarkan contoh berikut. Semua contoh menggunakan titik akhir internal di wilayah China (Hangzhou). Titik akhir jaringan internal dan akselerator OSS hanya mendukung pemasangan dari instans dalam Virtual Private Cloud (VPC) yang sama di wilayah tersebut. Metode ini memberikan transmisi data yang lebih cepat dan stabil. Jangan gunakan ossfs dengan titik akhir publik karena latensi tinggi dan koneksi internet yang tidak stabil dapat menyebabkan masalah performa.
Memasang seluruh bucket
Anda dapat memasang semua folder dan file dalam satu bucket ke path lokal.
# Titik akhir wilayah tempat bucket berada.
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# Nama bucket.
--oss_bucket=bucketName
# ID AccessKey dan rahasia AccessKey. (Opsional untuk ossfs 2.0.1 dan versi yang lebih baru)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************Memasang folder tertentu dalam bucket
Saat memasang bucket, Anda dapat menentukan folder tertentu dalam bucket untuk dipasang ke path lokal.
# Titik akhir wilayah tempat bucket berada.
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# Nama bucket.
--oss_bucket=bucketName
# Path folder OSS. (Opsional)
--oss_bucket_prefix=folder-test/folder-prefix/
# ID AccessKey dan rahasia AccessKey. (Opsional untuk ossfs 2.0.1 dan versi yang lebih baru)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************Memasang bucket dan mengonfigurasi batas memori
Saat memasang bucket, Anda dapat mengalokasikan jumlah memori tertentu untuk digunakan oleh proses ossfs 2.0.
Jika Anda tidak mengonfigurasi batas memori, ossfs 2.0 secara default dioptimalkan untuk performa dan dapat menggunakan hingga sekitar 8 GB memori untuk operasi baca-tulis data guna mencapai performa terbaik. Jika sumber daya memori Anda terbatas, konfigurasikan opsi total_mem_limit untuk mencegah error kehabisan memori (OOM).
# Titik akhir wilayah tempat bucket berada.
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# Nama bucket.
--oss_bucket=bucketName
# Parameter batas memori, dalam byte. (Opsional)
--total_mem_limit=4294967296
# ID AccessKey dan rahasia AccessKey. (Opsional untuk ossfs 2.0.1 dan versi yang lebih baru)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************Memasang bucket dan mengaktifkan log debug
Saat memasang bucket, Anda dapat mengatur tingkat log ke debug serta menentukan path kustom untuk log tersebut.
# Titik akhir wilayah tempat bucket berada.
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# Nama bucket.
--oss_bucket=bucketName
# Path penyimpanan log. (Opsional) Pastikan folder /tmp/log sudah ada.
--log_dir=/tmp/log/ossfs2
# Tingkat log. (Opsional)
--log_level=debug
# ID AccessKey dan rahasia AccessKey. (Opsional untuk ossfs 2.0.1 dan versi yang lebih baru)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************Memasang bucket dan mengonfigurasi izin akses
Secara default, saat Anda menggunakan ossfs 2.0 untuk memasang bucket, semua pengguna diberikan izin baca-tulis untuk semua file. Jika memerlukan izin yang lebih ketat, gunakan konfigurasi berikut. Contoh ini hanya berlaku untuk ossfs 2.0.1 dan versi yang lebih baru.
Anda dapat memasang semua folder dalam seluruh bucket ke path lokal dan membatasi akses baca-tulis bagi pengguna non-root.
# Titik akhir wilayah tempat bucket berada. --oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com # Nama bucket. --oss_bucket=bucketName # Menolak akses untuk pengguna non-root (pengguna yang memasang bucket). --allow_other=false # Properti izin folder global. --dir_mode=0755 # Properti izin file global. --file_mode=0644 # ID AccessKey dan rahasia AccessKey. (Opsional untuk ossfs 2.0.1 dan versi yang lebih baru) --oss_access_key_id=LTAI****************** --oss_access_key_secret=8CE4**********************Anda dapat memasang semua folder dalam seluruh bucket ke path lokal, mengizinkan hanya pengguna root dan pengguna tertentu yang memiliki akses baca-tulis, sedangkan pengguna lain hanya memiliki akses read-only.
# Titik akhir wilayah tempat bucket berada. --oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com # Nama bucket. --oss_bucket=bucketName # Properti izin folder global. --dir_mode=0755 # Properti izin file global. --file_mode=0644 # UID dan GID pengguna yang ditentukan. Anda dapat menggunakan perintah id untuk mendapatkan UID dan GID pengguna. --uid=1000 --gid=1000 # ID AccessKey dan rahasia AccessKey. (Opsional untuk ossfs 2.0.1 dan versi yang lebih baru) --oss_access_key_id=LTAI****************** --oss_access_key_secret=8CE4**********************
Langkah selanjutnya
Setelah menginstal dan mengonfigurasi ossfs 2.0, Anda dapat memasang bucket ke sistem Linux lokal Anda. Untuk informasi selengkapnya, lihat Mount a bucket.
Referensi
Untuk informasi selengkapnya tentang opsi mount ossfs 2.0, lihat Mount options.