Installer des partages de fichiers sur des clients Compute Engine

Cette page explique comment installer un partage de fichiers Filestore sur une instance de machine virtuelle (VM) Compute Engine qui se trouve dans le même projet Google Cloud et le même réseau VPC. Pour savoir comment installer des partages de fichiers sur des clients d'un réseau distant, consultez la section Installer des partages de fichiers sur des clients distants. Si vous souhaitez accéder aux instances Filestore à partir de clusters Google Kubernetes Engine, consultez la section Accéder aux instances Filestore avec le pilote CSI Filestore.

Avant de commencer

Assurez-vous que le pare-feu du réseau est correctement configuré pour une utilisation avec Filestore. Consultez la section Configurer les règles de pare-feu pour plus d'informations.

Installer un partage de fichiers sur une instance de VM Compute Engine

Utilisez l'une des procédures suivantes pour installer un partage de fichiers Filestore sur une machine virtuelle Compute Engine : Nous vous recommandons d'effectuer une installation sur une VM n1-standard-8 ou supérieure pour des performances optimales.

Linux : installation

Pour installer manuellement un partage de fichiers sur une machine virtuelle cliente Linux :

  1. Dans la console Google Cloud, accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Localisez la machine virtuelle Linux que vous souhaitez utiliser en tant que client, puis cliquez sur SSH pour ouvrir un terminal sur cette VM.

  3. Facultatif : installation d'un partage de fichiers sur une machine virtuelle cliente avec plusieurs interfaces réseau via un réseau secondaire.

    Détails (cliquez pour développer)

    Si vous souhaitez installer le partage de fichiers via un réseau secondaire, à savoir une interface autre que nic0, vous devez modifier la règle de routage de la VM cliente. Exécutez la commande suivante :

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

    où :

    • filestore-reserved-address-range est la plage d'adresses réservée à l'utilisation par l'instance Filestore.
    • default-gateway-of-nic-to-filestore est l'adresse IP de la passerelle par défaut de la carte d'interface réseau connectée au réseau VPC qui est partagé avec l'instance Filestore.

    Pour en savoir plus sur l'utilisation des instances Compute Engine avec plusieurs cartes d'interface réseau, consultez Configurer le routage pour une interface réseau supplémentaire.

  4. Installez NFS :

    Debian/Ubuntu

    Exécutez les commandes suivantes pour installer NFS sur Debian ou Ubuntu.

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

    RHEL/CentOS

    Exécutez les commandes suivantes pour installer NFS sur Red Hat Enterprise Linux ou CentOS.

    sudo yum update &&
    sudo yum install nfs-utils

    SUSE

    Exécutez les commandes suivantes pour installer NFS sur SUSE.

    sudo zypper update &&
    sudo zypper -n install nfs-client
  5. Créez un répertoire local à mapper au partage de fichiers Filestore :

    sudo mkdir -p mount-point-directory
    

    mount-point-directory est le répertoire à créer (par exemple, /mnt/filedir).

  6. Installez le partage de fichiers à partir de l'instance Filestore en exécutant la commande mount. Vous pouvez utiliser toutes les options d'installation NFS. Pour obtenir des performances optimales, nous vous recommandons d'utiliser les options NFS mount suivantes:

    Option Description
    hard Le client NFS relance indéfiniment les requêtes NFS. Pour réduire le risque de perturbations d'E/S lors du redémarrage de l'instance Filestore, nous vous recommandons d'utiliser l'option d'installation hard pour les clients Linux et Windows.
    timeo=600 Le client NFS attend 600 décisecondes (60 secondes) avant de réessayer une demande NFS.
    retrans=3 Le client NFS tente d'effectuer les requêtes NFS à trois reprises avant de poursuivre la procédure de récupération.
    rsize=262144 Le client NFS peut recevoir un maximum de 262 144 octets du serveur NFS par requête READ.
    Remarque: Pour les instances de niveau de base, définissez la valeur rsize sur 1048576.
    wsize=1048576 Le client NFS peut recevoir un maximum de 1 048 576 octets du serveur NFS par demande WRITE.
    resvport Le client NFS utilise un port source privilégié lors de la communication avec le serveur NFS pour ce point d'installation.
    async Le client NFS retarde l'envoi des écritures d'application au serveur NFS jusqu'à ce que certaines conditions soient remplies.
    Attention : L'utilisation de l'option sync réduit considérablement les performances.

    • Pour réduire la latence d'installation, spécifiez l'option -o tcp.
    • Si vous installez une instance d'entreprise ou zonale (anciennement SSD à grande échelle) sur une VM cliente exécutant le noyau Linux 5.3 ou version ultérieure, spécifiez l'option d'installation nconnect pour augmenter les performances NFS. Nous vous recommandons de spécifier jusqu'à 7 connexions pour le niveau zonal et jusqu'à 2 connexions pour les niveaux régional et Enterprise. En général, plus la capacité du partage de fichiers est élevée et moins les VM clientes connectées sont nombreuses, plus vous gagnez en performance en spécifiant des connexions supplémentaires avec nconnect.

    Exécutez la commande mount avec les options de votre choix, comme suit:

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

    où :

    • ip-address est l'adresse IP de l'instance Filestore.
    • file-share est le nom du partage de fichiers sur l'instance.
    • mount-point-directory est le chemin d'accès où vous souhaitez mapper le partage de fichiers Filestore.

    L'adresse IP et le nom du partage de fichiers d'une instance sont obtenus à partir de l'une des sources suivantes :

    Par exemple, considérant une instance Filestore avec une adresse IP 10.0.1.2 et un partage de fichiers nommé share1, la commande suivante installe le partage de fichiers dans le répertoire du point d'installation local /mnt/render :

    sudo mount 10.0.1.2:/share1 /mnt/render
    
  7. Facultatif : Exécutez chmod pour définir des autorisations sur le répertoire d'installation afin qu'une personne autre que l'utilisateur racine puisse écrire des données dans ce répertoire. Pour définir les autorisations de répertoire, exécutez la commande suivante:

    sudo chmod permissions mount-point-directory
    

    où :

    • permissions est l'ensemble des autorisations à accorder. Par exemple, chmod go+rw rend le répertoire accessible en lecture et en écriture par les utilisateurs du groupe propriétaire du répertoire et par tous les autres utilisateurs. Pour plus d'informations sur la définition des autorisations, consultez la page Configurer l'accès sur un partage de fichiers.
    • mount-point-directory correspond au chemin d'accès au répertoire dans lequel le partage de fichiers Filestore est installé.
  8. Facultatif : Vérifiez que le partage de fichiers Filestore est installé :

    df -h --type=nfs
    

    Un résultat semblable aux lignes suivantes doit s'afficher :

    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. Si vous devez utiliser le verrouillage de fichier NFS, vous devrez peut-être définir les ports utilisés par les daemons statd et nlockmgr, et configurer règles de pare-feu pour ouvrir ces ports.

