Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure HPC Önbelleğinizdeki tüm bağlama noktalarına yönelik istemci trafiğini dengelemeye yönelik bazı temel yöntemler açıklanmaktadır.
Her HPC Önbelleğinde en az üç farklı IP adresi vardır ve daha büyük aktarım hızı değerlerine sahip önbelleklerde en fazla 12 ip adresi olabilir. Azure HPC Önbelleği'nin tüm avantajlarından yararlanmak için tüm IP adreslerinin kullanılması önemlidir.
İstemci bağlamalarınızı yük dengelemek için çeşitli seçenekler vardır:
- Her istemci için el ile farklı bir bağlama IP'sini seçin
- İstemci bağlama betiklerinize IP adresi döndürmeyi dahil edin
- İstemci isteklerini tüm kullanılabilir adresler arasında dönüşümlü DNS ile otomatik olarak yönlendirmek için bir DNS sistemi yapılandırın.
Sizin için doğru yük dengeleme sistemi iş akışınızın karmaşıklığı, önbelleğinizdeki IP adresi sayısına ve çok sayıda başka faktöre bağlıdır. Hangi yaklaşımın sizin için en uygun olduğuna karar verirken yardıma ihtiyacınız varsa Azure danışmanınıza başvurun.
IP adreslerini el ile atama
Önbelleğinizin bağlama IP adresleri, Azure portalındaki önbelleğe Genel Bakış ve Bağlama yönergeleri sayfalarında ve Azure CLI veya PowerShell ile önbellek oluşturduğunuzda yazdıran başarı iletisinde gösterilir.
Bağlama yönergeleri sayfasını kullanarak her istemci için özelleştirilmiş bir bağlama komutu oluşturabilirsiniz. Birden çok komut oluştururken önbellek bağlama adresi değerlerinin tümünü seçin.
Ayrıntılar için Bkz. Azure HPC Önbelleğini bağlama .
Betikli yük dengelemeyi kullan
İstemci bağlamalarını kullanılabilir IP adresleri arasında program aracılığıyla döndürmenin çeşitli yolları vardır. burada iki örnek verilmiştir.
Bağlama komut dosyası cksum örneği
Bu örnek bağlama komutu, istemci bağlantılarını HPC Önbelleğinizdeki tüm kullanılabilir IP adresleri arasında otomatik olarak dağıtmak için karma işlevini cksum ve istemci ana bilgisayar adını kullanır. Tüm istemci makinelerinin benzersiz konak adları varsa, kullanılabilir tüm bağlama noktalarının kullanıldığından emin olmak için her istemcide bu komutu çalıştırabilirsiniz.
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
Bu örneği iş akışınızda kullanmak için şu terimleri özelleştirin:
İfadede, önbelleğin
X=tüm bağlama adreslerinin boşlukla ayrılmış listesini sıralı olarak kullanın.İfade
(X=(10.0.0.{7..9}), X değişkenini şu bağlama adresleri kümesi olarak ayarlar: {10.0.0.7, 10.0.0.8, 10.0.0.9}. Önbelleğin temel IP adresini ve önbellek Genel Bakış sayfanızda gösterilen tam adresleri kullanın. Adresler ardışık değilse, tümünü sayısal sırada listeleyin.Teriminde
%3, önbelleğinizin sahip olduğu bağlama IP adreslerinin gerçek sayısını kullanın (genellikle 3, 6, 9 veya 12).Örneğin, önbelleğiniz dokuz istemci bağlama IP adresini kullanıma sunarsa,
%9kullanın.ifadesi
${NAMESPACE}için, istemcinin erişeceği depolama hedefi ad alanı yolunu kullanın.Tanımladığınız bir değişkeni kullanabilir (örnekte AD ALANI ) veya değişmez değeri geçirebilirsiniz.
Bu bölümün sonundaki komut örneği,
/blob-target-1ad alanı yolu için kesin değer kullanır.İstemci makinelerinizde özel bir yerel yol kullanmak istiyorsanız, değeri
/mntistediğiniz yola değiştirin.
Doldurulmuş istemci bağlama komutu örneği aşağıda verilmiştir:
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
Döngüsel fonksiyon örneği
Bu kod örneği, istemcileri HPC Önbelleği'nin tüm kullanılabilir IP adreslerine dağıtmak için rastgele bir öğe olarak istemci IP adreslerini kullanır.
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 yük dengelemeyi kullanma
Bu bölümde, istemci bağlantılarını Azure HPC Önbelleğinizdeki tüm bağlama noktalarına dağıtmak için bir DNS sistemi yapılandırmanın temelleri açıklanmaktadır. Bu yöntem, her istemcinin oluşturduğu trafik miktarını hesaba katmıyor, ancak istemcilerin yalnızca bir veya iki tane kullanmak yerine önbelleğin tüm arabirimlerine eşit olarak dağıtıldığından emin olur.
Bu belge, Azure ortamındaki istemcileriniz için dns sunucusu ayarlama ve yönetme yönergelerini içermez.
NFS protokollerini ve IP adreslerini kullanarak istemcileri bağlamak için DNS gerekli değildir. DONANıM NAS sistemlerine ulaşmak için IP adresleri yerine etki alanı adları kullanmak istiyorsanız veya iş akışınız belirli gelişmiş protokol ayarları içeriyorsa DNS gereklidir .
Adresleri istemcilere dağıtmak için kullandığınız DNS sistemine HPC Önbelleği tarafından erişilmesi gerekmez. Bazı durumlarda önbelleğin kendisi için özel bir DNS sistemi kullanmak isteyebilirsiniz, ancak bu sistemi yapılandırmak, bu tür bir istemci hepsini bir kez deneme sistemi ayarlamaktan çok daha karmaşıktır. HPC Önbelleğinizin DNS sunucusunu özel bir sistemle değiştirmeyi düşünüyorsanız Azure desteğine başvurmanız gerekir.
Önbellek bağlama noktaları için dairesel dağıtımı yapılandırın.
Sıralı dağıtım DNS (RRDNS) sistemi, istemci isteklerini birden çok adres arasında otomatik olarak yönlendirir.
Bu sistemi ayarlamak için DNS sunucusunun yapılandırma dosyasını, HPC Önbelleği'nin ana etki alanı adresine bağlama istekleri aldığında trafiği HPC Cache sisteminin tüm bağlama noktaları arasında atayacak şekilde özelleştirmeniz gerekir. İstemciler, sunucu bağımsız değişkeni olarak etki alanı adını kullanarak HPC Önbelleğini bağlar ve otomatik olarak bir sonraki bağlama IP'sine yönlendirilir.
RRDNS'yi yapılandırmak için iki ana adım vardır:
HPC Önbelleğinizdeki sorgular için döngüsel sıra ayarlamak üzere DNS sunucunuzun
named.confdosyasını değiştirin. Bu seçenek sunucunun tüm kullanılabilir IP değerleri arasında geçişine neden olur. Aşağıdaki gibi bir deyim ekleyin:options { rrset-order { class IN A name "hpccache.contoso.com" order cyclic; }; };Aşağıdaki örnekte olduğu gibi kullanılabilir her IP adresi için bir kayıt ve işaretçi (PTR) kaydı yapılandırın.
Bu
nsupdatekomutlar, etki alanı adı hpccache.contoso.com ve üç bağlama adresi (10.0.0.10, 10.0.0.11 ve 10.0.0.12) ile bir HPC Önbelleği için DNS'yi doğru yapılandırma örneği sağlar: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.comBu komutlar, HPC Önbelleği'nin bağlama adreslerinin her biri için bir A kaydı oluşturur ve ayrıca ters DNS denetimlerini uygun şekilde desteklemek için işaretçi kayıtlarını ayarlar.
Aşağıdaki diyagramda bu yapılandırmanın temel yapısı gösterilmektedir.
RRDNS sistemi yapılandırıldıktan sonra istemci makinelerinize bağlama komutlarında HPC Önbelleği adresini çözümlemek için bunu kullanmalarını söyleyin.
Sonraki adımlar
- İstemci yükünü dengeleme konusunda yardım almak için desteğe başvurun.
- Verileri önbelleğin depolama hedeflerine taşımak için Yeni Azure Blob depolama alanını doldurma başvurusunu okuyun.