Ce guide explique comment créer un client Compute Engine unique et le connecter à votre instance Parallelstore.
Pour créer et vous connecter à partir de plusieurs clients Compute Engine, vous pouvez suivre les instructions de la section Se connecter depuis Compute Engine: plusieurs clients.
Pour des performances optimales, les VM Compute Engine clientes doivent être créées dans la même zone que l'instance Parallelstore.
Autorisations requises
Vous devez disposer du rôle IAM suivant pour créer une VM Compute Engine:
- Administrateur d'instance Compute (v1) (
roles/compute.instanceAdmin.v1
). Pour en savoir plus, consultez la documentation Compute Engine.
Créer une VM Compute Engine
Suivez les instructions pour créer une VM Compute Engine à l'aide de l'une des images suivantes:
Vous pouvez choisir n'importe quel type de machine et n'importe quel disque de démarrage. Nous vous recommandons d'utiliser au moins un type de machine c2-standard-4
. Pour améliorer les performances du client, augmentez le nombre de processeurs virtuels afin d'augmenter le débit réseau. Par exemple, un c3-standard-176
avec mise en réseau de niveau 1 fournit 200 Gbit/s de bande passante de sortie.
Console Google Cloud
Dans Google Cloud Console, accédez à la page Instances de VM.
Sélectionnez le projet et cliquez sur Continuer.
Cliquez sur Créer une instance.
Dans Nom, saisissez un nom pour votre VM. Pour en savoir plus, consultez Recommandation pour l'attribution de noms aux ressources.
Sélectionnez une région et une zone dans les menus déroulants pour cette VM. Votre VM doit se trouver dans la même zone que votre instance Parallelstore.
Sélectionnez une configuration de machine pour votre VM dans la liste.
Dans la section Disque de démarrage, cliquez sur Modifier.
Sélectionnez l'onglet Images publiques.
Dans le menu déroulant Operating system (Système d'exploitation), sélectionnez l'une des options suivantes: HPC VM image (Image de VM HPC), Ubuntu ou Debian.
Dans le menu déroulant Version, sélectionnez l'une des options suivantes: HPC Rocky Linux 8, Ubuntu 22.04 LTS ou Debian GNU/Linux 12 (bookworm). Sélectionnez la version x86/64 ou la version Arm64 en fonction de votre type de machine.
Cliquez sur Sélectionner pour confirmer vos options de disque de démarrage.
Développez la section Options avancées, puis Mise en réseau.
Sous Interfaces réseau, sélectionnez le réseau VPC que vous avez créé dans Configurer un réseau VPC.
Pour créer et démarrer la VM, cliquez sur Créer.
gcloud
Utilisez l'outil de ligne de commande gcloud
pour créer une VM:
HPC Rocky Linux 8
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c2d-standard-112 \
--network-interface=stack-type=IPV4_ONLY,subnet=NETWORK_NAME,nic-type=GVNIC \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/cloud-hpc-image-public/global/images/hpc-rocky-linux-8-v20240126,\
mode=rw,size=100,type=pd-balanced
Rocky Linux 9 optimisé
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c2d-standard-112 \
--network-interface=stack-type=IPV4_ONLY,subnet=NETWORK_NAME,nic-type=GVNIC \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/rocky-linux-cloud/global/images/rocky-linux-9-optimized-gcp-v20241112,\
mode=rw,size=100,type=pd-balanced
RHEL 9
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c2d-standard-112 \
--network-interface=stack-type=IPV4_ONLY,subnet=NETWORK_NAME,nic-type=GVNIC \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/rhel-cloud/global/images/rhel-9-v20241112,\
mode=rw,size=100,type=pd-balanced
Ubuntu 22.04
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c2d-standard-112 \
--network-interface=stack-type=IPV4_ONLY,subnet=NETWORK_NAME,nic-type=GVNIC \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/ubuntu-os-cloud/global/images/ubuntu-2204-jammy-v20240927,\
mode=rw,size=100,type=pd-balanced
Debian 12
gcloud compute instances create VM_NAME \
--project=PROJECT_ID \
--zone=LOCATION \
--machine-type=c2d-standard-112 \
--network-interface=stack-type=IPV4_ONLY,subnet=NETWORK_NAME,nic-type=GVNIC \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--create-disk=auto-delete=yes,boot=yes,device-name=VM_NAME,\
image=projects/debian-cloud/global/images/debian-12-bookworm-v20240415,\
mode=rw,size=100,type=pd-balanced
Pour en savoir plus sur les options disponibles, consultez la documentation Compute Engine.
Se connecter en SSH à la VM cliente
Console Google Cloud
Pour vous connecter en SSH à votre VM Compute Engine, vous devez d'abord créer une règle de pare-feu autorisant le protocole SSH.
Dans la console Google Cloud, accédez à la page Règles d'administration.
Cliquez sur Créer une règle de pare-feu.
Saisissez un nom pour la règle.
Sous Réseau, sélectionnez le réseau VPC que vous avez créé précédemment.
Sélectionnez Entrée comme Sens du trafic et Autoriser comme Action en cas de correspondance.
Dans le menu déroulant Cibles, sélectionnez Toutes les instances du réseau.
Dans le champ Plages IPv4 sources, saisissez
0.0.0.0/0
.Dans Protocoles et ports, sélectionnez Protocoles et ports spécifiés.
Sélectionnez TCP, puis saisissez
22
dans le champ Ports.Cliquez sur Créer.
Connectez-vous ensuite en SSH à votre VM:
Dans Google Cloud Console, accédez à la page Instances de VM.
Dans le tableau des instances, recherchez la ligne de votre instance, puis cliquez sur SSH dans la colonne Connecter.
Si vous y êtes invité, cliquez sur Autoriser pour autoriser la connexion.
gcloud
Pour vous connecter en SSH à votre VM Compute Engine, vous devez d'abord créer une règle de pare-feu autorisant le protocole SSH.
gcloud compute firewall-rules create FIREWALL_RULE_NAME \
--allow=tcp:22 \
--network=NETWORK_NAME \
--source-ranges=0.0.0.0/0 \
--project=PROJECT_ID
Connectez-vous ensuite à l'aide de gcloud compute ssh
:
gcloud compute ssh VM_NAME --zone=ZONE --project=PROJECT_ID
Installer la bibliothèque cliente DAOS
La bibliothèque cliente DAOS fournit une interface POSIX à la couche de données Parallelstore. Le logiciel s'exécute en tant qu'agent sur vos machines clientes et doit être installé et exécuté avant que vous puissiez accéder à vos données.
HPC Rocky Linux 8
Les commandes suivantes doivent être exécutées sur chaque VM Compute Engine.
Ajoutez le dépôt de packages Parallelstore:
sudo tee /etc/yum.repos.d/parallelstore-v2-6-el8.repo << EOF [parallelstore-v2-6-el8] name=Parallelstore EL8 v2.6 baseurl=https://us-central1-yum.pkg.dev/projects/parallelstore-packages/v2-6-el8 enabled=1 repo_gpgcheck=0 gpgcheck=0 EOF
Mettez à jour le cache de métadonnées local:
sudo dnf makecache
Installez
daos-client
:sudo dnf install -y epel-release && \ sudo dnf install -y daos-client
Mettre à niveau
libfabric
:sudo dnf upgrade -y libfabric
Rocky Linux 9 optimisé
Les commandes suivantes doivent être exécutées sur chaque VM Compute Engine.
Ajoutez le dépôt de packages Parallelstore:
sudo tee /etc/yum.repos.d/parallelstore-v2-6-el9.repo << EOF [parallelstore-v2-6-el9] name=Parallelstore EL9 v2.6 baseurl=https://us-central1-yum.pkg.dev/projects/parallelstore-packages/v2-6-el9 enabled=1 repo_gpgcheck=0 gpgcheck=0 EOF
Mettez à jour le cache de métadonnées local:
sudo dnf makecache
Installez
daos-client
:sudo dnf install -y epel-release && \ sudo dnf install -y daos-client
Mettre à niveau
libfabric
:sudo dnf upgrade -y libfabric
RHEL 9
Les commandes suivantes doivent être exécutées sur chaque VM Compute Engine.
Ajoutez le dépôt de packages Parallelstore:
sudo tee /etc/yum.repos.d/parallelstore-v2-6-el9.repo << EOF [parallelstore-v2-6-el9] name=Parallelstore EL9 v2.6 baseurl=https://us-central1-yum.pkg.dev/projects/parallelstore-packages/v2-6-el9 enabled=1 repo_gpgcheck=0 gpgcheck=0 EOF
Mettez à jour le cache de métadonnées local:
sudo dnf makecache
Installez
daos-client
:sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo dnf install -y epel-release && \ sudo dnf install -y daos-client
Mettre à niveau
libfabric
:sudo dnf upgrade -y libfabric
Ubuntu 22.04
Les commandes suivantes doivent être exécutées sur chaque VM Compute Engine.
Ajoutez le dépôt de packages Parallelstore:
curl https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - echo "deb https://us-central1-apt.pkg.dev/projects/parallelstore-packages v2-6-deb main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Mettez à jour l'index des packages:
sudo apt update
Installez
daos-client
:sudo apt install -y daos-client
Debian 12
Les commandes suivantes doivent être exécutées sur chaque VM Compute Engine.
Ajoutez le dépôt de packages Parallelstore:
curl https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg | sudo apt-key add - echo "deb https://us-central1-apt.pkg.dev/projects/parallelstore-packages v2-6-deb main" | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list
Mettez à jour l'index des packages:
sudo apt update
Installez
daos-client
:sudo apt install -y daos-client
Augmenter la limite de fichiers ouverts (Ubuntu uniquement)
Pour les VM exécutant Ubuntu 22.04, vous devez augmenter la limite de fichiers ouverts à 131072 pour prendre en charge dfuse et la bibliothèque d'interception.
Si vous choisissez de ne pas utiliser la bibliothèque d'interception, vous pouvez également exécuter ulimit -n 131072
immédiatement avant de démarrer dfuse.
Pour augmenter la limite de fichiers ouverts de 1 024, exécutez les commandes suivantes sur chaque VM.
sudo tee -a /etc/security/limits.conf <<EOF
* soft nofile 131072
* hard nofile 131072
EOF
Redémarrez ensuite:
sudo reboot
Connectez-vous à nouveau en SSH à la VM cliente une fois le redémarrage terminé.
Mettre à jour la configuration de l'agent DAOS
Mettez à jour /etc/daos/daos_agent.yml
comme indiqué ci-dessous :
Décommentez et mettez à jour
access_points
avec les adresses IPaccessPoints
des propriétés d'instance Parallelstore. Exemple :access_points: ['172.21.95.2', '172.21.95.4', '172.21.95.5']
.Pour imprimer les points d'accès au format approprié pour les copier-coller, exécutez la commande suivante:
echo access_points\: $(gcloud beta parallelstore instances describe \ INSTANCE_ID --location LOCATION --project PROJECT_ID \ --format "value[delimiter=', '](format("{0}", accessPoints))")
Annulez la mise en commentaire des deux lignes suivantes. L'indentation est importante. Veillez donc à conserver les espaces devant
allow_insecure
:# transport_config: # allow_insecure: false
Remplacez la valeur de
allow_insecure
partrue
, car les certificats ne sont pas acceptés.transport_config: allow_insecure: true
Spécifiez l'interface réseau qui fournit la connectivité à l'instance Parallelstore. L'interface est souvent
eth0
,ens4
ouenp0s3
, mais peut être différente en fonction de votre configuration réseau. Vous pouvez utiliser la commanderoute
pour afficher la passerelle par défaut de votre VM. L'interface à spécifier est généralement celle qui partage un sous-réseau avec la passerelle.Commencez par lister toutes les interfaces réseau disponibles:
ip a
Le résultat ressemble à ce qui suit :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue state UP group default link/ether e4:9x:3f:x7:dx:f7 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.88.0.3/16 brd 10.88.255.255 scope global eth0 valid_lft forever preferred_lft forever 3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1460 qdisc noqueue state DOWN group default link/ether 02:4x:6y:1z:84:45 brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever
Exécutez
route
pour afficher la table de routage:route
Le résultat ressemble à ce qui suit :
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 10.88.0.1 0.0.0.0 UG 0 0 0 eth0 10.88.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
Dans l'exemple, la passerelle par défaut est
10.88.0.1
et elle est partagée pareth0
. Spécifiez donceth0
comme interface à utiliser.Modifier
/etc/daos/daos_agent.yml
. Annulez la mise en commentaire deinclude_fabric_ifaces
et mettez à jour la valeur:include_fabric_ifaces: ["eth0"]
Enregistrez et fermez le fichier.
Démarrer l'agent DAOS
HPC Rocky Linux 8
sudo systemctl start daos_agent.service
Vous pouvez vérifier l'état pour vous assurer que l'agent est en cours d'exécution:
systemctl status daos_agent.service
Rocky Linux 9 optimisé
sudo systemctl start daos_agent.service
Vous pouvez vérifier l'état pour vous assurer que l'agent est en cours d'exécution:
systemctl status daos_agent.service
RHEL 9
sudo systemctl start daos_agent.service
Vous pouvez vérifier l'état pour vous assurer que l'agent est en cours d'exécution:
systemctl status daos_agent.service
Ubuntu 22.04
sudo mkdir /var/run/daos_agent && \
sudo daos_agent -o /etc/daos/daos_agent.yml &
Debian 12
sudo mkdir /var/run/daos_agent && \
sudo daos_agent -o /etc/daos/daos_agent.yml &
Configurer la journalisation
Configurez la journalisation locale pour faciliter le débogage côté client, si nécessaire:
export D_LOG_MASK=INFO
export D_LOG_FILE_APPEND_PID=1
rm -f /tmp/client.log.*
export D_LOG_FILE=/tmp/client.log
Monter l'instance à l'aide de dfuse
Installez l'instance Parallelstore à l'aide de dfuse (DAOS FUSE).
Modifiez
/etc/fuse.conf
pour ajouteruser_allow_other
.Spécifiez l'option
--multi-user
avecdfuse
:mkdir -p /tmp/parallelstore dfuse -m /tmp/parallelstore \ --pool default-pool \ --container default-container \ --disable-wb-cache \ --thread-count=20 \ --eq-count=10 \ --multi-user
Pour obtenir de l'aide pour optimiser les valeurs de --thread-count
et --eq-count
, consultez la section Nombre de threads et de files d'attente d'événements de la page Considérations sur les performances.
Accéder à votre instance Parallelstore
Votre instance Parallelstore est désormais montée sur votre VM Compute Engine au chemin d'accès spécifié par l'option -m
, et est lisible/inscriptible à l'aide de la syntaxe POSIX standard, avec quelques exceptions.
Si vous exécutez df
sur l'instance, la valeur SIZE
est 1,5 fois la valeur spécifiée avec --capacity-gib
. La quantité d'espace utilisable est toujours --capacity-gib
en raison de la nature de l'encodage par effacement utilisé par Parallelstore. Chaque paire d'octets écrite utilise trois octets du point de vue de df
.
Démonter l'instance
Vous pouvez démonter l'instance Parallelstore à l'aide de la commande suivante:
sudo umount /tmp/parallelstore/