Linux : /etc/fstab

Vous pouvez faire installer automatiquement les partages de fichiers sur les machines virtuelles clientes lors du démarrage en modifiant le fichier /etc/fstab du client :

  1. Dans la console Google Cloud, accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Localisez la machine virtuelle Linux que vous souhaitez utiliser en tant que client, puis cliquez sur SSH pour ouvrir un terminal sur cette VM.

  3. Facultatif: installation d'un partage de fichiers sur une machine virtuelle cliente disposant de plusieurs interfaces réseau via un réseau secondaire.

    Détails (cliquez pour développer)

    Si vous souhaitez installer le partage de fichiers via un réseau secondaire, à savoir une interface autre que nic0, vous devez modifier la règle de routage de la VM cliente:

    • Dans /etc/default/instance_configs.cfg, définissez l'indicateur setup de NetworkInterfaces sur false :
      [NetworkInterfaces]
      dhclient_script = /sbin/google-dhclient-script
      dhcp_command =
      ip_forwarding = true
         setup = false
    • Dans /etc/network/interfaces, ajoutez les lignes suivantes :

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

    où :

    • filestore-reserved-address-range est la plage d'adresses réservée à l'utilisation par l'instance Filestore.
    • default-gateway-of-nic-to-filestore est l'adresse IP de la passerelle par défaut de la carte d'interface réseau connectée au réseau VPC qui est partagé avec l'instance Filestore.

    Pour en savoir plus sur l'utilisation des instances Compute Engine avec plusieurs cartes d'interface réseau, consultez Configurer le routage pour une interface réseau supplémentaire.

  4. Installez NFS :

    Debian/Ubuntu

    Exécutez les commandes suivantes pour installer NFS sur Debian ou Ubuntu.

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

    RHEL/CentOS

    Exécutez les commandes suivantes pour installer NFS sur Red Hat Enterprise Linux ou CentOS.

    sudo yum update &&
    sudo yum install nfs-utils

    SUSE

    Exécutez les commandes suivantes pour installer NFS sur SUSE.

    sudo zypper update &&
    sudo zypper -n install nfs-client
  5. Créez un répertoire local à mapper au partage de fichiers Filestore :

    sudo mkdir -p mount-point-directory
    

    mount-point-directory est le répertoire à créer (par exemple, /mnt/filedir).

  6. Ouvrez le fichier /etc/fstab :

    sudo vim /etc/fstab
    
  7. Ajoutez la ligne suivante dans le fichier /etc/fstab :

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

    où :

    • ip-address est l'adresse IP de l'instance Filestore.
    • file-share est le nom du partage de fichiers sur l'instance.
    • mount-point-directory est le chemin auquel vous souhaitez mapper le partage de fichiers Filestore.
    • options correspond aux options d'installation NFS. Nous vous recommandons de conserver les options d'installation NFS par défaut, avec les exceptions suivantes :
      • Pour une installation automatique, nous vous recommandons de spécifier -o tcp afin de réduire la latence lors de l'installation et de la désinstallation.
      • Si vous installez une instance zonale (anciennement SSD à grande échelle) sur une VM cliente exécutant le noyau Linux 5.3 ou version ultérieure, spécifiez l'option d'installation nconnect pour augmenter les performances NFS. Nous vous recommandons de spécifier jusqu'à 7 connexions pour le niveau zonal et jusqu'à 2 connexions pour les niveaux régional et Enterprise. En général, plus la capacité du partage de fichiers est élevée et moins les VM clientes connectées sont nombreuses, plus vous gagnez en performance en spécifiant des connexions supplémentaires avec nconnect.

    Exemple : La ligne suivante dans /etc/fstab monte le partage de fichiers vol1 de l'instance Filestore avec l'adresse IP 10.0.0.2 dans le répertoire de point d'installation /mnt avec les options d'installation par défaut :

    10.0.0.2:/vol1 /mnt nfs defaults,_netdev 0 0
    
  8. Montez tout dans /etc/fstab :

    sudo mount -a
    

    Le partage de fichiers est désormais installé automatiquement à chaque démarrage de la VM cliente.

