Datenfreigaben auf Compute Engine-Clients bereitstellen

Auf dieser Seite erfahren Sie, wie Sie eine Filestore-Dateifreigabe auf einer VM-Instanz (Compute Engine Virtual Machine) bereitstellen. Wenn Sie stattdessen auf Filestore-Instanzen von Google Kubernetes Engine-Clustern zugreifen möchten, finden Sie weitere Informationen unter Auf Dateifreigaben von Google Kubernetes Engine-Clustern zugreifen.

Client-VMs müssen sich im selben Google Cloud-Projekt und VPC-Netzwerk wie die Filestore-Instanz befinden. Informationen zum Bereitstellen von Dateifreigaben auf Remote-Clients, z. B. einem lokalen Terminal oder einer VM, finden Sie unter Dateifreigaben auf Clients in einem Remote-Netzwerk bereitstellen.

Hinweis

Stellen Sie sicher, dass die Netzwerkfirewall richtig für die Verwendung mit Filestore konfiguriert ist. Weitere Informationen finden Sie unter Firewallregeln konfigurieren.

Dateifreigabe auf einer Compute Engine-VM-Instanz bereitstellen

Mit einem der folgenden Verfahren können Sie eine Filestore-Dateifreigabe auf einer Compute Engine-VM bereitzustellen:

Linux: Bereitstellen

