Elastic RDMA Interface (ERI), bir ECS örneğine ekleyebileceğiniz bir ağ arabirimidir. Elastik Remote Direct Memory Access (eRDMA) uygulamasının temel bileşenlerinden biridir. ERI, Elastic Network Interface (ENI) üzerinde RDMA özelliğini etkinleştirmek amacıyla ENI'ye bağlanır.
İşlev tanıtımı
Bir ECS örneğinde eRDMA yapılandırmak için örneğe bir ERI eklemeniz gerekir. eRDMA, düşük gecikme süresi, yüksek aktarım hızı ve yüksek genişletilebilirlik sunan yüksek performanslı bir RDMA ağı sağlayan bir Alibaba Cloud hizmetidir. ERI kullanarak eRDMA, ECS örneklerinde ultra düşük gecikme süresi ve yüksek aktarım hızıyla ağ iletişimi sağlar. Daha fazla bilgi için bkz. eRDMA'ya genel bakış.
Yalnızca belirli örnek türleri ERI eklemeyi destekler. Daha fazla bilgi için bkz. Örnek aileleri.
Bir örnek türünün desteklediği maksimum ERI sayısını belirlemek için DescribeInstanceTypes işleminin yanıtındaki EriQuantity parametresinin değerini kontrol edin. 0 değeri, örnek türünün ERI'yi desteklemediğini gösterir.
Bir örneğe birden çok ERI eklerken ağ arayüzü denetleyicilerinin (NIC) kuyruk çifti (QP) sınırını göz önünde bulundurun. Daha fazla bilgi için bkz. Kuyruk çiftleri (QP).
Elastic RDMA Interface oluşturma
Örnek ile birlikte ERI oluşturma
eRDMA'yı destekleyen örnek türleri için bir örnek satın alırken Enable Elastic RDMA Interface seçeneğini belirleyebilirsiniz. Belirli yapılandırma, örnek türüne bağlı olarak değişebilir:
-
Kurumsal düzeydeki örnekler: Daha fazla bilgi için bkz. Kurumsal düzeyde bir örnek satın alırken eRDMA yapılandırma.
Bir örnek oluştururken Elastic Network Interface bölümünde, Primary ENI satırındaki Elastic RDMA Interface onay kutusunu seçin. Elastic RDMA Interface'i etkinleştirdikten sonra IPv6 adresleri desteklenmez.
-
GPU hızlandırmalı örnekler: Daha fazla bilgi için bkz. GPU hızlandırmalı bir örnekte eRDMA'yı etkinleştirme.
Elastic Network Interface bölümünde, hem birincil hem de ikincil ENI'ler için Elastic RDMA Interface onay kutusunu seçin. İkincil bir ENI oluşturmak için Create Secondary ENI sekmesine tıklayın. Bir örnek oluştururken yalnızca bir ikincil ENI eklenebilir. eRDMA'yı etkinleştirmek için belirli bir işletim sistemi gerekir.
ERI'yi ayrı olarak oluşturma
İkincil bir ENI oluştururken eRDMA Interface özelliğini etkinleştirin. Elastic RDMA Interface (ERI), IP adresi ve güvenlik grubu kuralları gibi ikincil ENI'nin ayarlarını paylaşır. Daha fazla bilgi için bkz. ENI oluşturma ve kullanma.
OpenAPI kullanarak ERI oluşturma
Bir ENI oluşturmak için CreateNetworkInterface işlemini çağırabilirsiniz. ERI etkinleştirilmiş bir ENI oluşturmak için NetworkInterfaceTrafficMode parametresini HighPerformance olarak ayarlayın.
ERI'leri ekleme, kaldırma ve özelliklerini değiştirme gibi yönetme işlemleri hakkında daha fazla bilgi için bkz. ENI'leri yönetme.
Elastic RDMA Interface görüntüleme
Konsolda görüntüleme
Bir Elastic Network Interface'in (ENI) RDMA özellikli olup olmadığını konsoldan kontrol edebilirsiniz.
ECS konsolu - Örnekler şuraya gidin.
Sayfanın sol üst köşesinde bir bölge ve kaynak grubu seçin.
Hedef ECS örneğini bulun ve örnek ayrıntıları sayfasına gitmek için örnek kimliğine tıklayın.
-
ECS örneğine eklenen ENI'lerin ayrıntılarını görüntülemek için ENIs sekmesine tıklayın.
ENI Type sütununda, flexible RDMA interface bayrağı, NIC için bir Elastic RDMA Interface (ERI) etkinleştirildiğini gösterir.
OpenAPI kullanarak görüntüleme
Bir ENI'nin özelliklerini sorgulamak için DescribeNetworkInterfaceAttribute işlemini çağırabilirsiniz. Yanıttaki NetworkInterfaceTrafficMode parametresinin değeri, ENI için bir ERI'nin etkinleştirilip etkinleştirilmediğini gösterir:
HighPerformance: ERI etkinleştirilir ve elastik RDMA iletişim modu kullanılır.
Standard: ERI devre dışı bırakılır ve TCP iletişim modu kullanılır.
Örnek içinde görüntüleme
ERI içeren bir ENI bir örneğe eklendikten sonra RDMA ağ arabirimini örnek içinden görüntüleyebilirsiniz.
-
Örneğe uzaktan bağlanın.
Daha fazla bilgi için bkz. Workbench kullanarak bir Linux örneğinde oturum açma.
-
RDMA ağ arabirimi cihazlarını görüntülemek için aşağıdaki komutu çalıştırın.
ibv_devicesÇıktıdaki cihaz adı, cihazın bir eRDMA ağ arabirimi olduğunu gösterir.
[root@xxx ~]# ibv_devices device node GUID ------ --------- erdma_0 02163effe16b4ffÖrneğinizde ERI'si etkinleştirilmiş birden çok ENI varsa çıktı aşağıdakine benzer:
[root@xxx ~]# ibv_devices device node GUID ------ --------- erdma_0 02163efffe10008e erdma 1 02163efffe40d834
-
ERI'nin port durumu ve desteklenen maksimum kuyruk sayısı gibi daha fazla yapılandırma parametresini görüntülemek için
ibv_devinfokomutunu da çalıştırabilirsiniz.[root@xxx ~]# ibv_devinfo hca_id: erdma_0 transport: eRDMA (1) fw_ver: 0.2.0 node_guid: 0216:3eff:fe13:1914 sys_image_guid: 0216:3eff:fe13:1914 vendor_id: 0x1ded vendor_part_id: 4223 hw_ver: 0x0 phys_port_cnt: 1 port: 1 state: PORT_ACTIVE (4) max_mtu: 4096 (5) active_mtu: 4096 (5) sm_lid: 0 port_lid: 0 port_lmc: 0x00 link_layer: Ethernet Yukarıdaki bilgiler görüntülenmiyorsa eRDMA sürücüsü yanlış yüklenmiş veya ağ arabirimi hatalı yapılandırılmış olabilir. Sorunu çözme hakkında daha fazla bilgi için bkz. eRDMA yapılandırmasını doğrulama.
Mevcut bir ENI'nin RDMA arabirimini değiştirme
ModifyNetworkInterfaceAttribute işlemini çağırarak ve NetworkInterfaceTrafficConfig içindeki NetworkInterfaceTrafficMode parametresini ayarlayarak ENI'nin iletişim modunu yapılandırabilirsiniz. Bu işlem ERI'yi etkinleştirir veya devre dışı bırakır.
HighPerformance: ERI etkinleştirilir ve elastik RDMA iletişim modu kullanılır.
Standard: ERI devre dışı bırakılır ve TCP iletişim modu kullanılır.
Mevcut bir ENI için ERI'yi konsolda etkinleştiremez veya devre dışı bırakamazsınız.
Kuyruk çiftleri (QP)
QP, RDMA'da temel bir iletişim varlığıdır. Gönderme Kuyruğu (SQ) ve Alma Kuyruğundan (RQ) oluşur. QP, gönderilen ve alınan verileri yönetmek için kullanılır.
QP sayısı, bir RDMA cihazında veya ağ arabiriminde oluşturulabilecek maksimum QP sayısını ifade eder. Bu sayı, RDMA ağının destekleyebileceği eşzamanlı bağlantıların maksimum sayısını belirler ve ağın genişletilebilirliğini ve eşzamanlı işleme kapasitesini etkiler.
Bir örnek için QP sayısı
Bir örnek için QP sayısı, örnek türüne bağlıdır. Bir ECS örneğine birden çok ERI eklediğinizde tüm ENI'ler için toplam maksimum QP sayısı örnek türüne göre değişir. Bir örnek türünün tüm ENI'leri için izin verilen maksimum QP sayısını sorgulamak üzere DescribeInstanceTypes işlemini çağırabilirsiniz:
Yanıt NetworkCardQuantity içeriyorsa tüm ENI'ler için toplam maksimum QP sayısı QueuePairNumber * NetworkCardQuantity değerine eşittir.
Yanıt NetworkCardQuantity içermiyorsa tüm ENI'ler için toplam maksimum QP sayısı QueuePairNumber değerine eşittir.
Elastic RDMA NIC QP Sayısı
Bir örneğe ERI eklerken QueuePairNumber belirtmezseniz ERI varsayılan değeri kullanır; bu değer, örnek türü için izin verilen toplam maksimum QP sayısıdır. Birden çok ERI'yi destekleyen örnek türlerinde bu varsayılan değeri kullanan bir ERI eklerseniz örnek için QP sınırına ulaşıldığından başka ERI ekleyemezsiniz. Örneğe başka bir ERI eklemeden önce kapasite serbest bırakmak için ENI'nin QP sayısını ayarlamalısınız.
Bir ENI için QP sayısını ayarlama
ENI için istenen QP sayısını ayarlamak üzere ModifyNetworkInterfaceAttribute işlemini çağırabilir ve QueuePairNumber parametresini ayarlayabilirsiniz.
ENI zaten bir örneğe eklenmişse ayarlama yapmadan önce örneği durdurmanız gerekir.
İkincil bir ENI için öncelikle onu örnektenden ayırmanız, QueuePairNumber değerini değiştirmeniz ve ardından ikincil ENI'yi eklemeniz gerekir.
Bir ENI için QP sayısını görüntüleme
Bir ENI'nin özelliklerini sorgulamak için DescribeNetworkInterfaceAttribute işlemini çağırabilirsiniz. Yanıttaki QueuePairNumber parametresi, ENI için QP sayısını gösterir.
İkincil ENI oluşturulmuş ancak henüz bir örneğe eklenmemişse bu parametre döndürülmez.
QP sayısını uygun şekilde ayarlama
Uygun bir QP sayısı ayarlamak, uygulama performansını optimize etmek için kritiktir. Çok fazla veya çok az QP, kaynak israfına veya performans darboğazlarına yol açabilir.
Uygulama gereksinimlerini anlayın: Uygulama senaryonuz, hedef örnek türünüz ve planlanan ENI sayısına göre gereken QP sayısını belirleyin. Uygulamanız yüksek eşzamanlılık ve düşük gecikme süresi gerektiriyorsa daha fazla paralel bağlantıyı desteklemek için daha fazla QP'ye ihtiyacınız olabilir. Senaryonuz büyük ölçekli veri iletimi içeriyorsa tek bir QP'nin bant genişliği kullanımı daha önemli bir faktör olabilir.
-
Donanım sınırlamalarını dikkate alın:
Farklı örnek türleri, ERI'ler için farklı maksimum QP sayılarına izin verir. Bu sayıyı sorgulama hakkında daha fazla bilgi için bkz. Bir örnek için QP sayısı.
Sunucu bellek boyutu gibi faktörleri dikkate alın. Her QP belirli miktarda sistem kaynağı tüketir.
Test edin ve optimize edin: İlk yapılandırmadan sonra gerçek ortamınızda bir performans testi gerçekleştirin. Ardından test sonuçlarına göre QP sayısını ve diğer ilgili parametreleri ayarlayabilirsiniz. Hata mesajları veya artan paket kaybı oranı gibi anormal durumları izleyin.
Sürekli izleyin: Uygun bir yapılandırma bulduktan sonra bile sistemin çalışma durumunu düzenli olarak kontrol etmelisiniz. Bu, işiniz büyüdükçe veya gereksinimleriniz değiştikçe mevcut ayarların uygun kalmasını sağlar.
QP sayısını doğru şekilde ayarlamak, birden çok faktörü dikkate almanızı gerektirir. Ayarları iş ihtiyaçlarınıza, mevcut altyapınıza ve hedef performansa göre dikkatlice planlayıp ayarlamanız gerekir.