Linux : autofs

Vous pouvez configurer autofs pour installer automatiquement un partage de fichiers uniquement lorsqu'un utilisateur y accède et le garder démonté lorsqu'il n'est pas utilisé. Par rapport à un partage de fichiers monté statiquement dans /etc/fstab, cette méthode permet de conserver les ressources de la machine virtuelle cliente dans les situations où le client doit se mapper à de nombreux points d'installation.

Installer NFS et autofs sur la machine virtuelle cliente

  1. Dans la console Google Cloud, accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Localisez la machine virtuelle Linux que vous souhaitez utiliser en tant que client, puis cliquez sur SSH pour ouvrir un terminal sur cette VM.

  3. Facultatif : installation d'un partage de fichiers sur une machine virtuelle cliente avec plusieurs interfaces réseau via un réseau secondaire.

    Détails (cliquez pour développer)

    Si vous souhaitez installer le partage de fichiers via un réseau secondaire, à savoir une interface autre que nic0, vous devez modifier la règle de routage de la VM cliente:

    • Dans /etc/default/instance_configs.cfg, définissez l'indicateur setup de NetworkInterfaces sur false :
      [NetworkInterfaces]
      dhclient_script = /sbin/google-dhclient-script
      dhcp_command =
      ip_forwarding = true
         setup = false
    • Dans /etc/network/interfaces, ajoutez les lignes suivantes :

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

    où :

    • filestore-reserved-address-range est la plage d'adresses réservée à l'utilisation par l'instance Filestore.
    • default-gateway-of-nic-to-filestore est l'adresse IP de la passerelle par défaut de la carte d'interface réseau connectée au réseau VPC qui est partagé avec l'instance Filestore.

    Pour en savoir plus sur l'utilisation des instances Compute Engine avec plusieurs cartes d'interface réseau, consultez Configurer le routage pour une interface réseau supplémentaire.

  4. Installez NFS à l'aide des commandes suivantes :

    Debian/Ubuntu

    Exécutez les commandes suivantes pour installer NFS sur Debian ou Ubuntu.

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

    RHEL/CentOS

    Exécutez les commandes suivantes pour installer NFS sur Red Hat Enterprise Linux ou CentOS.

    sudo yum update &&
    sudo yum install nfs-utils

    SUSE

    Exécutez les commandes suivantes pour installer NFS sur SUSE.

    sudo zypper update &&
    sudo zypper -n install nfs-client
  5. Depuis la fenêtre du terminal de la machine virtuelle cliente, installez autofs :

    Debian/Ubuntu

    sudo apt-get install autofs
    

    RHEL/CentOS

    sudo yum install autofs
    

    SUSE

    sudo zypper -n install autofs
    

