In questa pagina vengono descritti diversi modi per montare i bucket Cloud Storage nel file system locale utilizzando Cloud Storage FUSE.
Prima di iniziare
Per montare i bucket, devi prima completare le attività seguenti.
Recupera i ruoli richiesti
Per montare un bucket, chiedi al proprietario del bucket di concederti il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer
) per il bucket. Tieni presente che se hai creato il bucket, probabilmente hai già il ruolo Amministratore Storage (roles/storage.admin
) per il bucket e non hai bisogno del ruolo Visualizzatore oggetti Storage.
Il ruolo predefinito Visualizzatore oggetti Storage contiene l'autorizzazione necessaria per montare un bucket. Per visualizzare l'autorizzazione esatta richiesta, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
storage.objects.list
Potresti anche essere in grado di ottenere questa autorizzazione con i ruoli personalizzati o altri ruoli predefiniti.
Per istruzioni sulla concessione dei ruoli nei bucket, consulta Utilizzare IAM con i bucket.
Installa Cloud Storage FUSE
Se non lo hai già fatto, installa Cloud Storage FUSE.
Autentica le richieste di Cloud Storage FUSE
Per autenticare le richieste di Cloud Storage FUSE in Cloud Storage, devi configurare le credenziali predefinite dell'applicazione. Per impostazione predefinita, Cloud Storage FUSE carica automaticamente leCredenziali predefinite dell'applicazionee esistenti senza ulteriori configurazioni.
Per utilizzare Google Cloud CLI per configurare le Credenziali predefinite dell'applicazione, completa questi passaggi:
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
Quando crei una macchina virtuale (VM) Compute Engine, il relativo account di servizio può essere utilizzato anche per autenticare l'accesso a Cloud Storage FUSE.
Monta un bucket
Per montare i bucket nel file system locale, utilizza il seguente comando:
gcsfuse GLOBAL_OPTIONS BUCKET_NAME MOUNT_POINT
Dove:
GLOBAL_OPTIONS
sono le opzioni che puoi includere per controllare la configurazione del supporto. Per ulteriori informazioni sulle opzioni e su come utilizzarle, consulta Opzioni dell'interfaccia a riga di comando di Cloud Storage FUSE.BUCKET_NAME
è il nome del bucket che vuoi montare. Ad esempio,my-bucket
. Se vuoi eseguire il montaggio dinamico, escludi un nome bucket dal comando.MOUNT_POINT
è la directory locale in cui viene montato il bucket. Ad esempio,/path/to/mount/point
.
Dopo la chiusura di Cloud Storage FUSE, puoi accedere ai bucket montati eseguendo ls
sul punto di montaggio del bucket. Se preferisci che Cloud Storage FUSE rimanga in primo piano (ad esempio per il logging di debug), puoi eseguire il comando gcsfuse
con il flag --foreground
.
Esempi di montaggio
In questa sezione vengono descritti i diversi comandi di esempio per il montaggio dei bucket.
Montaggio statico
Per montaggio statico si intende il montaggio di un bucket specifico. Ad esempio, per montare il bucket my-bucket
nella directory /path/to/mount/point
, esegui questi comandi:
mkdir /path/to/mount/point
gcsfuse my-bucket /path/to/mount/point
Montaggio dinamico
Il montaggio dinamico si riferisce al montaggio di tutti i bucket a cui un utente ha accesso come sottodirectory.
Quando esegui il montaggio dinamico, escludi un nome bucket dal comando. Ad esempio, supponiamo che tu abbia accesso a my-bucket-1
,
my-bucket-2
e my-bucket-3
. Per montare tutti i bucket nella directory /path/to/mount/point
, esegui questi comandi:
mkdir /path/to/mount/point
gcsfuse /path/to/mount/point
Puoi quindi accedere ai bucket come sottodirectory:
ls /path/to/mount/point/my-bucket-1/
ls /path/to/mount/point/my-bucket-2/
ls /path/to/mount/point/my-bucket-3/
Non è possibile elencare i bucket montati dinamicamente dal punto di montaggio principale. Il nome del bucket deve invece essere specificato nell'ambito dell'operazione di elenco.
Montaggio di un bucket in sola lettura
Per montare un bucket in sola lettura, passa l'opzione -o ro
al tuo
comando gcsfuse
. Ad esempio, per montare il bucket my-bucket
in modalità di sola lettura nella directory /path/to/mount/point
, esegui questo comando:
gcsfuse -o ro my-bucket /path/to/mount/point
Montaggio di una directory all'interno di un bucket
Per impostazione predefinita, Cloud Storage FUSE monta i bucket nella loro interezza, con tutti i contenuti e le strutture di directory dei bucket. Per montare una directory specifica all'interno di un bucket, passa l'opzione --only-dir
al comando gcsfuse
. Ad esempio, per montare la directory my-bucket/a/b
nella directory /path/to/mount/point
, esegui questo comando:
gcsfuse --only-dir a/b my-bucket /path/to/mount/point
Montaggio mediante il comando mount
di Linux
L'installazione di Cloud Storage FUSE include un helper riconosciuto dal comando Linux mount
, che consente di utilizzare il comando mount
per montare i bucket.
Il comando mount
deve essere eseguito dalla directory radice se utilizzi Linux. Ad esempio,
il comando seguente monta il bucket my-bucket
nel percorso
/path/to/mount/point
:
sudo mount -t gcsfuse -o rw,user my-bucket /path/to/mount/point
Durante il montaggio con il comando mount
di Linux, le opzioni dell'interfaccia a riga di comando di Cloud Storage FUSE possono essere passate come argomento al flag -o
, ma i trattini (-
) al loro interno devono essere sostituiti con trattini bassi (_
).
Ad esempio, implicit_dirs
anziché implicit-dirs
.
sudo mount -t gcsfuse -o implicit_dirs my-bucket /path/to/mount/point
Montaggio permanente
L'installazione di Cloud Storage FUSE include un helper installato nel sistema nel percorso /sbin/mount.gcsfuse
. Questo helper ti consente di creare punti di montaggio utilizzando il file /etc/fstab
, in modo da poter mantenere i montaggi.
Ad esempio, quando viene aggiunta al file /etc/fstab
, la riga seguente definisce un punto di montaggio per il bucket my-bucket
nel percorso /mount/point
:
my-bucket /mount/point gcsfuse rw,noauto,user
Dove:
L'opzione
rw
specifica che il punto di montaggio deve essere creato con autorizzazioni di lettura e scrittura.L'opzione
noauto
specifica che il file system non deve essere montato in fase di avvio.L'opzione
user
consente a chiunque di creare il punto di montaggio specificato nel file/etc/fstab
. Dopo aver aggiunto la riga di esempio al file/etc/fstab
, puoi eseguiremount /mount/point
come utente non root.
Se vuoi montare il bucket automaticamente all'avvio, potresti dover includere l'opzione x-systemd.requires=network-online.target
o _netdev
nella voce /etc/fstab
, per assicurarti che Cloud Storage FUSE attende che il sistema di rete sia pronto prima del montaggio. Ad esempio:
my-bucket /mount/point gcsfuse rw,x-systemd.requires=network-online.target,user
Puoi montare automaticamente un bucket come utente non root specifico includendo
le opzioni uid
, gid
o entrambe nella voce /etc/fstab
. Ad esempio:
my-bucket /mount/point gcsfuse rw,_netdev,allow_other,uid=1001,gid=1001
Analogamente al comando mount
linux, i flag utilizzati per l'installazione nel
file /etc/fstab
devono contenere trattini bassi (_
) anziché trattini (-
).
Ad esempio, implicit_dirs
anziché implicit-dirs
.
Montaggio di un bucket con cartelle
Per montare un bucket incluse le sue cartelle gestite, includi l'opzione --implicit-dirs
nel comando.
Ad esempio, per montare il bucket my-bucket
e le relative cartelle gestite nella directory /path/to/mount/point
, esegui questi comandi:
mkdir /path/to/mount/point
gcsfuse --implicit-dirs my-bucket /path/to/mount/point
Quando installi un bucket con cartelle gestite, tieni presente le seguenti limitazioni e considerazioni:
Le cartelle gestite vuote non vengono visualizzate nei bucket montati.
Non puoi impostare o gestire le autorizzazioni IAM su una cartella gestita utilizzando Cloud Storage FUSE. Per impostare o gestire le autorizzazioni IAM su una cartella gestita, consulta Utilizzare IAM con le cartelle gestite.
Puoi copiare e spostare una cartella gestita in un bucket montato utilizzando i comandi
cp
emv
. Quando copi o sposti una cartella gestita, i criteri IAM della cartella gestita originale non vengono mantenuti nella nuova cartella gestita. Devi impostare nuovi criteri IAM sulla nuova cartella gestita.
Controlla le autorizzazioni di accesso al punto di montaggio
Per impostazione predefinita, Cloud Storage FUSE crea punti di montaggio dei bucket con autorizzazioni che consentono solo all'utente che ha eseguito la chiamata di accedere ai contenuti dei bucket montati. Questa è una misura di sicurezza implementata all'interno del kernel FUSE.
Per montare un bucket e consentire ad altri di accedere al punto di montaggio del bucket, puoi eseguire il comando mount
come root con l'opzione -o allow_other
:
mount -t gcsfuse -o allow_other my-bucket /path/to/mount/point
Se vuoi evitare di montare il bucket come root, devi aggiungere user_allow_other
al file /etc/fuse.conf
per consentire ad altri di accedere al punto di montaggio del bucket.
Per accedere a un bucket montato, altri utenti, oltre all'utente che ha eseguito la chiamata,devono disporre delle autorizzazioni IAM richieste.
Ruoli richiesti per accedere a un bucket montato
Per leggere e scrivere in un bucket montato, chiedi al proprietario del bucket di concederti il ruolo Utente oggetti Storage (roles/storage.objectUser
) per il bucket.
Questo ruolo predefinito contiene le autorizzazioni necessarie per leggere da un bucket montato e scrivere in un bucket montato. Per vedere le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
storage.objects.update
Potresti essere in grado di ottenere queste autorizzazioni anche con i ruoli personalizzati o altri ruoli predefiniti.
Per istruzioni sulla concessione dei ruoli nei bucket, consulta Utilizzare IAM con i bucket.
Smontare un bucket
Per smontare un bucket, utilizza lo strumento fusermount
:
fusermount -u /path/to/mount/point
Passaggi successivi
Scopri best practice e suggerimenti per l'utilizzo di Cloud Storage FUSE, ad esempio come controllare il comportamento della memorizzazione nella cache o l'attività dei log.
Scopri di più sulla semantica delle directory in Cloud Storage FUSE.