Montaggio delle condivisioni file sui client Compute Engine

Questa pagina mostra come montare una condivisione file di Filestore Istanza di macchina virtuale (VM) Compute Engine che si trova nello stesso account Google Cloud progetto e rete VPC. Per scoprire come montare le condivisioni file sui client in una rete remota, Montaggio di condivisioni file su client remoti. Se stai cercando di accedere alle istanze Filestore da Google Kubernetes Engine di cluster, consulta Accedi alle istanze Filestore con il driver CSI Filestore.

Prima di iniziare

Assicurati che il firewall di rete sia configurato correttamente per l'utilizzo con Filestore. Consulta Configurare le regole firewall per maggiori dettagli.

Montaggio di una condivisione file su un'istanza VM di Compute Engine

Utilizza una delle seguenti procedure per montare una condivisione file di Filestore su una VM di Compute Engine. Ti consigliamo di eseguire il montaggio su una VM n1-standard-8 oppure maggiori per ottenere prestazioni ottimali.

Linux: montaggio

Per montare manualmente una condivisione file su una VM client Linux:

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai alla pagina Istanze VM

  2. Individua la VM Linux che vuoi utilizzare come client, quindi fai clic su SSH per apri un terminale su quella VM.

  3. Facoltativo: montare una condivisione file su una VM client con più reti tramite una rete secondaria.

    Dettagli (fai clic per espandere)

    Se vuoi montare la condivisione file su una rete secondaria, ossia un'interfaccia diversa da nic0, devi modificare la VM client di routing. Esegui:

    sudo ip route \
        add filestore-reserved-address-range \
        via default-gateway-of-nic-to-filestore
    

    dove:

    • filestore-reserved-address-range è il di indirizzi riservati, per l'utilizzo da parte dell'istanza Filestore.
    • default-gateway-of-nic-to-filestore è il indirizzo IP gateway predefinito del NIC connesso al VPC condivisa con l'istanza Filestore.

    Per ulteriori informazioni sull'utilizzo delle istanze Compute Engine con più NIC, consulta Configurare il routing per un'interfaccia di rete aggiuntiva.

  4. Installa NFS:

    Debian/Ubuntu

    Utilizza i comandi seguenti per installare NFS su Debian o Ubuntu.

    sudo apt-get -y update &&
    sudo apt-get install nfs-common

    RHEL/CentOS

    Utilizza i seguenti comandi per installare NFS su Red Hat Enterprise Linux o CentOS.

    sudo yum update &&
    sudo yum install nfs-utils

    SUSE

    Utilizza i comandi seguenti per installare NFS su SUSE.

    sudo zypper update &&
    sudo zypper -n install nfs-client
  5. Crea una directory locale da mappare alla condivisione file di Filestore:

    sudo mkdir -p mount-point-directory
    

    dove mount-point-directory è la directory creare, ad esempio /mnt/filedir.

  6. Monta la condivisione file dall'istanza Filestore eseguendo il comando mount. Puoi utilizzare qualsiasi Opzioni di montaggio NFS. Per il meglio consigliamo di utilizzare le seguenti opzioni mount NFS:

    Opzione Descrizione
    hard Il client NFS proverà nuovamente a inviare le richieste NFS a tempo indeterminato. Per ridurre le possibilità di interruzioni di I/O al riavvio dell'istanza Filestore, consigliamo di utilizzare l'opzione di montaggio hard per i client Linux e Windows.
    timeo=600 Il client NFS attende 600 decisecondi (60 secondi) prima di riprovare una richiesta NFS.
    retrans=3 Il client NFS tenta di eseguire le richieste NFS tre volte prima di eseguire ulteriori azioni di recupero.
    rsize=262144 Il client NFS può ricevere un massimo di 262.144 byte dal server NFS per richiesta READ.
    Nota: per le istanze di livello base, imposta il valore rsize su 1048576.
    wsize=1048576 Il client NFS può ricevere un massimo di 1.048.576 byte dal server NFS per richiesta WRITE.
    resvport Il client NFS utilizza una porta di origine con privilegi per le comunicazioni con il server NFS per questo punto di montaggio.
    async Il client NFS ritarda le scritture dell'applicazione di invio sul server NFS finché non vengono soddisfatte determinate condizioni.
    Attenzione: l'utilizzo dell'opzione sync riduce notevolmente le prestazioni.

    • Per ridurre la latenza di montaggio, specifica l'opzione -o tcp.
    • Se stai montando un ambiente aziendale o di zona (precedentemente SSD con scalabilità elevata) su una VM client che esegue il kernel Linux versione 5.3 o successive, valuta la possibilità di specificare nconnect di montaggio per migliorare le prestazioni NFS. Ti consigliamo di specificare a 7 connessioni per il livello di zona e fino a 2 connessioni per il ai livelli regionale ed enterprise. In genere, maggiore è la dimensione della condivisione file e minore è il numero di VM client che si connettono, maggiori saranno le prestazioni che ottieni specificando ulteriori connessioni con nconnect.

    Esegui il comando mount con le opzioni che preferisci, simili alle seguenti:

    sudo mount -o rw,intr ip-address:/file-share mount-point-directory
    

    dove:

    • ip-address è l'indirizzo IP di Filestore.
    • file-share è il nome della condivisione file su l'istanza.
    • mount-point-directory è il percorso in cui vuoi mappare la condivisione file di Filestore.

    Puoi ottenere l'indirizzo IP e il nome della condivisione file di un'istanza da qualsiasi delle seguenti fonti:

    Ad esempio, data un'istanza Filestore con un indirizzo IP 10.0.1.2 e una condivisione file denominata share1, il seguente comando viene montato la condivisione file nella directory del punto di montaggio locale /mnt/render:

    sudo mount 10.0.1.2:/share1 /mnt/render
    
  7. (Facoltativo) Esegui chmod per impostare le autorizzazioni nella directory di montaggio, in modo che qualcuno diverso dagli utenti root possa eseguire la scrittura. Per impostare le autorizzazioni per la directory, esegui questo comando:

    sudo chmod permissions mount-point-directory
    

    dove:

    • permissions è l'insieme di autorizzazioni per concessione. Ad esempio, chmod go+rw rende la directory leggibile e accessibile in scrittura dai membri del gruppo proprietario della directory e di tutti gli altri utenti. Per ulteriori informazioni sull'impostazione delle autorizzazioni, vedi Configurazione dell'accesso per una condivisione di file.
    • mount-point-directory è il percorso della directory in cui La condivisione file Filestore è montata.
  8. Facoltativo: verifica che la condivisione file di Filestore sia montato:

    df -h --type=nfs
    

    L'output dovrebbe contenere una voce simile alla seguente:

    Filesystem        Size    Used  Avail  Use%  Mounted on
    10.0.1.2:/share1  1018G   76M   966G   1%    /mnt/render
    10.0.2.2:/vol3    1018G   76M   966G   1%    /mnt/filestore3
  9. Se devi utilizzare il blocco dei file NFS, potrebbe essere necessario imposta le porte utilizzate da statd e nlockmgr daemon configurare le regole firewall per aprire quelle porte.