Configurer autofs pour installer dynamiquement le partage de fichiers sur la machine virtuelle client

  1. Activer autofs :

    sudo systemctl enable --now autofs
    
  2. Créez un répertoire local à mapper au partage de fichiers Filestore :

    sudo mkdir -p mount-point-directory
    

    mount-point-directory est le répertoire à créer. Il ne doit contenir aucun sous-répertoire. Dans ce guide, nous utilisons /nfs comme répertoire de point d'installation.

  3. Ouvrez le fichier /etc/auto.master :

    sudo vim /etc/auto.master
    
  4. Ajoutez la ligne suivante dans le fichier /etc/auto.master :

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

    seconds est le délai avant expiration d'installation en secondes. La valeur par défaut est 300. Définir cette valeur sur 0 désactive la désinstallation par autofs.

  5. Créez un fichier appelé /etc/auto.nfs :

    sudo vim /etc/auto.nfs
    
  6. Ajoutez la ligne suivante dans le fichier /etc/auto.nfs :

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

    où :

    • mount-point-subdir correspond au sous-répertoire de /nfs dans lequel vous souhaitez mapper le partage de fichiers Filestore. Ce sous-répertoire est généré de manière dynamique et ne doit pas exister dans la VM cliente.
    • options correspond aux options d'installation NFS. Nous vous recommandons de conserver les options d'installation NFS par défaut, avec les exceptions suivantes :
      • Pour une installation automatique, nous vous recommandons de spécifier -o tcp afin de réduire la latence lors de l'installation et de la désinstallation.
      • Si vous installez une instance zonale (anciennement SSD à grande échelle) sur une VM cliente exécutant le noyau Linux 5.3 ou version ultérieure, spécifiez l'option d'installation nconnect pour augmenter les performances NFS. Nous vous recommandons de spécifier jusqu'à 7 connexions pour le niveau zonal et jusqu'à 2 connexions pour les niveaux régional et Enterprise. En général, plus la capacité du partage de fichiers est élevée et moins les VM clientes connectées sont nombreuses, plus vous gagnez en performance en spécifiant des connexions supplémentaires avec nconnect.
      • ip-address est l'adresse IP de l'instance Filestore.
      • file-share est le nom du partage de fichiers sur l'instance.

    Exemple: La ligne suivante dans /etc/auto.nfs monte le partage de fichiers vol1 de l'instance Filestore avec l'adresse IP 10.0.0.2 dans le sous-répertoire généré dynamiquement file-shares avec l'accès read/write accordé:

    file-shares -rw 10.0.0.2:/vol1
    

Tester votre configuration

  1. Si le partage de fichiers est monté, vous devez le démonter :

    sudo umount mount-point-directory
    

    mount-point-directory est le chemin d'accès auquel le partage de fichiers Filestore est mappé.

    Si une entrée /etc/fstab installe le partage de fichiers au démarrage du système, supprimez-la.

  2. Rechargez autofs :

    sudo service autofs reload
    
  3. Vérifiez que votre configuration fonctionne :

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

    où :

    • mount-point-directory est le répertoire de point d'installation indiqué dans le fichier /etc/auto.master.
    • mount-point-subdir est le sous-répertoire de point d'installation indiqué dans le fichier /etc/auto.nfs.

    D'après notre exemple, la commande serait :

    ls /nfs/file-shares
    

    Si l'installation automatique est correctement configurée, le système installe d'abord le partage de fichiers, puis renvoie les résultats de la commande ls. Le partage de fichiers est automatiquement désinstallé après une période d'inactivité définie par la valeur timeout spécifiée dans le fichier /etc/auto.master.

Windows

Se connecter à la machine virtuelle Windows

  1. Dans la console Google Cloud, accédez à la page "Instances de VM".

    Accéder à la page "Instances de VM"

  2. Recherchez la VM Windows que vous souhaitez utiliser en tant que client, puis cliquez sur RDP pour ouvrir une connexion Bureau à distance à cette VM. Pour en savoir plus, consultez la page Se connecter à des instances Windows.

Installer NFS sur la VM Windows

  1. À partir de la VM Windows, ouvrez PowerShell en tant qu'administrateur.
  2. Dans PowerShell, installez le client NFS :

    Install-WindowsFeature -Name NFS-Client
    
  3. Redémarrez l'instance de VM Windows. À l'invite, ouvrez une nouvelle connexion Bureau à distance.

Configurer l'ID utilisateur utilisé par le client NFS

  1. Dans PowerShell, exécutez les commandes suivantes pour créer deux nouvelles entrées de registre, AnonymousUid et 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. Redémarrez le service client NFS :

    nfsadmin client stop
    
    nfsadmin client start
    

