A HPC Cache-ügyfélforgalom terheléselosztása
Ez a cikk az Azure HPC Cache összes csatlakoztatási pontjára irányuló ügyfélforgalom kiegyensúlyozásának néhány alapvető módszerét ismerteti.
Minden HPC-gyorsítótár legalább három különböző IP-címmel rendelkezik, és a nagyobb átviteli sebességű gyorsítótárak akár 12-et is tartalmazhatnak. Fontos az összes IP-cím használata az Azure HPC Cache előnyeinek teljes kihasználásához.
Az ügyfél-csatlakoztatások terheléselosztására különböző lehetőségek állnak rendelkezésre:
- Manuálisan válasszon egy másik csatlakoztatási IP-címet minden ügyfélhez
- IP-cím rotálásának belefoglalása az ügyfél csatlakoztatási szkriptjeibe
- Dns-rendszer konfigurálása az ügyfélkérések automatikus átirányításához az összes elérhető cím között (ciklikus időszeleteléses DNS)
A megfelelő terheléselosztási rendszer a munkafolyamat összetettségétől, a gyorsítótárban lévő IP-címek számától és számos egyéb tényezőtől függ. Ha segítségre van szüksége, forduljon az Azure-tanácsadójához, hogy eldöntse, melyik a legjobb megoldás.
IP-címek manuális hozzárendelése
A gyorsítótár csatlakoztatási IP-címei megjelennek az Azure Portal gyorsítótár áttekintési és csatlakoztatási útmutatóinak lapján, valamint a gyorsítótár Azure CLI-vel vagy PowerShell-lel történő létrehozásakor megjelenő sikeres üzeneten.
A Csatlakoztatási utasítások lapon testre szabott csatlakoztatási parancsot hozhat létre minden ügyfélhez. Több parancs létrehozásakor válassza ki az összes gyorsítótár-csatlakoztatási címértéket .
További részletekért olvassa el az Azure HPC Cache csatlakoztatását.
Szkriptes terheléselosztás használata
Az ügyfél-csatlakoztatások programozott forgása többféleképpen is lehetséges a rendelkezésre álló IP-címek között. Bemutatunk két példát.
Példa a parancsszkript csatlakoztatására
Ez a példa csatlakoztatási parancs a kivonatoló függvénnyel cksum
és az ügyfél gazdagép nevével automatikusan elosztja az ügyfélkapcsolatokat a HPC Cache összes elérhető IP-címe között. Ha az összes ügyfélszámítógép egyedi gazdagépnevekkel rendelkezik, ezt a parancsot minden ügyfélen futtathatja, hogy minden rendelkezésre álló csatlakoztatási pontot használjon.
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
Ha ezt a példát szeretné használni a munkafolyamatban, szabja testre a következő kifejezéseket:
A kifejezésben
X=
a gyorsítótár összes csatlakoztatási címének szóközzel tagolt listáját használja rendezési sorrendben.A kifejezés
(X=(10.0.0.{7..9})
az X változót állítja be a következő csatlakoztatási címek készleteként: {10.0.0.7, 10.0.0.8, 10.0.0.9}. Használja a gyorsítótár alap IP-címét és a gyorsítótár áttekintési oldalán látható pontos címeket. Ha a címek nem egymást követőek, számsorrendben sorolja fel őket.A kifejezésben
%3
használja a gyorsítótárazott csatlakoztatási IP-címek tényleges számát (általában 3, 6, 9 vagy 12).Használja például,
%9
ha a gyorsítótár kilenc ügyfél-csatlakoztatási IP-címet tesz elérhetővé.A kifejezéshez
${NAMESPACE}
használja az ügyfél által elérni kívánt tároló célnévtér-elérési útját.Használhat egy definiált változót (a példában a NÉVTÉR ), vagy átadhatja a literális értéket.
A szakasz végén található parancs példája egy literális értéket használ a névtér elérési útjának
/blob-target-1
.Ha egyéni helyi elérési utat szeretne használni az ügyfélgépeken, módosítsa az értéket
/mnt
a kívánt elérési útra.
Íme egy példa egy feltöltött ügyfél csatlakoztatási parancsára:
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
Ciklikus időszeleteléses függvény példája
Ez a kódpéldák az ügyfél IP-címeit véletlenszerű elemként használják az ügyfelek elosztásához a HPC Cache összes elérhető IP-címére.
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
}
DNS-terheléselosztás használata
Ez a szakasz a DNS-rendszer konfigurálásának alapjait ismerteti az ügyfélkapcsolatok az Azure HPC Cache összes csatlakoztatási pontjára való elosztásához. Ez a módszer nem veszi figyelembe az egyes ügyfelek által generált forgalom mennyiségét, de gondoskodik arról, hogy az ügyfelek egyenletesen oszlanak el a gyorsítótár összes adapterén egy vagy két helyett.
Ez a dokumentum nem tartalmazza a DNS-kiszolgáló azure-környezetben való beállítására és kezelésére vonatkozó utasításokat az ügyfelek számára.
Az ügyfelek NFS protokollt és IP-címeket használó csatlakoztatásához nincs szükség DNS-re. A DNS-re akkor van szükség, ha IP-címek helyett tartományneveket szeretne használni a hardveres NAS-rendszerek eléréséhez, vagy ha a munkafolyamat bizonyos speciális protokollbeállításokat tartalmaz.
A címek ügyfeleknek való terjesztéséhez használt DNS-rendszert nem kell elérnie a HPC Cache-nek. Bizonyos esetekben érdemes lehet egy egyéni DNS-rendszert használni a gyorsítótárhoz, de a rendszer konfigurálása sokkal bonyolultabb, mint az ilyen típusú ügyfél-ciklikus időszeleteléses rendszer beállítása. Ha a HPC Cache DNS-kiszolgálóját egyéni rendszerre szeretné módosítani, forduljon Azure-támogatás.
Ciklikus időszeleteléses eloszlás konfigurálása a gyorsítótár csatlakoztatási pontjaihoz
A ciklikus időszeleteléses DNS (RRDNS) rendszer automatikusan átirányítja az ügyfélkéréseket több cím között.
A rendszer beállításához testre kell szabnia a DNS-kiszolgáló konfigurációs fájlját, hogy amikor csatlakoztatási kéréseket kap a HPC Cache fő tartománycímére, a rendszer hozzárendelje a forgalmat a HPC Cache-rendszer összes csatlakoztatási pontja között. Az ügyfelek kiszolgálói argumentumként a tartománynév használatával csatlakoztatják a HPC Cache-t, és a rendszer automatikusan a következő csatlakoztatási IP-címre irányítja.
Az RRDNS konfigurálásához két fő lépés szükséges:
Módosítsa a DNS-kiszolgáló fájlját
named.conf
úgy, hogy ciklikus sorrendet állítson be a lekérdezésekhez a HPC Cache-ben. Ez a beállítás azt eredményezi, hogy a kiszolgáló végigjárja az összes rendelkezésre álló IP-értéket. Adjon hozzá az alábbihoz hasonló utasítást:options { rrset-order { class IN A name "hpccache.contoso.com" order cyclic; }; };
Konfiguráljon rekordokat és mutatórekordokat minden elérhető IP-címhez az alábbi példában leírtak szerint.
Ezek a
nsupdate
parancsok példaként szolgálnak arra, hogy helyesen konfigurálja a DNS-t egy HPC-gyorsítótárhoz a tartománynév hpccache.contoso.com és három csatlakoztatási címmel (10.0.0.10, 10.0.0.11 és 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.com
Ezek a parancsok létrehoznak egy A rekordot a HPC Cache csatlakoztatási címeinek mindegyikéhez, és a mutatórekordokat is beállítják a fordított DNS-ellenőrzések megfelelő támogatásához.
Az alábbi ábra a konfiguráció alapstruktúráját mutatja be.
Az RRDNS-rendszer konfigurálása után kérje meg az ügyfélszámítógépeket, hogy használják a HPC Cache-cím feloldásához a csatlakoztatási parancsaikban.
Következő lépések
- Az ügyfélterhelés kiegyensúlyozásához forduljon az ügyfélszolgálathoz.
- Ha adatokat szeretne áthelyezni a gyorsítótár tárolási céljaira, olvassa el az Új Azure Blob Storage feltöltése című cikket.