So stellen Sie eine Dateifreigabe manuell auf einer Linux-Client-VM bereit:

  1. Öffnen Sie in der Cloud Console die Seite VM-Instanzen.

    Zur Seite "VM-Instanzen"

  2. Suchen Sie die Linux-VM, die Sie als Client verwenden möchten, und klicken Sie dann auf SSH, um ein Terminal auf dieser VM zu öffnen.

  3. Optional: Bereitstellen einer Dateifreigabe auf einer Client-VM mit mehreren Netzwerkschnittstellen über ein sekundäres Netzwerk.

    Details

    Wenn die Client-VM über mehrere Netzwerkschnittstellen verfügt und Sie die Dateifreigabe über ein sekundäres Netzwerk bereitstellen möchten, nämlich eine andere Schnittstelle als nic0, müssen Sie die Routing-Richtlinie der Client-VM konfigurieren, um sicherzustellen, dass die Dateifreigabe über die richtige Netzwerkschnittstelle bereitgestellt wird. Führen Sie dazu den folgenden Befehl auf der Client-VM aus:

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

    wobei

    • filestore-reserved-address-range ist der reservierte Adressbereich, der von der Filestore-Instanz verwendet wird.
    • default-gateway-of-nic-to-filestore ist die Standard-Gateway-IP-Adresse der Netzwerkkarte, die mit dem VPC-Netzwerk verbunden ist, das für die Filestore-Instanz freigegeben ist.

    Weitere Informationen zur Verwendung von Compute Engine-Instanzen mit mehreren Netzwerkkarten finden Sie unter Richtlinienrouting konfigurieren.

  4. Installieren Sie NFS:

    Debian/Ubuntu

    Mit den folgenden Befehlen können Sie NFS unter Debian oder Ubuntu installieren.

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

    RHEL/CentOS

    Mit den folgenden Befehlen können Sie NFS unter Red Hat Enterprise Linux oder CentOS installieren.

    sudo yum update &&
    sudo yum install nfs-utils

    SUSE

    Mit den folgenden Befehlen können Sie NFS unter SUSE installieren.

    sudo zypper update &&
    sudo zypper -n install nfs-client
  5. Erstellen Sie ein lokales Verzeichnis, das der Dateifreigabe von Filestore zugeordnet werden soll:

    sudo mkdir -p mount-point-directory
    

    Dabei ist mount-point-directory das zu erstellende Verzeichnis (zum Beispiel /mnt/filedir).

  6. Stellen Sie die Dateifreigabe aus der Filestore-Instanz bereit, indem Sie den Befehl Bereitstellen ausführen. Sie können jede NFS-Bereitstellungsoption verwenden. Für die beste Leistung empfehlen wir die Verwendung der Standard-NFS-mount-Optionen.

    Standard-NFS-mount-Optionen

    Standardeinstellung Beschreibung
    hard Der NFS-Client wiederholt NFS-Anforderungen auf unbestimmte Zeit.
    timeo=600 Der NFS-Client wartet 600 Dezisekunden (60 Sekunden), bevor eine NFS-Anforderung wiederholt wird.
    retrans=3 Der NFS-Client versucht dreimal, NFS-Anforderungen zu erfüllen, bevor weitere Wiederherstellungsmaßnahmen ergriffen werden.
    rsize=1048576 Der NFS-Client kann pro READ-Anforderung maximal 1.048.576 Byte vom NFS-Server empfangen.
    wsize=1048576 Der NFS-Client kann pro WRITE-Anforderung maximal 1.048.576 Byte vom NFS-Server empfangen.
    resvport Der NFS-Client verwendet einen privilegierten Quellport, wenn er mit dem NFS-Server für diesen Bereitstellungspunkt kommuniziert.
    async Der NFS-Client verzögert das Senden von Anwendungsschreibvorgängen an den NFS-Server, bis bestimmte Bedingungen erfüllt sind.
    Achtung: Durch die Verwendung der Option sync wird die Leistung erheblich reduziert.

    Führen Sie den Befehl mount aus:

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

    wobei

    • ip-address die IP-Adresse für die Filestore-Instanz ist.
    • file-share der Name der Dateifreigabe für die Instanz ist.
    • file-share-sub-dir ist der Pfad des Unterverzeichnisses in der Dateifreigabe, die bereitgestellt werden soll. Lassen Sie dieses Feld leer, um die gesamte Dateifreigabe bereitzustellen.
    • mount-point-directory der Pfad ist, unter dem Sie die Filestore-Dateifreigabe zuordnen möchten.

    Sie können die IP-Adresse und den Dateifreigabe-Namen einer Instanz aus einer der folgenden Quellen abrufen:

    Wenn beispielsweise eine Filestore-Instanz mit einer IP-Adresse 10.0.1.2 und einer Dateifreigabe mit dem Namen share1 vorliegt, wird die Dateifreigabe mit dem folgenden Befehl in das lokale Bereitstellungspunkt-Verzeichnis /mnt/render bereitgestellt:

    sudo mount 10.0.1.2:/share1 /mnt/render
    
  7. Optional: Führen Sie chmod aus, um Berechtigungen für das Bereitstellungsverzeichnis festzulegen, damit ein anderer Nutzer als der Root-Nutzer Daten in dieses Verzeichnis schreiben kann. Führen Sie den folgenden Befehl aus, um Verzeichnisberechtigungen festzulegen:

    sudo chmod permissions mount-point-directory
    

    wobei

    • permissions die zu erteilenden Berechtigungen sind. Beispielsweise macht chmod go+rw das Verzeichnis für Nutzer in der Gruppe, der das Verzeichnis gehört, und für alle anderen Nutzer lesbar und beschreibbar. Weitere Informationen zum Festlegen von Berechtigungen finden Sie unter Zugriff auf einer Dateifreigabe konfigurieren.
    • mount-point-directory ist der Pfad zu dem Verzeichnis, in dem die Dateifreigabe von Filestore bereitgestellt wird.
  8. Optional: Bestätigen Sie, dass die Filestore-Dateifreigabe bereitgestellt ist:

    df -h --type=nfs
    

    Die Ausgabe sollte in etwa so aussehen:

    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. Wenn die Anwendungen, die Sie mit der bereitgestellten Filestore-Dateifreigabe verwenden wollen, NFS-Dateisperren erfordern und diese Client-VM-Instanz etwas anderes als das Standard-VPC-Netzwerk mit unveränderten Einstellungen verwendet, müssen Sie möglicherweise zwei Ports auf der Instanz festlegen, um die Konfiguration der Firewall zu erleichtern. Weitere Informationen dazu, wie Sie erkennen, ob Sie eine Firewallregel für das VPC-Netzwerk konfigurieren müssen, finden Sie unter Firewallregeln konfigurieren. Weitere Informationen zum Festlegen von Ports finden Sie unter NFS-Ports festlegen.

Linux: /etc/fstab