Linux: /etc/fstab

Puoi impostare le condivisioni file automaticamente sulle VM client durante l'avvio Modifica del file /etc/fstab del cliente:

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai alla pagina Istanze VM

  2. Individua la VM Linux che vuoi utilizzare come client, quindi fai clic su SSH per apri un terminale su quella VM.

  3. Facoltativo: il montaggio di una condivisione file su una VM client in cui sono presenti tramite una rete secondaria.

    Dettagli (fai clic per espandere)

    Se vuoi montare la condivisione file su una rete secondaria, ossia un'interfaccia diversa da nic0, devi modificare la VM client criterio di routing:

    • In /etc/default/instance_configs.cfg, imposta il flag setup per NetworkInterfaces su false:
      [NetworkInterfaces]
      dhclient_script = /sbin/google-dhclient-script
      dhcp_command =
      ip_forwarding = true
         setup = false
      
    • In /etc/network/interfaces, aggiungi le seguenti righe:

      auto eth1
      iface eth1 inet dhcp
          up ip route add filestore-reserved-address-range via default-gateway-of-nic-to-filestore
      

    dove:

    • filestore-reserved-address-range è il di indirizzi riservati, per l'utilizzo da parte dell'istanza Filestore.
    • default-gateway-of-nic-to-filestore è il indirizzo IP gateway predefinito del NIC connesso al VPC condivisa con l'istanza Filestore.

    Per ulteriori informazioni sull'utilizzo delle istanze Compute Engine con più NIC, consulta Configurare il routing per un'interfaccia di rete aggiuntiva.

  4. Installa NFS:

    Debian/Ubuntu

    Utilizza i comandi seguenti per installare NFS su Debian o Ubuntu.

    sudo apt-get -y update &&
    sudo apt-get install nfs-common

    RHEL/CentOS

    Utilizza i seguenti comandi per installare NFS su Red Hat Enterprise Linux o CentOS.

    sudo yum update &&
    sudo yum install nfs-utils

    SUSE

    Utilizza i comandi seguenti per installare NFS su SUSE.

    sudo zypper update &&
    sudo zypper -n install nfs-client
  5. Crea una directory locale da mappare alla condivisione file di Filestore:

    sudo mkdir -p mount-point-directory
    

    dove mount-point-directory è la directory creare, ad esempio /mnt/filedir.

  6. Apri il file /etc/fstab:

    sudo vim /etc/fstab
    
  7. Aggiungi la seguente riga al file /etc/fstab:

    ip-address:/file-share mount-point-directory nfs options,_netdev 0 0
    

    dove:

    • ip-address è l'indirizzo IP dell'istanza Filestore.
    • file-share è il nome della condivisione file nell'istanza.
    • mount-point-directory è il percorso su cui vuoi mappare il Condivisione file Filestore.
    • options sono le opzioni di montaggio NFS. Me consigliamo di conservare le opzioni di montaggio NFS predefinite, con le seguenti eccezioni:
      • Per il montaggio automatico, ti consigliamo di specificare -o tcp per ridurre il latenza durante il montaggio e lo smontaggio.
      • Se stai montando un'istanza a livello di zona (precedentemente SSD con scalabilità elevata) per una VM client che esegue il kernel Linux versione 5.3 o successive, considera che specifica nconnect di montaggio per migliorare le prestazioni NFS. Ti consigliamo di specificare fino a 7 connessioni per il livello di zona e fino a 2 connessioni per le regioni di livello enterprise. In generale, più grande è il valore e minore è il numero di VM client che si connettono, di più prestazioni che ottieni specificando ulteriori connessioni nconnect.

    Esempio: la seguente riga in /etc/fstab monta la condivisione file vol1 dell'istanza Filestore con l'indirizzo IP 10.0.0.2 nel la directory dei punti di montaggio /mnt con le opzioni di montaggio predefinite:

    10.0.0.2:/vol1 /mnt nfs defaults,_netdev 0 0
    
  8. Monta tutto in /etc/fstab:

    sudo mount -a
    

    La condivisione file viene montata automaticamente ogni volta che la VM client si avvia.

