Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique certaines méthodes de base pour équilibrer le trafic client vers tous les points de montage sur votre cache Azure HPC.
Chaque HPC Cache a au moins trois adresses IP différentes, et les caches avec des valeurs de débit supérieures peuvent avoir jusqu’à 12. Il est important d’utiliser toutes les adresses IP pour tirer pleinement parti d’Azure HPC Cache.
Il existe différentes options pour équilibrer la charge de vos montages client :
- Choisir manuellement une adresse IP de montage différente pour chaque client
- Inclure la rotation des adresses IP dans vos scripts de montage client
- Configurez un système DNS pour router automatiquement les demandes des clients parmi toutes les adresses disponibles (DNS round-robin)
Le système d’équilibrage de charge approprié pour vous dépend de la complexité de votre flux de travail, du nombre d’adresses IP dans votre cache et d’un grand nombre d’autres facteurs. Consultez votre conseiller Azure si vous avez besoin d’aide pour déterminer l’approche qui vous convient le mieux.
Attribuer manuellement des adresses IP
Les adresses IP de montage de votre cache sont affichées dans les pages Vue d’ensemble du cache et Instructions de montage dans le portail Azure, ainsi que dans le message de réussite qui s’imprime lorsque vous créez un cache avec Azure CLI ou PowerShell.
Vous pouvez utiliser la page Instructions de montage pour générer une commande de montage personnalisée pour chaque client. Sélectionnez toutes les valeurs d’adresse de montage du cache lors de la création de plusieurs commandes.
Pour plus d’informations, lisez le montage d’Azure HPC Cache .
Utiliser l’équilibrage de charge scripté
Il existe plusieurs façons de faire pivoter les montages de clients par programmation parmi les adresses IP disponibles. Voici deux exemples.
Exemple de script de commande mount cksum
Cet exemple de commande de montage utilise la fonction cksum de hachage et le nom d’hôte du client pour distribuer automatiquement les connexions clientes entre toutes les adresses IP disponibles sur votre cache HPC. Si tous les ordinateurs clients ont des noms d’hôtes uniques, vous pouvez exécuter cette commande sur chaque client pour vous assurer que tous les points de montage disponibles sont utilisés.
mount -o hard,proto=tcp,mountproto=tcp,retry=30 $(X=(10.0.0.{1..3});echo ${X[$(($(hostname|cksum|cut -f 1 -d ' ')%3))]}):/${NAMESPACE} /mnt
Pour utiliser cet exemple dans votre flux de travail, personnalisez ces termes :
Dans l’expression
X=, utilisez une liste séparée par un espace de toutes les adresses de montage du cache, dans l’ordre trié.L’expression
(X=(10.0.0.{7..9})définit la variable X comme cet ensemble d’adresses de montage : {10.0.0.7, 10.0.0.8, 10.0.0.9}. Utilisez l’adresse IP de base du cache et les adresses exactes affichées dans votre page Vue d’ensemble du cache. Si les adresses ne sont pas consécutives, répertoriez-les dans l’ordre numérique.Dans le
%3terme, utilisez le nombre réel d’adresses IP de montage dont votre cache dispose (généralement 3, 6, 9 ou 12).Par exemple, utilisez
%9si votre cache expose neuf adresses IP de montage client.Pour l’expression
${NAMESPACE}, utilisez le chemin d’accès de l’espace de noms cible de stockage auquel le client accède.Vous pouvez utiliser une variable que vous avez définie (ESPACE de noms dans l’exemple) ou passer la valeur littérale à la place.
L’exemple de commande à la fin de cette section utilise une valeur littérale pour le chemin d’accès de l’espace de noms.
/blob-target-1Si vous souhaitez utiliser un chemin local personnalisé sur vos ordinateurs clients, remplacez la valeur
/mntpar le chemin souhaité.
Voici un exemple de commande de montage client remplie :
mount -o hard,proto=tcp,mountproto=tcp,retry=30 $(X=(10.7.0.{1..3});echo ${X[$(($(hostname|cksum|cut -f 1 -d ' ')%3))]}):/blob-target-1 /hpc-cache/blob1
Exemple de fonction de tourniquet (round robin)
Cet exemple de code utilise des adresses IP clientes comme élément de randomisation pour distribuer les clients à toutes les adresses IP disponibles de HPC Cache.
function mount_round_robin() {
# to ensure the clients are spread out somewhat evenly the default
# mount point is based on this client's IP octet4 % number of HPC cache mount IPs.
declare -a MOUNT_IPS="($(echo ${NFS_IP_CSV} | sed "s/,/ /g"))"
HASH=$(hostname | cksum | cut -f 1 -d ' ')
DEFAULT_MOUNT_INDEX=$((${HASH} % ${#MOUNT_IPS[@]}))
ROUND_ROBIN_IP=${MOUNT_IPS[${DEFAULT_MOUNT_INDEX}]}
DEFAULT_MOUNT_POINT="${BASE_DIR}/default"
# no need to write again if it is already there
if ! grep --quiet "${DEFAULT_MOUNT_POINT}" /etc/fstab; then
echo "${ROUND_ROBIN_IP}:${NFS_PATH} ${DEFAULT_MOUNT_POINT} nfs hard,proto=tcp,mountproto=tcp,retry=30 0 0" >> /etc/fstab
mkdir -p "${DEFAULT_MOUNT_POINT}"
chown nfsnobody:nfsnobody "${DEFAULT_MOUNT_POINT}"
fi
if ! grep -qs "${DEFAULT_MOUNT_POINT} " /proc/mounts; then
retrycmd_if_failure 12 20 mount "${DEFAULT_MOUNT_POINT}" || exit 1
fi
}
Utiliser l’équilibrage de charge DNS
Cette section explique les principes de base de la configuration d’un système DNS pour distribuer les connexions clientes à tous les points de montage sur votre Cache HPC Azure. Cette méthode ne tient pas compte de la quantité de trafic générée par chaque client, mais elle permet de s’assurer que les clients sont répartis uniformément sur toutes les interfaces du cache au lieu d’utiliser uniquement un ou deux.
Ce document n’inclut pas d’instructions pour configurer et gérer un serveur DNS pour vos clients dans l’environnement Azure.
DNS n’est pas nécessaire pour monter des clients à l’aide du protocole NFS et des adresses IP. DNS est nécessaire si vous souhaitez utiliser des noms de domaine au lieu d’adresses IP pour atteindre des systèmes NAS matériels, ou si votre flux de travail inclut certains paramètres de protocole avancés.
Le système DNS que vous utilisez pour distribuer des adresses aux clients n’a pas besoin d’être accessible par hpC Cache. Dans certaines situations, vous pouvez utiliser un système DNS personnalisé pour le cache lui-même, mais la configuration de ce système est beaucoup plus complexe que la configuration de ce type de système tourniquet client. Vous devez consulter le support Azure si vous envisagez de modifier le serveur DNS de HPC Cache sur un système personnalisé.
Configurer la répartition circulaire pour les points de montage du cache
Un système DNS à tourniquet (Round Robin) (RRDNS) achemine automatiquement les requêtes des clients entre plusieurs adresses.
Pour configurer ce système, vous devez personnaliser le fichier de configuration du serveur DNS afin que, lorsqu’il obtient des demandes de montage à l’adresse de domaine principale de HPC Cache, il affecte le trafic entre tous les points de montage du système HPC Cache. Les clients montent hpC Cache à l’aide de son nom de domaine comme argument de serveur et sont routés automatiquement vers l’adresse IP de montage suivante.
Il existe deux étapes principales pour configurer RRDNS :
Modifiez le fichier de
named.confvotre serveur DNS pour définir l’ordre cyclique des requêtes sur votre cache HPC. Cette option amène le serveur à parcourir toutes les valeurs d’adresse IP disponibles. Ajoutez une instruction similaire à celle-ci :options { rrset-order { class IN A name "hpccache.contoso.com" order cyclic; }; };Configurez des enregistrements A et des enregistrements de pointeur (PTR) pour chaque adresse IP disponible, comme dans l’exemple suivant.
Ces
nsupdatecommandes fournissent un exemple de configuration correcte du DNS pour un cache HPC avec le nom de domaine hpccache.contoso.com et trois adresses de montage (10.0.0.10, 10.0.0.11 et 10.0.0.12) :update add hpccache.contoso.com. 86400 A 10.0.0.10 update add hpccache.contoso.com. 86400 A 10.0.0.11 update add hpccache.contoso.com. 86400 A 10.0.0.12 update add client-IP-10.contoso.com. 86400 A 10.0.0.10 update add client-IP-11.contoso.com. 86400 A 10.0.0.11 update add client-IP-12.contoso.com. 86400 A 10.0.0.12 update add 10.0.0.10.in-addr.arpa. 86400 PTR client-IP-10.contoso.com update add 11.0.0.10.in-addr.arpa. 86400 PTR client-IP-11.contoso.com update add 12.0.0.10.in-addr.arpa. 86400 PTR client-IP-12.contoso.comCes commandes créent un enregistrement A pour chacune des adresses de montage de HPC Cache et configurent également des enregistrements de pointeur pour prendre en charge les vérifications DNS inversées de manière appropriée.
Le diagramme ci-dessous illustre la structure de base de cette configuration.
Une fois le système RRDNS configuré, indiquez à vos ordinateurs clients de l’utiliser pour résoudre l’adresse HPC Cache dans leurs commandes de montage.
Étapes suivantes
- Pour obtenir de l'aide sur la charge de travail des clients, contactez le support technique.
- Pour déplacer des données vers les cibles de stockage du cache, consultez Remplir de données un nouveau stockage Blob Azure.