Mapper le partage de fichiers à la machine virtuelle Windows

  1. Quittez PowerShell :

    exit
    
  2. Facultatif : installation d'un partage de fichiers sur une machine virtuelle cliente avec plusieurs interfaces réseau via un réseau secondaire.

    Détails (cliquez pour développer)

    Si vous souhaitez installer le partage de fichiers via un réseau secondaire, à savoir une interface autre que nic0, vous devez modifier la règle de routage de la VM cliente. Exécutez la commande suivante :

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

    où :

    • filestore-reserved-address-range est la plage d'adresses réservée à l'utilisation par l'instance Filestore.
    • address-range-subnet-mask est le masque de sous-réseau de filestore-reserved-address-range. Par exemple, une plage d'adresses réservée /29 utiliserait le masque de sous-réseau 255.255.255.248.
    • default-gateway-of-nic-to-filestore est l'adresse IP de la passerelle par défaut de la carte d'interface réseau connectée au réseau VPC qui est partagé avec l'instance Filestore.

    Exemple :

    route -p add 10.65.21.176 mask 255.255.255.248 10.128.0.1
    

    Pour en savoir plus sur l'utilisation des instances Compute Engine avec plusieurs cartes d'interface réseau, consultez Configurer le routage pour une interface réseau supplémentaire.

  3. À partir de Command Prompt, mappez le partage de fichiers à une lettre de lecteur :

    net use drive-letter: \\filestore-ip\file-share-name
    

    où :

    • filestore-ip est l'adresse IP de l'instance Filestore.
    • file-share-name est le nom du partage de fichiers sur l'instance Filestore.
    • drive-letter est la lettre du disque que vous souhaitez attribuer au mappage.

    Exemple

    La commande suivante mappe le partage de fichiers vol1 sur l'instance Filestore avec l'adresse IP 10.0.0.2 au lecteur z: sur la machine virtuelle Windows cliente :

    net use Z: \\10.0.0.2\vol1
    
  4. Facultatif: Pour utiliser le verrouillage des fichiers NFS, vérifiez les points suivants:

    1. Assurez-vous que les règles de pare-feu sont configurées pour tous les ports NFS requis, y compris statd et nlockmgr.

    2. Assurez-vous que le client NFS Windows est configuré avec des ports réservés à l'aide d'une commande semblable à la suivante dans PowerShell:

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

Créer et installer des sous-répertoires sur le partage de fichiers

Une fois que votre partage de fichiers est installé sur une VM cliente, vous pouvez créer des sous-répertoires sur celui-ci, que les clients peuvent installer directement au lieu d'installer l'intégralité du partage de fichiers :

  1. Pour créer un sous-répertoire sur le partage de fichiers installé, exécutez la commande suivante :

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

    où :

    • mount-point-directory est le chemin d'accès sur lequel vous mappez le partage de fichiers.
    • file-share-sub-dir est le chemin d'accès du sous-répertoire du partage de fichiers que vous souhaitez créer.

    Cette commande crée le sous-répertoire sur la VM cliente et sur le partage de fichiers. Par exemple, si vous avez installé le partage de fichiers 10.0.0.2:/vol1 au répertoire /mnt sur la VM cliente, la commande sudo mkdir -p /mnt/nfs crée 10.0.0.2:/vol1/nfs sur le partage de fichiers et /mnt/nfs sur la VM cliente.

  2. Facultatif : Si vous souhaitez installer le sous-répertoire du partage de fichiers dans le répertoire de la VM cliente sur laquelle le partage de fichiers est installé, vous devez d'abord désinstaller le partage de fichiers :

    sudo umount mount-point-directory
    

    mount-point-directory est le répertoire vers lequel le partage de fichiers est mappé.

  3. Installez le sous-répertoire :

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

    où :

    • ip-address est l'adresse IP de l'instance Filestore.
    • file-share est le nom du partage de fichiers sur l'instance.
    • file-share-sub-dir est le chemin d'accès du sous-répertoire dans le partage de fichiers à installer.
    • mount-point-directory est le chemin d'accès où vous souhaitez mapper le partage de fichiers Filestore.

    Exemple : dans la commande suivante :

    sudo mount 10.0.0.2:/vol1/nfs /mnt/nfs
    
    • 10.0.0.2 est l'adresse IP de l'instance Filestore.
    • vol1 est le nom du partage de fichiers.
    • nfs est un sous-répertoire du partage de fichiers.
    • /mnt/nfs est le répertoire de la VM cliente où le sous-répertoire de partage de fichiers nfs est mappé.

Étape suivante