Sie können festlegen, dass Dateifreigaben während des Startvorgangs automatisch auf Client-VMs bereitgestellt werden, indem Sie die /etc/fstab-Datei des Clients ändern:

  1. Öffnen Sie in der Cloud Console die Seite VM-Instanzen.

    Zur Seite "VM-Instanzen"

  2. Suchen Sie die Linux-VM, die Sie als Client verwenden möchten, und klicken Sie dann auf SSH, um ein Terminal auf dieser VM zu öffnen.

  3. Optional: Bereitstellen einer Dateifreigabe auf einer Client-VM mit mehreren Netzwerkschnittstellen über ein sekundäres Netzwerk.

    Details

    Wenn die Client-VM über mehrere Netzwerkschnittstellen verfügt und Sie die Dateifreigabe über ein sekundäres Netzwerk bereitstellen möchten, nämlich eine andere Schnittstelle als nic0, müssen Sie die Routing-Richtlinie der Client-VM konfigurieren, um sicherzustellen, dass die Dateifreigabe über die richtige Netzwerkschnittstelle bereitgestellt wird. Ändern Sie dazu die folgenden Dateien:

    • Setzen Sie in /etc/default/instance_configs.cfg das setup-Flag für NetworkInterfaces auf false:
      [NetworkInterfaces]
      dhclient_script = /sbin/google-dhclient-script
      dhcp_command =
      ip_forwarding = true
         setup = false
      
    • Fügen Sie in /etc/network/interfaces die folgenden Zeilen hinzu:

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

    wobei

    • filestore-reserved-address-range ist der reservierte Adressbereich, der von der Filestore-Instanz verwendet wird.
    • default-gateway-of-nic-to-filestore ist die Standard-Gateway-IP-Adresse der Netzwerkkarte, die mit dem VPC-Netzwerk verbunden ist, das für die Filestore-Instanz freigegeben ist.

    Weitere Informationen zur Verwendung von Compute Engine-Instanzen mit mehreren Netzwerkkarten finden Sie unter Richtlinienrouting konfigurieren.

  4. Installieren Sie NFS:

    Debian/Ubuntu

    Mit den folgenden Befehlen können Sie NFS unter Debian oder Ubuntu installieren.

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

    RHEL/CentOS

    Mit den folgenden Befehlen können Sie NFS unter Red Hat Enterprise Linux oder CentOS installieren.

    sudo yum update &&
    sudo yum install nfs-utils

    SUSE

    Mit den folgenden Befehlen können Sie NFS unter SUSE installieren.

    sudo zypper update &&
    sudo zypper -n install nfs-client
  5. Erstellen Sie ein lokales Verzeichnis, das der Dateifreigabe von Filestore zugeordnet werden soll:

    sudo mkdir -p mount-point-directory
    

    Dabei ist mount-point-directory das zu erstellende Verzeichnis (zum Beispiel /mnt/filedir).

  6. Öffnen Sie die Datei /etc/fstab.

    sudo vim /etc/fstab
    
  7. Fügen Sie der Datei /etc/fstab die folgende Zeile hinzu:

    ip-address:/file-share/file-share-sub-dir mount-point-directory nfs defaults,_netdev 0 0
    

    wobei

    • ip-address ist die IP-Adresse für die Filestore-Instanz.
    • file-share ist der Name der Dateifreigabe für die Instanz.
    • file-share-sub-dir ist der Pfad des Unterverzeichnisses in der Dateifreigabe, die bereitgestellt werden soll. Lassen Sie dieses Feld leer, um die gesamte Dateifreigabe bereitzustellen.
    • mount-point-directory ist der Pfad, dem Sie die Filestore-Dateifreigabe zuordnen möchten.

    Beispiel: In der folgenden Zeile in /etc/fstab wird die Dateifreigabe vol1 der Filestore-Instanz mit der IP-Adresse 10.0.0.2 im Bereitstellungspunkt-Verzeichnis /mnt mit den Standardbereitstellungs-Optionen bereitgestellt:

    10.0.0.2:/vol1 /mnt nfs defaults 0 0
    
  8. Stellen Sie alles in /etc/fstab bereit:

    sudo mount -a
    

    Die Dateifreigabe wird jetzt bei jedem Start der Client-VM automatisch bereitgestellt.

Linux: autofs

Sie können autofs so konfigurieren, dass eine Dateifreigabe nur dann automatisch bereitgestellt wird, wenn auf sie zugegriffen wird, und sie nicht bereitgestellt wird, wenn sie nicht verwendet wird. Im Vergleich zu einer statischen Bereitstellung einer Dateifreigabe in /etc/fstab hilft diese Methode, Client-VM-Ressourcen in Situationen zu schonen, in denen der Client vielen Bereitstellungspunkten zugeordnet werden muss.