Linux: autofs

Puoi configurare autofs in modo che una condivisione file venga montata automaticamente solo quando è e tenerlo smontato quando non è in uso. Rispetto ad avere un file Condividi montati in modo statico in /etc/fstab, questo metodo consente di risparmiare la VM client in situazioni in cui il client ha bisogno di mappare molte risorse punti.

Installa NFS e autofs sulla VM client

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai alla pagina Istanze VM

  2. Individua la VM Linux che vuoi utilizzare come client, quindi fai clic su SSH per aprire terminale su quella VM.

  3. Facoltativo: montare una condivisione file su una VM client con più reti tramite una rete secondaria.

    Dettagli (fai clic per espandere)

    Se vuoi montare la condivisione file su una rete secondaria, ossia un'interfaccia diversa da nic0, devi modificare la VM client criterio di routing:

    • In /etc/default/instance_configs.cfg, imposta il flag setup per NetworkInterfaces su false:
      [NetworkInterfaces]
      dhclient_script = /sbin/google-dhclient-script
      dhcp_command =
      ip_forwarding = true
         setup = false
      
    • In /etc/network/interfaces, aggiungi le seguenti righe:

      auto eth1
      iface eth1 inet dhcp
          up ip route add filestore-reserved-address-range via default-gateway-of-nic-to-filestore
      

    dove:

    • filestore-reserved-address-range è l'intervallo di indirizzi riservati utilizzabile dall'istanza Filestore.
    • default-gateway-of-nic-to-filestore è l'indirizzo IP del gateway predefinito del NIC connesso alla rete VPC condivisa con l'istanza Filestore.

    Per ulteriori informazioni sull'utilizzo delle istanze Compute Engine con più NIC, consulta Configurare il routing per un'interfaccia di rete aggiuntiva.

  4. Installa NFS eseguendo questi comandi:

    Debian/Ubuntu

    Utilizza i comandi seguenti per installare NFS su Debian o Ubuntu.

    sudo apt-get -y update &&
    sudo apt-get install nfs-common

    RHEL/CentOS

    Utilizza i seguenti comandi per installare NFS su Red Hat Enterprise Linux o CentOS.

    sudo yum update &&
    sudo yum install nfs-utils

    SUSE

    Utilizza i comandi seguenti per installare NFS su SUSE.

    sudo zypper update &&
    sudo zypper -n install nfs-client
  5. Dalla finestra del terminale della VM client, installa autofs:

    Debian/Ubuntu

    sudo apt-get install autofs
    

    RHEL/CentOS

    sudo yum install autofs
    

    SUSE

    sudo zypper -n install autofs
    

