Installer des partages de fichiers sur des clients Compute Engine

Cette page vous montre comment installer un partage de fichiers Filestore sur une instance de machine virtuelle (VM) Compute Engine.

Les machines virtuelles clientes doivent se trouver dans le même projet Google Cloud et sur le même réseau VPC que l'instance Filestore. Pour savoir comment installer des partages de fichiers sur des clients distants, tels qu'un terminal sur site ou une machine virtuelle, voir Installer des partages de fichiers sur des clients sur un réseau distant.

Avant de commencer

Assurez-vous que le pare-feu réseau est correctement configuré pour être utilisé avec Cloud Filestore. Pour en savoir plus, consultez la section Configurer des règles de pare-feu.

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 :

Linux : installation

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

  1. Dans Cloud Console, 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

    Si la machine virtuelle cliente possède plusieurs interfaces réseau et que vous souhaitez installer le partage de fichiers via un réseau secondaire, à savoir une interface autre que nic0, vous devez configurer la stratégie de routage de la machine virtuelle cliente pour vous assurer que le partage de fichiers se monte via l'interface réseau appropriée. Pour ce faire, exécutez la commande suivante sur la machine virtuelle cliente :

    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 plus d'informations sur l'utilisation des instances Compute Engine avec plusieurs cartes d'interface réseau, voir Configurer une stratégie de routage.

  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 des performances optimales, nous vous recommandons d'utiliser les options mount NFS par défaut.

    Options mount NFS par défaut

    Option par défaut Description
    hard Le client NFS renouvelle indéfiniment les requêtes NFS.
    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=1048576 Le client NFS peut recevoir un maximum de 1 048 576 octets du serveur NFS par demande READ.
    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.

    Exécutez la commande mount :

    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. Pour installer l'intégralité du partage de fichiers, laissez ce champ vide.
    • mount-point-directory est le chemin d'accès au mappage du 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. Exécutez la commande suivante pour définir des autorisations de répertoire :

    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 est le 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 les applications que vous prévoyez d'utiliser avec le partage de fichiers Filestore monté nécessitent un verrouillage de fichier NFS et que cette instance de machine virtuelle cliente utilise autre chose que le réseau VPC par défaut avec des paramètres inchangés, vous devrez peut-être définir deux ports sur l'instance afin de faciliter la configuration du pare-feu. Pour plus d'informations sur la nécessité ou non de configurer une règle de pare-feu pour le réseau VPC, consultez la page Configurer des règles de pare-feu. Pour plus d'informations sur la définition des ports, consultez la page Définir des ports NFS.

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 Cloud Console, 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

    Si la machine virtuelle cliente possède plusieurs interfaces réseau et que vous souhaitez installer le partage de fichiers via un réseau secondaire, à savoir une interface autre que nic0, vous devez configurer la stratégie de routage de la machine virtuelle cliente pour vous assurer que le partage de fichiers se monte via l'interface réseau appropriée. Pour ce faire, modifiez les fichiers suivants :

    • 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 plus d'informations sur l'utilisation des instances Compute Engine avec plusieurs cartes d'interface réseau, voir Configurer une stratégie de routage.

  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/file-share-sub-dir mount-point-directory nfs defaults,_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.
    • file-share-sub-dir est le chemin d'accès du sous-répertoire dans le partage de fichiers à installer. Pour installer l'intégralité du partage de fichiers, laissez ce champ vide.
    • mount-point-directory est le chemin auquel vous souhaitez mapper le partage de fichiers Filestore.

    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 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 Cloud Console, 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

    Si la machine virtuelle cliente possède plusieurs interfaces réseau et que vous souhaitez installer le partage de fichiers via un réseau secondaire, à savoir une interface autre que nic0, vous devez configurer la stratégie de routage de la machine virtuelle cliente pour vous assurer que le partage de fichiers se monte via l'interface réseau appropriée. Pour ce faire, modifiez les fichiers suivants :

    • 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 plus d'informations sur l'utilisation des instances Compute Engine avec plusieurs cartes d'interface réseau, voir Configurer une stratégie de routage.

  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. Elle ne doit contenir aucun sous-répertoire. Pour les besoins de ce guide, nous utilisons /nfs comme répertoire des points 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/file-share-sub-dir
    

    où :

    • mount-point-subdir est le sous-répertoire de /nfs avec lequel vous souhaitez mapper le partage de fichiers Filestore. Ce sous-répertoire est généré dynamiquement et ne doit pas exister dans la VM cliente.
    • options sont les options d'installation NFS. Si vous souhaitez utiliser les options par défaut, laissez ce champ vide.
    • 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. Pour installer l'intégralité du partage de fichiers, laissez ce champ vide.

    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 actuellement 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, assurez-vous de la supprimer.

  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 Cloud Console, accédez à la page Instances de VM .

    Accéder à la page Instances de VM

  2. Localisez la machine virtuelle 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 section 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. À partir de Command Prompt, mappez le partage de fichiers à une lettre de lecteur :

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

    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 lecteur 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 :

    mount 10.0.0.2:/vol1 z:
    

Étape suivante