NFS und autofs auf der Client-VM installieren

  1. Öffnen Sie in der Cloud Console die Seite VM-Instanzen.

    Zur Seite "VM-Instanzen"

  2. Suchen Sie die Linux-VM, die Sie als Client verwenden möchten, und klicken Sie dann auf SSH, um ein Terminal auf dieser VM zu öffnen.

  3. Optional: Bereitstellen einer Dateifreigabe auf einer Client-VM mit mehreren Netzwerkschnittstellen über ein sekundäres Netzwerk.

    Details

    Wenn die Client-VM über mehrere Netzwerkschnittstellen verfügt und Sie die Dateifreigabe über ein sekundäres Netzwerk bereitstellen möchten, nämlich eine andere Schnittstelle als nic0, müssen Sie die Routing-Richtlinie der Client-VM konfigurieren, um sicherzustellen, dass die Dateifreigabe über die richtige Netzwerkschnittstelle bereitgestellt wird. Ändern Sie dazu die folgenden Dateien:

    • Setzen Sie in /etc/default/instance_configs.cfg das setup-Flag für NetworkInterfaces auf false:
      [NetworkInterfaces]
      dhclient_script = /sbin/google-dhclient-script
      dhcp_command =
      ip_forwarding = true
         setup = false
      
    • Fügen Sie in /etc/network/interfaces die folgenden Zeilen hinzu:

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

    wobei

    • filestore-reserved-address-range ist der reservierte Adressbereich, der von der Filestore-Instanz verwendet wird.
    • default-gateway-of-nic-to-filestore ist die Standard-Gateway-IP-Adresse der Netzwerkkarte, die mit dem VPC-Netzwerk verbunden ist, das für die Filestore-Instanz freigegeben ist.

    Weitere Informationen zur Verwendung von Compute Engine-Instanzen mit mehreren Netzwerkkarten finden Sie unter Richtlinienrouting konfigurieren.

  4. Führen Sie die folgenden Befehle aus, um NFS zu installieren.

    Debian/Ubuntu

    Mit den folgenden Befehlen können Sie NFS unter Debian oder Ubuntu installieren.

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

    RHEL/CentOS

    Mit den folgenden Befehlen können Sie NFS unter Red Hat Enterprise Linux oder CentOS installieren.

    sudo yum update &&
    sudo yum install nfs-utils

    SUSE

    Mit den folgenden Befehlen können Sie NFS unter SUSE installieren.

    sudo zypper update &&
    sudo zypper -n install nfs-client
  5. Installieren Sie im Terminalfenster der Client-VM autofs:

    Debian/Ubuntu

    sudo apt-get install autofs
    

    RHEL/CentOS

    sudo yum install autofs
    

    SUSE

    sudo zypper -n install autofs
    

autofs konfigurieren, um die Dateifreigabe dynamisch auf der Client-VM bereitzustellen

  1. autofs aktivieren:

    sudo systemctl enable --now autofs
    
  2. Erstellen Sie ein lokales Verzeichnis, das der Dateifreigabe von Filestore zugeordnet werden soll:

    sudo mkdir -p mount-point-directory
    

    Dabei ist mount-point-directory das zu erstellende Verzeichnis. Es darf keine Unterverzeichnisse enthalten. Für die Zwecke dieses Handbuchs verwenden wir /nfs als Bereitstellungspunktverzeichnis.

  3. Öffnen Sie die Datei /etc/auto.master.

    sudo vim /etc/auto.master
    
  4. Fügen Sie der Datei /etc/auto.master die folgende Zeile hinzu:

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

    Dabei ist seconds die Dauer in Sekunden vor der Bereitstellungszeitüberschreitung. Der Standardwert ist 300. Wenn Sie diesen Wert auf 0 setzen, wird das Aufheben der Bereitstellung von autofs deaktiviert.

  5. Erstellen Sie eine Datei mit dem Namen /etc/auto.nfs:

    sudo vim /etc/auto.nfs
    
  6. Fügen Sie der Datei /etc/auto.nfs die folgende Zeile hinzu:

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

    wobei

    • mount-point-subdir ist das Unterverzeichnis in /nfs, dem Sie die Dateispeicher-Dateifreigabe zuordnen möchten. Dieses Unterverzeichnis wird dynamisch generiert und sollte in der Client-VM nicht vorhanden sein.
    • options sind die NFS-Mount-Optionen. Wenn Sie die Standardoptionen verwenden möchten, lassen Sie dieses Feld einfach leer.
    • ip-address die IP-Adresse für die Filestore-Instanz ist.
    • file-share ist der Name der Dateifreigabe für die Instanz.
    • file-share-sub-dir ist der Pfad des Unterverzeichnisses in der Dateifreigabe, die bereitgestellt werden soll. Lassen Sie dieses Feld leer, um die gesamte Dateifreigabe bereitzustellen.

    Beispiel:: In der folgenden Zeile in /etc/auto.nfs wird die Dateifreigabe vol1 der Filestore-Instanz mit der IP-Adresse 10.0.0.2 in das dynamisch erzeugte Unterverzeichnis file-shares mit gewährtem read/write eingehängt:

    file-shares -rw 10.0.0.2:/vol1
    

