Halaman ini menjelaskan beberapa cara untuk memasang bucket Cloud Storage ke sistem file lokal Anda menggunakan Cloud Storage FUSE.
Sebelum memulai
Untuk memasang dan mengakses bucket, Anda harus menyelesaikan tugas berikut terlebih dahulu.
Mendapatkan peran yang diperlukan untuk memasang dan mengakses bucket
Untuk memasang, mengakses, dan melakukan operasi baca dan tulis di bucket, minta pemilik bucket untuk memberi Anda peran Storage Object User (roles/storage.objectUser
) di bucket.
Peran bawaan ini berisi izin yang diperlukan untuk membaca dari bucket yang terpasang dan menulis ke bucket yang terpasang. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
storage.objects.update
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran standar lainnya.
Untuk petunjuk cara memberikan peran pada bucket, lihat Menggunakan IAM dengan bucket.
Menginstal Cloud Storage FUSE
Jika Anda belum melakukannya, instal Cloud Storage FUSE.
Melakukan Autentikasi permintaan Cloud Storage FUSE
Untuk mengautentikasi permintaan Cloud Storage FUSE ke Cloud Storage, Anda harus menyiapkan Kredensial Default Aplikasi. Secara default, Cloud Storage FUSE otomatis memuat Kredensial Default Aplikasi yang ada tanpa konfigurasi lebih lanjut.
Agar dapat menggunakan Google Cloud CLI untuk menyiapkan Kredensial Default Aplikasi, selesaikan langkah-langkah berikut:
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Saat Anda membuat mesin virtual (VM) Compute Engine, akun layanannya juga dapat digunakan untuk mengautentikasi akses ke Cloud Storage FUSE.
Memasang bucket
Untuk memasang bucket ke sistem file lokal, gunakan perintah berikut:
gcsfuse GLOBAL_OPTIONS BUCKET_NAME MOUNT_POINT
Dengan keterangan:
GLOBAL_OPTIONS
adalah opsi yang dapat Anda sertakan untuk mengontrol cara pemasangan dudukan. Untuk mengetahui informasi selengkapnya tentang opsi dan cara menggunakannya, lihat Opsi Cloud Storage FUSE CLI.BUCKET_NAME
adalah nama bucket yang ingin Anda pasang. Misalnya,my-bucket
. Jika ingin menjalankan pemasangan dinamis, kecualikan nama bucket dari perintah.MOUNT_POINT
adalah direktori lokal tempat bucket dipasang. Contoh,/path/to/mount/point
.
Setelah Cloud Storage FUSE keluar, Anda dapat mengakses bucket yang telah terpasang dengan menjalankan
ls
pada direktori pemasangan bucket. Jika ingin Cloud Storage FUSE tetap berada di
latar depan (misalnya, untuk logging debug), Anda dapat menjalankan perintah gcsfuse
dengan flag --foreground
.
Contoh pemasangan
Bagian ini menjelaskan berbagai contoh perintah untuk memasang bucket.
Pemasangan statis
Pemasangan statis mengacu pada pemasangan bucket tertentu. Misalnya, untuk memasang
bucket bernama my-bucket
ke direktori /path/to/mount/point
, jalankan
perintah berikut:
mkdir /path/to/mount/point
gcsfuse my-bucket /path/to/mount/point
Pemasangan dinamis
Pemasangan dinamis mengacu pada pemasangan semua bucket yang dapat diakses pengguna sebagai subdirektori.
Saat menjalankan pemasangan dinamis, Anda mengecualikan nama bucket dari perintah.
Misalnya, Anda memiliki akses ke bucket bernama my-bucket-1
, my-bucket-2
,
dan my-bucket-3
. Untuk memasang semua bucket ke direktori /path/to/mount/point
,
jalankan perintah berikut:
mkdir /path/to/mount/point
gcsfuse /path/to/mount/point
Selanjutnya, Anda dapat mengakses bucket sebagai subdirektori:
ls /path/to/mount/point/my-bucket-1/
ls /path/to/mount/point/my-bucket-2/
ls /path/to/mount/point/my-bucket-3/
Bucket yang dipasang secara dinamis tidak dapat dicantumkan dari direktori pemasangan root. Sebagai gantinya, nama bucket harus ditentukan sebagai bagian dari operasi daftar.
Memasang bucket sebagai hanya-baca
Untuk memasang bucket sebagai hanya baca, teruskan opsi -o ro
ke perintah gcsfuse
Anda. Misalnya, untuk memasang bucket bernama my-bucket
sebagai hanya baca ke
direktori /path/to/mount/point
, jalankan perintah berikut:
gcsfuse -o ro my-bucket /path/to/mount/point
Memasang direktori dalam bucket
Secara default, Cloud Storage FUSE memasang bucket secara keseluruhan, yang mencakup semua
konten bucket dan struktur direktori. Untuk memasang direktori tertentu dalam
bucket, teruskan opsi --only-dir
ke perintah gcsfuse
Anda. Misalnya,
untuk memasang direktori my-bucket/a/b
ke direktori /path/to/mount/point
,
jalankan perintah berikut:
gcsfuse --only-dir a/b my-bucket /path/to/mount/point
Memasang dengan menggunakan perintah mount
Linux
Penginstalan Cloud Storage FUSE menyertakan bantuan yang dipahami oleh perintah
mount
di Linux, yang memungkinkan Anda menggunakan perintah mount
untuk memasang bucket.
Perintah mount
harus dijalankan dari root jika Anda menggunakan Linux. Misalnya,
perintah berikut memasang bucket bernama my-bucket
ke jalur
/path/to/mount/point
:
sudo mount -t gcsfuse -o rw,user my-bucket /path/to/mount/point
Saat memasang menggunakan perintah mount
Linux, opsi CLI Cloud Storage FUSE dapat diteruskan sebagai argumen ke flag -o
, tetapi tanda hubung (-
) di dalamnya harus diganti dengan garis bawah (_
).
Misalnya, implicit_dirs
, bukan implicit-dirs
.
sudo mount -t gcsfuse -o implicit_dirs my-bucket /path/to/mount/point
Pemasangan persisten
Penginstalan Cloud Storage FUSE menyertakan bantuan yang diinstal ke
sistem Anda di jalur /sbin/mount.gcsfuse
. Bantuan ini memungkinkan Anda membuat
direktori pemasangan menggunakan file /etc/fstab
, sehingga Anda dapat mempertahankan pemasangan.
Misalnya, saat ditambahkan ke file /etc/fstab
, baris berikut menentukan
direktori pemasangan untuk bucket bernama my-bucket
di jalur /mount/point
:
my-bucket /mount/point gcsfuse rw,noauto,user
Dengan keterangan:
Opsi
rw
menentukan bahwa direktori pemasangan dibuat dengan izin baca dan tulis.Opsi
noauto
menentukan bahwa sistem file tidak boleh dipasang saat booting.Opsi
user
memungkinkan siapa saja membuat direktori pemasangan yang ditentukan dalam file/etc/fstab
. Setelah baris contoh ditambahkan ke file/etc/fstab
, Anda dapat menjalankanmount /mount/point
sebagai pengguna non-root.
Jika ingin memasang bucket secara otomatis saat booting, Anda mungkin perlu menyertakan
opsi x-systemd.requires=network-online.target
atau opsi _netdev
dalam entri /etc/fstab
, untuk memastikan bahwa Cloud Storage FUSE menunggu agar
sistem jaringan siap sebelum dipasang. Contoh:
my-bucket /mount/point gcsfuse rw,x-systemd.requires=network-online.target,user
Anda dapat memasang bucket secara otomatis sebagai pengguna non-root tertentu dengan menyertakan
opsi uid
, gid
, atau keduanya dalam entri /etc/fstab
. Contoh:
my-bucket /mount/point gcsfuse rw,_netdev,allow_other,uid=1001,gid=1001
Serupa dengan perintah mount
linux, flag yang digunakan untuk pemasangan dalam
file /etc/fstab
harus menggunakan garis bawah (_
), bukan tanda hubung (-
).
Misalnya, implicit_dirs
, bukan implicit-dirs
.
Memasang bucket dengan folder
Anda dapat memasang bucket dengan beberapa jenis folder.
Memasang bucket dengan folder terkelola
Untuk memasang bucket beserta folder terkelola-nya, sertakan
opsi --implicit-dirs
dalam perintah Anda.
Misalnya, untuk memasang bucket bernama my-bucket
dan folder terkelolanya ke
direktori /path/to/mount/point
, jalankan perintah berikut:
gcsfuse --implicit-dirs my-bucket /path/to/mount/point
Saat memasang bucket dengan folder terkelola, perhatikan batasan dan pertimbangan berikut:
Folder terkelola kosong tidak muncul di bucket yang terpasang.
Anda tidak dapat menetapkan atau mengelola izin IAM di folder terkelola menggunakan Cloud Storage FUSE. Untuk menetapkan atau mengelola izin IAM di folder terkelola, lihat Menggunakan IAM dengan folder terkelola.
Anda dapat menyalin dan memindahkan folder terkelola di bucket yang terpasang menggunakan perintah
cp
danmv
. Saat Anda menyalin atau memindahkan folder terkelola, kebijakan IAM di folder terkelola asli tidak akan disimpan ke folder terkelola baru. Anda harus menetapkan kebijakan IAM baru di folder terkelola baru.
Memasang bucket dengan folder yang ditentukan secara implisit
Anda dapat memasang folder yang ditentukan secara implisit menggunakan flag --implicit-dirs
dalam perintah Cloud Storage FUSE. Folder yang ditentukan secara implisit adalah folder yang tidak
dibuat secara eksplisit sebagai objek di Cloud Storage. Flag --implicit-dirs
memungkinkan Anda melihat folder saat memasang bucket.
Misalnya, untuk memasang bucket bernama my-bucket
ke direktori
/path/to/mount/point
dengan folder yang ditentukan secara implisit, jalankan perintah
berikut:
gcsfuse --implicit-dirs my-bucket /path/to/mount/point
Memasang bucket yang mendukung namespace hierarkis dengan folder
Anda dapat memasang bucket dengan namespace hierarkis
yang diaktifkan, termasuk folder-nya. Saat memasang bucket dengan
namespace hierarkis, Anda tidak perlu menentukan tanda --implicit-dirs
agar folder muncul di bucket yang dipasang.
Misalnya, untuk memasang bucket bernama my-bucket
dengan folder ke direktori
/path/to/mount/point
, jalankan perintah berikut:
gcsfuse my-bucket /path/to/mount/point
Mengontrol izin akses ke direktori pemasangan
Secara default, Cloud Storage FUSE membuat direktori pemasangan bucket dengan izin yang hanya memungkinkan pengguna yang memanggil untuk mengakses konten bucket yang terpasang. Ini adalah langkah keamanan yang diimplementasikan dalam kernel FUSE.
Untuk memasang bucket dan mengizinkan orang lain mengakses direktori pemasangan bucket, Anda dapat menjalankan
perintah mount
sebagai root dengan opsi -o allow_other
:
mount -t gcsfuse -o allow_other my-bucket /path/to/mount/point
Jika ingin menghindari pemasangan bucket sebagai root, Anda harus menambahkan user_allow_other
ke file /etc/fuse.conf
agar orang lain dapat mengakses
direktori pemasangan bucket.
Melepas bucket
Untuk melepaskan bucket, gunakan alat fusermount
:
fusermount -u /path/to/mount/point
Langkah selanjutnya
Pelajari performa Cloud Storage FUSE, seperti cara mengontrol perilaku caching atau aktivitas log.
Pelajari semantik direktori di Cloud Storage FUSE.