Configura autofs per montare dinamicamente la condivisione file sulla VM client

  1. Attiva autofs:

    sudo systemctl enable --now autofs
    
  2. Crea una directory locale da mappare alla condivisione file di Filestore:

    sudo mkdir -p mount-point-directory
    

    dove mount-point-directory è la directory creare. Non deve contenere sottodirectory. In questa guida utilizziamo /nfs come directory del punto di montaggio.

  3. Apri il file /etc/auto.master:

    sudo vim /etc/auto.master
    
  4. Aggiungi la seguente riga al file /etc/auto.master:

    /nfs /etc/auto.nfs --timeout seconds
    

    dove seconds è la durata in secondi precedente al timeout del montaggio. Il valore predefinito è 300. L'impostazione di questo valore su 0 disattiva smontaggio da parte di autofs.

  5. Crea un file denominato /etc/auto.nfs:

    sudo vim /etc/auto.nfs
    
  6. Aggiungi la seguente riga al file /etc/auto.nfs:

    mount-point-subdir options ip-address:/file-share
    

    dove:

    • mount-point-subdir è la sottodirectory in /nfs su cui vuoi mappare la condivisione file di Filestore. Questo la sottodirectory viene generata dinamicamente e non deve esistere nella una VM client.
    • options sono le opzioni di montaggio NFS. Me consigliamo di conservare le opzioni di montaggio NFS predefinite, con le seguenti eccezioni:
      • Per il montaggio automatico, ti consigliamo di specificare -o tcp per ridurre il latenza durante il montaggio e lo smontaggio.
      • Se stai montando un'istanza a livello di zona (precedentemente SSD con scalabilità elevata) per una VM client che esegue il kernel Linux versione 5.3 o successive, considera che specifica nconnect di montaggio per migliorare le prestazioni NFS. Ti consigliamo di specificare fino a 7 connessioni per il livello di zona e fino a 2 connessioni per i livelli regionali ed enterprise. In generale, più grande è il valore di condivisione dei file e minore è il numero di VM client che si connettono, maggiore è la capacità che ottieni specificando ulteriori connessioni nconnect.
      • ip-address è l'indirizzo IP di Filestore.
      • file-share è il nome della condivisione file su l'istanza.

    Esempio: la seguente riga in /etc/auto.nfs monta la condivisione file vol1 dell'istanza Filestore con l'indirizzo IP 10.0.0.2 nel sottodirectory file-shares generata dinamicamente con accesso read/write concesso:

    file-shares -rw 10.0.0.2:/vol1
    

Test della configurazione

  1. Se la condivisione file è montata, devi smontarla:

    sudo umount mount-point-directory
    

    dove mount-point-directory è il percorso La condivisione file Filestore è mappata.

    Se è presente una voce /etc/fstab che monta la condivisione file nel sistema assicurati di rimuoverlo.

  2. Ricarica autofs:

    sudo service autofs reload
    
  3. Verifica che la configurazione funzioni:

    ls mount-point-directory/mount-point-subdir
    

    dove:

    • mount-point-directory è la directory del punto di montaggio indicata nel file /etc/auto.master.
    • mount-point-subdir è la sottodirectory del punto di montaggio indicata nel file /etc/auto.nfs.

    Dal nostro esempio, il comando sarebbe:

    ls /nfs/file-shares
    

    Se il montaggio automatico è configurato correttamente, il sistema installa innanzitutto condivisione file e restituisce i risultati del comando ls. Il file di condivisione viene smontata automaticamente dopo un periodo di inattività, definita nel valore timeout specificato nel file /etc/auto.master.

Windows

Connettiti alla VM Windows

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai alla pagina Istanze VM

  2. Individua la VM Windows che vuoi utilizzare come client, quindi fai clic su RDP. per aprire una connessione di Remote Desktop a quella VM. Per ulteriori informazioni, vedi Connessione a istanze Windows.

Installa NFS sulla VM Windows

  1. Sulla VM Windows, apri PowerShell come amministratore.
  2. In PowerShell, installa il client NFS:

    Install-WindowsFeature -Name NFS-Client
    
  3. Riavvia l'istanza VM Windows come richiesto, quindi apri un nuovo desktop remoto connessione.

Configura l'ID utente utilizzato dal client NFS

  1. In PowerShell, esegui questi comandi per creare due nuove voci del registro, AnonymousUid e AnonymousGid:

    New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" `
        -Name "AnonymousUid" -Value "0" -PropertyType DWORD
    
    New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" `
        -Name "AnonymousGid" -Value "0" -PropertyType DWORD
    
  2. Riavvia il servizio client NFS:

    nfsadmin client stop
    
    nfsadmin client start
    

