File konfigurasi Cloud Storage FUSE memungkinkan Anda menentukan perilaku Cloud Storage FUSE secara persisten dalam file YAML, alih-alih menentukan opsi setiap kali Anda memasang bucket. Untuk menggunakan file konfigurasi, tentukan jalurnya di
opsi --config-file saat Anda menjalankan perintah gcsfuse.
Dokumen ini menjelaskan format file konfigurasi dan kolom yang didukung. Anda juga dapat mengontrol perilaku yang sama menggunakan Cloud Storage FUSE CLI.
Format dan kolom file konfigurasi Cloud Storage FUSE
Contoh konfigurasi YAML berikut menunjukkan format dan kolom yang tersedia di Cloud Storage FUSE.
app-name: "APP_NAME" logging: file-path: "FILE_PATH" format: FORMAT severity: SEVERITY log-rotate: max-file-size-mb: MAX_FILE_SIZE backup-file-count: BACKUP_FILE_COUNT compress: COMPRESS cache-dir: "CACHE_DIR" file-cache: max-size-mb: MAX_SIZE cache-file-for-range-read: CACHE_FILE_FOR_RANGE_READ enable-parallel-downloads: ENABLE_PARALLEL_DOWNLOADS exclude-regex: EXCLUDE_REGEX include-regex: INCLUDE_REGEX parallel-downloads-per-file: PARALLEL_DOWNLOADS_PER_FILE max-parallel-downloads: MAX_PARALLEL_DOWNLOADS download-chunk-size-mb: DOWNLOAD_CHUNK_SIZE metadata-cache: negative-ttl-secs: ENABLE_NEGATIVE_TTL_SECS stat-cache-max-size-mb: STAT_CACHE_MAX_SIZE ttl-secs: TTL_SECS enable-metadata-prefetch: ENABLE_METADATA_PREFETCH metadata-prefetch-entries-limit: METADATA_PREFETCH_ENTRIES_LIMIT metadata-prefetch-max-workers: METADATA_PREFETCH_MAX_WORKERS only-dir: "ONLY_DIR" gcs-auth: anonymous-access: ANONYMOUS_ACCESS key-file: "KEY_FILE" reuse-token-from-url: REUSE_TOKEN_FROM_URL token-url: "TOKEN_URL" gcs-connection: billing-project: "BILLING_PROJECT" client-protocol: CLIENT_PROTOCOL custom-endpoint: "CUSTOM_ENDPOINT" http-client-timeout: HTTP_CLIENT_TIMEOUT limit-bytes-per-sec: "LIMIT_BYTES_PER_SEC" limit-ops-per-sec: "LIMIT_OPS_PER_SEC" max-conns-per-host: MAX_CONNS_PER_HOST max-idle-conns-per-host: MAX_IDLE_CONNS_PER_HOST sequential-read-size-mb: SEQUENTIAL_READ_SIZE implicit-dirs: IMPLICIT_DIRS file-system: kernel-list-cache-ttl-secs: KERNEL_LIST_CACHE_TTL_SECS ignore-interrupts: IGNORE_INTERRUPTS dir-mode: "DIR_MODE" file-mode: "FILE_MODE" fuse-options: FUSE_OPTIONS gid: GID rename-dir-limit: RENAME_DIR_LIMIT temp-dir: "TEMP_DIR" uid: UID foreground: FOREGROUND gcs-retries: max-retry-attempts: MAX_RETRY_ATTEMPTS max-retry-sleep: MAX_RETRY_SLEEP multiplier: "MULTIPLIER" metrics: cloud-metrics-export-interval-secs: CLOUD_METRICS_EXPORT_INTERVAL prometheus-port: PROMETHEUS_PORT debug: log-mutex: LOG_MUTEX exit-on-invariant-violation: EXIT_ON_INVARIANT_VIOLATION write: enable-streaming-writes: STREAMING_WRITES global-max-blocks: MAXIMUM_GLOBAL_BLOCKS read: enable-buffered-read: ENABLE_BUFFERED_READ global-max-blocks: MAXIMUM_GLOBAL_READ_BLOCKS profile: PROFILE
Kolom file konfigurasi Cloud Storage FUSE
Tabel berikut menjelaskan kolom yang dapat Anda tentukan dalam file konfigurasi Cloud Storage FUSE. Kecuali jika dinyatakan lain, semua kolom bersifat opsional.
| Kolom | Deskripsi | Nilai yang valid | Nilai default |
|---|---|---|---|
|
Nama aplikasi pemasangan. | Nilai string, misalnya: "my-bucket-mount". |
"" |
|
Jalur ke file log tempat log akan ditulis.
Jika kolom ini tidak ditentukan,
log akan dirutekan ke stdout saat Cloud Storage FUSE berjalan dalam
mode latar depan dan ke syslogs saat Cloud Storage FUSE berjalan dalam
mode latar belakang. |
Nilai string, misalnya: "/var/log". |
"" |
|
Menentukan format file log. |
|
json |
|
Tingkat keparahan yang Anda inginkan untuk dihasilkan oleh Cloud Storage FUSE. Tingkat keparahan diurutkan dari tingkat keparahan terendah hingga tertinggi. Misalnya, saat Anda menentukan |
|
info |
|
Ukuran maksimum dalam megabyte (MB) yang dapat dicapai file log sebelum dirotasi. | Bilangan bulat. Nilai minimum adalah 1. |
512 |
|
Jumlah maksimum file log yang dirotasi untuk dipertahankan, tidak termasuk file aktif tempat log ditulis. |
|
10 |
|
Menentukan apakah file log yang dirotasi dikompresi
menggunakan gzip. |
Nilai boolean: true, false |
true |
|
Mengaktifkan cache file dan menentukan direktori untuk menyimpan data cache file. |
Jalur, misalnya: "/tmp/gcsfuse-cache-path".
Nilai kosong menunjukkan bahwa kolom ini dinonaktifkan. Kolom ini dinonaktifkan secara default. |
|
|
Menentukan ukuran maksimum dalam MiB yang dapat digunakan oleh cache file dan memungkinkan Anda membatasi total kapasitas yang dapat digunakan cache file dalam direktori yang dipasang. |
|
-1 |
|
Menentukan apakah objek lengkap harus didownload secara asinkron dan disimpan di direktori cache Cloud Storage FUSE saat pembacaan pertama selesai dari offset bukan nol. Kolom ini harus
disetel ke true jika Anda berencana melakukan beberapa pembacaan acak
atau pembacaan parsial.
|
Nilai boolean: true, false |
false |
|
Mempercepat pembacaan file besar dengan menggunakan direktori cache file sebagai buffer pengambilan data di awal menggunakan beberapa worker untuk mendownload beberapa bagian file secara paralel. Download paralel otomatis diaktifkan saat Anda mengaktifkan penyimpanan file dalam cache. Untuk mempelajari lebih lanjut tentang caching file, lihat Menggunakan caching file Cloud Storage FUSE. Untuk mempelajari lebih lanjut download paralel dan cara mengonfigurasi properti pendukung, Download paralel. |
Nilai boolean: true, false. |
true |
|
Ekspresi reguler yang menentukan file yang akan dikecualikan dari penyimpanan dalam cache.
Jika file cocok dengan ekspresi reguler ini, file tersebut tidak akan di-cache, meskipun juga
cocok dengan include-regex.
Ekspresi reguler dicocokkan dengan jalur file dalam format
bucket_name/object_key. Untuk mengetahui informasi selengkapnya, lihat
Mengontrol kemampuan cache pada tingkat perincian file menggunakan ekspresi reguler. |
Nilai string yang mewakili ekspresi reguler. | "" |
|
Ekspresi reguler yang menentukan file yang akan disertakan dalam penyimpanan ke dalam cache. Jika kolom ini digunakan, hanya file yang cocok dengan ekspresi reguler ini yang akan di-cache.
Ekspresi reguler dicocokkan dengan jalur file dalam format
bucket_name/object_key. Untuk mengetahui informasi selengkapnya, lihat
Mengontrol kemampuan cache pada tingkat perincian file menggunakan ekspresi reguler. |
Nilai string yang mewakili ekspresi reguler. | "" |
|
Menentukan jumlah goroutine maksimum yang akan dihasilkan per file untuk mendownload objek dari Cloud Storage ke cache file. | Bilangan bulat | 16 |
|
Jumlah maksimum goroutine yang dapat dihasilkan pada waktu tertentu di semua tugas download file. |
|
Dua kali jumlah core CPU di komputer Anda atau 16,
mana saja yang lebih tinggi. |
|
Menentukan ukuran setiap permintaan baca dalam MiB yang dibuat oleh setiap goroutine ke Cloud Storage saat mendownload objek ke dalam cache file. | Bilangan bulat | 200 |
|
Ukuran memori maksimum yang dapat digunakan cache stat, dalam MiB. Cache stat selalu disimpan sepenuhnya di memori. |
|
34 |
|
Menentukan time to live (TTL) dalam detik untuk entri cache stat negatif, yang menyimpan hasil untuk file yang tidak ada dalam cache. |
|
5 |
|
Menentukan time to live (TTL) dalam detik untuk entri metadata yang di-cache. |
|
60 |
|
Mengaktifkan pengambilan data di awal latar belakang metadata untuk objek dalam direktori saat cache tidak ditemukan. Opsi ini melakukan kumpulan update ke cache metadata, sehingga mengurangi latensi secara signifikan untuk pencarian file berikutnya dalam direktori. | Nilai boolean: true, false. |
false |
|
Menentukan entri metadata maksimum yang akan diambil di awal per direktori. Nilai yang menentukan lebih dari 5.000 entri metadata akan menghasilkan beberapa panggilan Objects: list Cloud Storage berurutan, karena setiap panggilan individual dibatasi hingga 5.000 hasil.
|
Bilangan bulat antara -1 dan 2147483647. Tetapkan ke -1 untuk mengambil data semua entri. |
5000 |
|
Jumlah maksimum worker latar belakang serentak yang diizinkan untuk melakukan pengambilan data metadata di semua direktori. | Bilangan bulat antara -1 dan 2147483647. Tetapkan ke -1 untuk worker tanpa batas. |
10 |
|
Hanya memasang direktori tertentu dalam bucket. | Jalur, misalnya: "/etc/gcsfuse.yaml". |
|
|
Menonaktifkan autentikasi untuk permintaan. Kolom ini harus ditetapkan jika Anda menggunakan endpoint kustom yang tidak mendukung autentikasi. Kolom ini juga harus ditetapkan jika Anda menggunakan Cloud Storage FUSE dengan bucket publik. | Nilai boolean: true, false |
false |
|
Menentukan jalur absolut ke file kunci JSON kredensial untuk mengautentikasi permintaan ke Cloud Storage. Secara default, Cloud Storage FUSE menggunakan Kredensial Default Aplikasi untuk mengautentikasi permintaan. | URL. | Jika kolom ini tidak ditetapkan, Kredensial Default Aplikasi akan digunakan. |
|
Menentukan apakah akan menggunakan kembali token yang diperoleh dari
--token-url. |
Nilai boolean: true, false |
true |
|
Menentukan URL untuk mendapatkan token akses jika
--key-file tidak ada. |
URL. | |
|
Menentukan project yang akan digunakan untuk penagihan saat bucket yang terpasang diakses. Kolom ini sering diperlukan saat memasang bucket yang diaktifkan dengan Requester Pays. | Nilai string yang mewakili "project ID". | "" |
|
Menentukan protokol yang digunakan untuk berkomunikasi dengan backend Cloud Storage. |
|
http1 |
|
Menentukan endpoint kustom alternatif untuk mengambil data.
Endpoint kustom harus mendukung resource dan operasi yang setara dengan endpoint JSON Cloud Storage, storage.UNIVERSE_DOMAIN_NAME:443.
Jika endpoint kustom tidak ditentukan, Cloud Storage FUSE akan menggunakan endpoint API Cloud Storage JSON global, storage.googleapis.com:443.
Jika autentikasi tidak didukung di endpoint kustom yang Anda tentukan, tetapkan kolom anonymous-access ke true untuk mengabaikan autentikasi. |
Endpoint, misalnya: storage.googleapis.com:443. |
|
|
Menentukan durasi tunggu klien HTTP Cloud Storage FUSE untuk mendapatkan respons dari server sebelum waktu habis. | Durasi, misalnya: 1h10m10s untuk 1 jam, 10 menit,
dan 10 detik. 0s menentukan tidak ada waktu tunggu. |
0s, yang menentukan tidak ada waktu tunggu |
|
Menentukan batas bandwidth yang dapat digunakan Cloud Storage FUSE untuk membaca data dari Cloud Storage, yang diukur selama periode 30 detik. | "-1", yang menentukan tidak ada batas. |
|
|
Menentukan batas untuk operasi yang dijalankan per detik, yang diukur selama periode 30 detik. | Bilangan floating point. -1 menentukan tidak ada batas. |
"-1" |
|
Menentukan jumlah maksimum koneksi TCP yang diizinkan per server.
Hal ini mulai berlaku jika --client-protocol ditetapkan ke
http1. |
0 |
|
|
Menentukan jumlah maksimum koneksi tidak ada aktivitas yang diizinkan per server.
Hal ini mulai berlaku jika --client-protocol ditetapkan ke
http1. |
Bilangan bulat antara 0 dan 2147483647.
0 menentukan tidak ada batas pada koneksi TCP. |
0 |
|
Menentukan ukuran potongan data yang akan didownload dari Cloud Storage, dalam megabyte (MB). | Bilangan bulat antara 1 dan 1024. |
200 |
|
Secara implisit menyertakan folder dan folder terkelola. Lihat File dan direktori dalam dokumentasi GitHub Cloud Storage FUSE untuk informasi selengkapnya. | Nilai boolean: true, false |
false |
|
Mengaktifkan cache daftar dan menentukan time to live (TTL) dalam detik untuk entri daftar yang di-cache. Cache daftar disimpan di memori dalam cache halaman, yang dikontrol oleh kernel berdasarkan memori yang tersedia. |
| 0 |
|
Menginstruksikan Cloud Storage FUSE untuk mengabaikan sinyal gangguan sistem, seperti
SIGINT yang dipicu oleh Control+C. Hal ini mencegah sinyal menghentikan operasi yang sedang berjalan. |
Nilai boolean: true, false. |
true |
|
Bit izin akses untuk direktori, dalam oktal. | Nilai string yang mewakili bilangan bulat oktal antara "000" dan "777" (inklusif), misalnya: "755". |
"755" |
|
Menentukan bit izin untuk file, dalam oktal. | Nilai string yang mewakili bilangan bulat oktal antara "000" dan "777" (inklusif), misalnya: "644". |
"644" |
|
Menentukan opsi pemasangan tambahan khusus sistem. | ||
|
Menentukan pemilik ID Grup (GID) dari semua inode. |
|
-1 |
|
Mengizinkan penggantian nama direktori yang berisi turunan yang lebih sedikit dari batas yang ditentukan. | Bilangan bulat antara 0 dan 2147483647. |
0 |
|
Menentukan jalur ke direktori sementara tempat penulisan dirilis bertahap untuk pengujian sebelum diupload ke Cloud Storage. | Jalur string, misalnya: "/mnt/ssd/example-user-gcsfuse-temp-dir". |
"/tmp" |
|
Menentukan pemilik ID Pengguna (UID) semua inode. |
|
-1 |
|
Menjalankan perintah gcsfuse di latar depan. |
Nilai boolean: true, false |
false |
|
Menentukan frekuensi maksimum operasi dicoba ulang jika operasi gagal, sehingga mencegah loop percobaan ulang tanpa akhir. |
|
0 |
|
Menentukan durasi maksimum Cloud Storage FUSE diizinkan untuk tidur dalam loop percobaan ulang dengan backoff eksponensial. Setelah durasi backoff melebihi durasi maksimum yang ditentukan, percobaan ulang akan dilanjutkan dengan durasi maksimum yang ditentukan. | Durasi, misalnya: 1h5m50s (1 jam, 5 menit, dan
50 detik) atau 60s (60 detik). |
30s |
|
Menentukan pengali untuk backoff eksponensial antara percobaan ulang berturut-turut. | Angka floating-point | "2" |
|
Mengekspor metrik ke Cloud Monitoring dengan interval yang ditentukan. |
Bilangan bulat yang mewakili nilai dalam detik, misalnya: 10 (10 detik).
0 menentukan tidak ada ekspor. |
0 |
|
Mengekspos endpoint metrik Prometheus pada port dan jalur |
Bilangan bulat yang mewakili port yang ingin Anda tentukan. | 0 |
|
Mencetak pesan debug saat mutex ditahan terlalu lama. Jika kolom ini
ditentukan, tingkat keparahan log akan otomatis ditetapkan ke
trace, yang mencakup log rekaman aktivitas, log debug, log info,
log peringatan, dan log error. |
Nilai boolean: true, false. |
false |
|
Keluar dari program saat pelanggaran varian internal terdeteksi. | Nilai boolean: true, false. |
false |
|
Mengontrol alur jalur tulis sehingga data diupload langsung ke
Cloud Storage saat ditulis, bukan melakukan staging penulisan sepenuhnya secara lokal
dan menguploadnya setelah close() atau fsync().
Untuk mengetahui informasi selengkapnya tentang penulisan streaming, lihat
Baca/Tulis dalam dokumentasi GitHub Cloud Storage FUSE. |
Nilai boolean: true, false. |
true |
|
Menentukan jumlah maksimum potongan data yang tersedia untuk penulisan streaming di semua file. Setiap file menggunakan satu potongan data 32 MiB secara default. |
|
|
|
Menentukan pengambilan data asinkron dari bagian objek Cloud Storage ke dalam buffer dalam memori, sehingga pembacaan berikutnya dapat disajikan dari buffer, bukan memerlukan panggilan jaringan. | Nilai boolean: true, false |
false |
|
Menentukan jumlah maksimum blok yang tersedia untuk pembacaan yang di-buffer di semua proses penanganan file. |
|
40 |
|
Menerapkan serangkaian konfigurasi Cloud Storage FUSE yang telah ditetapkan dan dioptimalkan untuk caching, threading, dan ukuran buffer guna membantu Anda mencapai performa tinggi untuk jenis workload tertentu, seperti pelatihan, inferensi, dan checkpoint. Untuk mempelajari lebih lanjut setiap konfigurasi yang telah ditetapkan berdasarkan jenis workload Anda, lihat Konfigurasi berbasis profil untuk workload AI/ML. |
|
"" |