Konfiguration testen

  1. Wenn die Dateifreigabe derzeit bereitgestellt ist, müssen Sie sie Bereitstellung aufheben:

    sudo umount mount-point-directory
    

    Dabei ist mount-point-directory der Pfad, dem die Dateifreigabe von Filestore zugeordnet ist.

    Wenn es einen /etc/fstab-Eintrag gibt, der die Dateifreigabe beim Systemstart bereitstellt, müssen Sie ihn entfernen.

  2. Laden Sie autofs neu:

    sudo service autofs reload
    
  3. Prüfen Sie, ob Ihre Konfiguration funktioniert:

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

    wobei

    • mount-point-directory ist das in der Datei /etc/auto.master angegebene Bereitstellungspunktverzeichnis.
    • mount-point-subdir ist das in der Datei /etc/auto.nfs angegebene Bereitstellungspunkt-Unterverzeichnis.

    In unserem Beispiel wäre der Befehl:

    ls /nfs/file-shares
    

    Wenn die automatische Bereitstellung korrekt konfiguriert ist, stellt das System zuerst die Dateifreigabe bereit und gibt dann die Ergebnisse des Befehls ls zurück. Die Bereitstellung der Dateifreigabe wird nach einer Zeit der Inaktivität, die durch den in der Datei /etc/auto.master angegebenen timeout-Wert definiert wird, automatisch aufgehoben.

Windows

Verbindung zur Windows-VM herstellen

  1. Öffnen Sie in der Cloud Console die Seite VM-Instanzen.

    Zur Seite "VM-Instanzen"

  2. Suchen Sie die Windows-VM, die Sie als Client verwenden möchten, und klicken Sie dann auf RDP, um eine Remote-Desktop-Verbindung zu dieser VM herzustellen. Weitere Informationen finden Sie unter Verbindung zu Windows-Instanzen herstellen.

NFS auf der Windows-VM installieren

  1. Öffnen Sie auf der Windows-VM PowerShell als Administrator.
  2. Installieren Sie in PowerShell den NFS-Client:

    Install-WindowsFeature -Name NFS-Client
    
  3. Starten Sie die Windows-VM-Instanz gemäß Aufforderung neu und öffnen Sie dann eine neue Remotedesktopverbindung.

Die vom NFS-Client verwendete Nutzer-ID konfigurieren

  1. Führen Sie in PowerShell die folgenden Befehle aus, um zwei neue Registry-Einträge zu erstellen, und zwar AnonymousUid und 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. Starten Sie den NFS-Clientdienst neu:

    nfsadmin client stop
    
    nfsadmin client start
    

Dateifreigabe der Windows-VM zuordnen

  1. Beenden Sie PowerShell:

    exit
    
  2. Ordnen Sie die Dateifreigabe von Command Prompt einem Laufwerksbuchstaben zu:

    mount filestore-ip:/file-share-name drive-letter:
    

    wobei

    • filestore-ip ist die IP-Adresse der Filestore-Instanz.
    • file-share-name ist der Name der Dateifreigabe in der Filestore-Instanz.
    • drive-letter ist der Buchstabe des Laufwerks, das Sie der Zuordnung zuweisen möchten.

    Beispiel

    Der folgende Befehl ordnet die Datei vol1 auf der Filestore-Instanz mit der IP-Adresse 10.0.0.2 dem Laufwerk z: auf der Windows-VM des Clients zu:

    mount 10.0.0.2:/vol1 z:
    

Nächste Schritte