Mappa la condivisione file sulla VM Windows

  1. Esci da PowerShell:

    exit
    
  2. Facoltativo: montare una condivisione file su una VM client con più reti tramite una rete secondaria.

    Dettagli (fai clic per espandere)

    Se vuoi montare la condivisione file su una rete secondaria, ossia un'interfaccia diversa da nic0, devi modificare la VM client di routing. Esegui:

    route -p ^
        add filestore-reserved-address-range ^
        mask address-range-subnet-mask ^
        default-gateway-of-nic-to-filestore
    

    dove:

    • filestore-reserved-address-range è il di indirizzi riservati, per l'utilizzo da parte dell'istanza Filestore.
    • address-range-subnet-mask è il subnet mask di filestore-reserved-address-range. Ad esempio, un intervallo di indirizzi riservati /29 utilizzerà la classe 255.255.255.248.
    • default-gateway-of-nic-to-filestore è il indirizzo IP gateway predefinito del NIC connesso al VPC condivisa con l'istanza Filestore.

    Esempio:

    route -p add 10.65.21.176 mask 255.255.255.248 10.128.0.1
    

    Per ulteriori informazioni sull'utilizzo delle istanze Compute Engine con più NIC, consulta Configurare il routing per un'interfaccia di rete aggiuntiva.

  3. Da Command Prompt, mappa la condivisione file a una lettera di unità:

    ```none
    mount -o mtype=hard filestore-ip:/file-share-name drive-letter:
    ```
    

    dove:

    • filestore-ip è l'indirizzo IP dell'istanza Filestore.
    • file-share-name è il nome della condivisione file sull'istanza Filestore.
    • drive-letter è la lettera dell'unità da assegnare per la mappatura.

    Esempio

    Il seguente comando mappa la condivisione di file vol1 su Istanza Filestore con l'indirizzo IP 10.0.0.2 da guidare z: sulla VM Windows client:

    ```none
    mount -o mtype=hard 10.0.0.2:/vol1 z:
    ```
    
  4. Facoltativo: per utilizzare il blocco dei file NFS, verifica quanto segue:

    1. Assicurati che siano configurate le regole firewall. per tutte le porte NFS richieste, tra cui statd e nlockmgr.

    2. Assicurati che il client NFS di Windows sia configurato con porte riservate utilizzando un comando simile al seguente in PowerShell:

      nfsadmin client config protocol=tcp UseReservedPorts=yes
      nfsadmin client stop
      nfsadmin client start
      

Creazione e montaggio di sottodirectory nella condivisione file

Una volta montata la condivisione file su una VM client, puoi creare sottodirectory la condivisione file, che i client possono quindi montare direttamente anziché condivisione file completa:

  1. Per creare una sottodirectory nella condivisione file montata, esegui:

    sudo mkdir -p mount-point-directory/file-share-sub-dir
    

    dove:

    • mount-point-directory è il percorso in cui mappi la condivisione file.
    • file-share-sub-dir è il percorso nella condivisione file che vuoi creare.

    Questo comando crea la sottodirectory sia sulla VM client sia sul file condividi. Ad esempio, se hai montato la condivisione file 10.0.0.2:/vol1 nella la directory /mnt sulla VM client, il comando sudo mkdir -p /mnt/nfs crea 10.0.0.2:/vol1/nfs sulla condivisione file e /mnt/nfs sul client VM.

  2. Facoltativo: se vuoi montare la sottodirectory della condivisione file nella sulla VM client in cui è montata la condivisione file, devi prima smontare la condivisione file:

    sudo umount mount-point-directory
    

    dove mount-point-directory è la directory a cui è mappata la condivisione file.

  3. Monta la sottodirectory:

    sudo mount ip-address:/file-share/file-share-sub-dir mount-point-directory
    

    dove:

    • ip-address è l'indirizzo IP di Filestore.
    • file-share è il nome della condivisione file su l'istanza.
    • file-share-sub-dir è il percorso nella condivisione file da montare.
    • mount-point-directory è il percorso in cui vuoi mappare la condivisione file di Filestore.

    Esempio: nel seguente comando:

    sudo mount 10.0.0.2:/vol1/nfs /mnt/nfs
    
    • 10.0.0.2 è l'indirizzo IP dell'istanza Filestore.
    • vol1 è il nome della condivisione file.
    • nfs è una sottodirectory della condivisione file.
    • /mnt/nfs è la directory sulla VM client in cui viene eseguita la condivisione file a cui è mappata la sottodirectory nfs.

Passaggi successivi