web-dev-qa-db-fra.com

Partager un disque persistant entre les machines virtuelles Google Compute Engine

De la documentation de Google:

Il est possible d'attacher un disque persistant à plusieurs instances. Cependant, si vous attachez un disque persistant à plusieurs instances, toutes les instances doivent attacher le disque persistant en mode lecture seule. Il n'est pas possible d'attacher le disque persistant à plusieurs instances en mode lecture-écriture.

Si vous attachez un disque persistant en mode lecture-écriture, puis essayez d'attacher le disque aux instances suivantes, Google Compute Engine renvoie une erreur.

Donc, j'ai besoin d'un disque persistant de partage comme frontend pour tout mon moteur de calcul, bon, comment pouvez-vous écrire sur ce disque partagé?

Ma supposition (j'espère) est n disque persistant en lecture/écriture ne peut être attaché qu'avec 1 moteur de calcul mais ce même disque peut être partagé en lecture seule avec d'autres VMs, est-ce vrai?

Disons que j'ai 2 machines virtuelles Compute Engine et 2 disques persistants, ce flux est-il possible?

  • compute1 lecture/écriture disk1 et lecture seule disk2
  • compute2 lecture/écriture disk2 et lecture seule disk1
26
flaubert

Non, ce n'est pas possible, comme le documentation que vous avez citée au moment de la rédaction (depuis la mise à jour):

Cependant, si vous attachez un disque persistant à plusieurs instances, toutes les instances doivent attacher le disque persistant en mode lecture seule.

La documentation a été réorganisée depuis lors; les nouveaux documents sont à une RL différente mais avec le même contenu:

Vous pouvez attacher un disque persistant non root à plusieurs instances de machine virtuelle en mode lecture seule, ce qui vous permet de partager des données statiques entre plusieurs instances. Le partage de données statiques entre plusieurs instances à partir d'un disque persistant coûte moins cher que la réplication de vos données sur des disques uniques pour des instances individuelles.

Si vous attachez un disque persistant à plusieurs instances, toutes ces instances doivent attacher le disque persistant en mode lecture seule. Il n'est pas possible d'attacher le disque persistant à plusieurs instances en mode lecture-écriture. Si vous devez partager un espace de stockage dynamique entre plusieurs instances, connectez vos instances à Cloud Storage ou créer un serveur de fichiers résea .

Si vous avez un disque persistant avec des données que vous souhaitez partager entre plusieurs instances, détachez-le de toutes les instances en lecture-écriture et attachez-le à une ou plusieurs instances en mode lecture seule.

ce qui signifie que vous ne pouvez pas avoir une instance ayant un accès en écriture tandis qu'une autre a un accès en lecture seule.

Si vous souhaitez partager des données entre eux, vous devez utiliser autre chose que le disque persistant. Voici quelques solutions possibles.

Vous pouvez utiliser l'un des services hébergés/gérés suivants :

Alternativement, vous pouvez exécuter votre propre :

  • auto-géré déploiement de stockage Elastifile (pour une gestion complète, voir la section précédente pour le lien)
  • base de données (SQL ou NoSQL)
  • système de fichiers distribué tel que Ceph , GlusterFS , OrangeFS , ZFS , etc.
  • serveur de fichiers tel que NFS ou SAMBA
  • single VM comme nœud de stockage de données, et utilisez sshfs pour créer un montage Fuse à partir d'autres machines virtuelles qui souhaitent accéder à ces données
40
Misha Brukman