In questa pagina vengono descritti i diversi modi per montare i bucket Cloud Storage al file system locale utilizzando Cloud Storage FUSE.
Prima di iniziare
Per montare i bucket, devi prima completare le attività seguenti.
Ottieni i ruoli richiesti
Per montare un bucket, chiedi al proprietario del bucket di concederti il ruolo Visualizzatore oggetti archiviazione
(roles/storage.objectViewer
) sul bucket. Tieni presente che se hai creato il
bucket, probabilmente disponi già del ruolo Amministratore Storage (roles/storage.admin
)
nel bucket e non hai bisogno del ruolo Visualizzatore oggetti Storage.
Il ruolo predefinito Visualizzatore oggetti Storage contiene l'autorizzazione richiesta per montare un bucket. Per visualizzare l'autorizzazione esatta richiesta, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
storage.objects.list
Potresti riuscire a ottenere questa autorizzazione anche con i ruoli personalizzati o e 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 FUSE di Cloud Storage
Per autenticare le richieste Cloud Storage FUSE in Cloud Storage, devi configurare Credenziali predefinite dell'applicazione. Per impostazione predefinita, Cloud Storage FUSE carica automaticamente le Credenziali predefinite dell'applicazione esistenti senza alcuna ulteriore configurazione.
Per utilizzare Google Cloud CLI per configurare le credenziali predefinite dell'applicazione, completa segui questi passaggi:
- 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.
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 comando seguente:
gcsfuse GLOBAL_OPTIONS BUCKET_NAME MOUNT_POINT
Dove:
GLOBAL_OPTIONS
sono le opzioni che puoi includere per controllare la configurazione della piastra da muro. Per ulteriori informazioni sulle opzioni e su come utilizzarle, consulta Opzioni della CLI di Cloud Storage FUSE.BUCKET_NAME
è il nome del bucket da montare. Ad esempio,my-bucket
. Se vuoi eseguire il montaggio dinamico, escludi il nome di un bucket dal comando.MOUNT_POINT
è la directory locale in cui il bucket viene montato. Ad esempio,/path/to/mount/point
.
Una volta chiuso 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
Questa sezione descrive 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 un
secchio denominato my-bucket
nella directory /path/to/mount/point
, esegui i
comandi seguenti:
mkdir /path/to/mount/point
gcsfuse my-bucket /path/to/mount/point
Montaggio dinamico
Con il montaggio dinamico si intende il montaggio di tutti i bucket a cui un utente ha accesso come sottodirectory.
Quando esegui il montaggio dinamico, escludi i nomi dei bucket dal comando.
Ad esempio, supponiamo che tu abbia accesso ai bucket denominati my-bucket-1
, my-bucket-2
e my-bucket-3
. Per montare tutti i bucket nella directory /path/to/mount/point
,
esegui i seguenti comandi:
mkdir /path/to/mount/point
gcsfuse /path/to/mount/point
Potrai 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/
I bucket montati dinamicamente non possono essere elencati dal punto di montaggio principale. Invece, il nome del bucket deve essere specificato nell'ambito dell'operazione di elenco.
Montaggio di un bucket in modalità di sola lettura
Per montare un bucket in sola lettura, passa l'opzione -o ro
a gcsfuse
. Ad esempio, per montare un bucket denominato my-bucket
come sola lettura nella directory /path/to/mount/point
, esegui il seguente comando:
gcsfuse -o ro my-bucket /path/to/mount/point
Monta una directory all'interno di un bucket
Per impostazione predefinita, Cloud Storage FUSE monta interamente i bucket, inclusi tutti
dei contenuti e delle strutture di directory del 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 il seguente comando:
gcsfuse --only-dir a/b my-bucket /path/to/mount/point
Monta utilizzando il comando mount
di Linux
L'installazione di Cloud Storage FUSE include un helper comprensibile
mount
, che ti consente di usare il comando mount
per montare i bucket.
Il comando mount
deve essere eseguito da utente root se utilizzi Linux. Ad esempio:
il seguente comando monta un bucket denominato my-bucket
nel percorso
/path/to/mount/point
:
sudo mount -t gcsfuse -o rw,user my-bucket /path/to/mount/point
Quando esegui il montaggio utilizzando 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 i trattini bassi (_
). Ad esempio, implicit_dirs
anziché implicit-dirs
.
sudo mount -t gcsfuse -o implicit_dirs my-bucket /path/to/mount/point
Montaggio continuo
L'installazione di Cloud Storage FUSE include un programma di utilità 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 mount.
Ad esempio, se aggiunta al file /etc/fstab
, la riga seguente definisce un punto di montaggio per un bucket denominato my-bucket
nel percorso /mount/point
:
my-bucket /mount/point gcsfuse rw,noauto,user
Dove:
L'opzione
rw
specifica che il punto di montaggio venga creato con autorizzazioni di lettura e scrittura.L'opzione
noauto
specifica che il file system non deve essere montato in all'avvio del dispositivo.L'opzione
user
consente a chiunque di creare il punto di montaggio specificato in/etc/fstab
file. 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 l'opzione _netdev
nella voce /etc/fstab
, per assicurarti che Cloud Storage FUSE aspetti 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
Come per il comando mount
di Linux, i flag utilizzati per il montaggio nel
file /etc/fstab
devono utilizzare i trattini bassi (_
) anziché i trattini (-
).
Ad esempio, implicit_dirs
anziché implicit-dirs
.
Monta un bucket con le cartelle
Puoi montare bucket con più tipi di cartelle.
Montare un bucket con cartelle gestite
Per montare un bucket, incluse le relative cartelle gestite, includi il comando
--implicit-dirs
nel comando.
Ad esempio, per montare un bucket denominato my-bucket
e le relative cartelle gestite
/path/to/mount/point
, esegui questi comandi:
gcsfuse my-bucket /path/to/mount/point --implicit-dirs
Quando monti 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 usando Cloud Storage FUSE. Per impostare o gestire IAM autorizzazioni 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 e impostare nuovi criteri IAM sulla nuova cartella gestita.
Monta un bucket con cartelle definite in modo implicito
Puoi montare cartelle definite implicitamente utilizzando il flag --implicit-dirs
in
il tuo comando Cloud Storage FUSE. Le cartelle definite in modo implicito sono cartelle che non sono
creati in modo esplicito come oggetti in Cloud Storage. Il flag --implicit-dirs
consente di vedere le cartelle
durante il montaggio di un bucket.
Ad esempio, per montare un bucket denominato my-bucket
nella directory
/path/to/mount/point
con cartelle definite in modo implicito, esegui il seguente
comando:
gcsfuse my-bucket /path/to/mount/point --implicit-dirs
Monta un bucket abilitato per lo spazio dei nomi gerarchico con le cartelle
Puoi montare un bucket con lo spazio dei nomi gerarchico attivo, incluse le relative cartelle. Quando monti un bucket con un ambito a livello gerarchico, non è necessario specificare il flag --implicit-dirs
affinché le cartelle vengano visualizzate nel bucket montato.
Ad esempio, per montare un bucket denominato my-bucket
con cartelle nella directory
/path/to/mount/point
, esegui questo comando:
gcsfuse my-bucket /path/to/mount/point
Controllare le autorizzazioni di accesso al punto di montaggio
Per impostazione predefinita, Cloud Storage FUSE crea punti di montaggio dei bucket con autorizzazioni consentire solo all'utente che richiama di accedere ai contenuti dei bucket montati. Si tratta di una misura di sicurezza implementata nel 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 utente root, devi aggiungere
user_allow_other
al file /etc/fuse.conf
per consentire ad altri utenti di accedere al
punto di montaggio del bucket.
Per accedere a un bucket montato, gli altri utenti oltre all'utente che chiama devono avere le autorizzazioni IAM richieste.
Ruoli obbligatori per accedere a un bucket montato
Per leggere e scrivere in un bucket montato, chiedi al proprietario del bucket di concederti il ruolo Utente oggetto archiviazione (roles/storage.objectUser
) per il bucket.
Questo ruolo predefinito contiene le autorizzazioni necessarie per leggere da un un bucket montato e scrivere in un bucket montato. Per visualizzare 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 anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o e altri ruoli predefiniti.
Per istruzioni su come concedere i ruoli ai 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 di più sul rendimento di Cloud Storage FUSE, ad esempio su come controllare il comportamento della memorizzazione nella cache o l'attività di log.
Scopri di più sulla semantica della directory in Cloud Storage FUSE.