Tüm Ürünler
Search
Belge Merkezi

Elastic Compute Service:Enable eRDMA on enterprise-level instances

Son Güncelleme:Sep 30, 2026

Bazı kurumsal düzeydeki örnekler eRDMA'yı destekler. Bu hizmet, mevcut ağ mimarinizde değişiklik yapmanıza gerek kalmadan ultra düşük gecikme süresi, yüksek aktarım hızı ve son derece esnek bir RDMA ağ hizmeti sağlar. Bu konuda, bu örneklerde eRDMA'nın nasıl etkinleştirileceği açıklanmaktadır.

Sınırlamalar

Sınırlama

Açıklama

Örnek türü

Aşağıdaki örnek türleri eRDMA'yı destekler:

Görüntü

  • Alibaba Cloud Linux 3 (önerilen)

  • Alibaba Cloud Linux 2 (yalnızca x86 tabanlı sistemler)

  • CentOS 7.9 (yalnızca x86 tabanlı sistemler)

  • Ubuntu 18.04/20,04/22,04/24.04

  • Anolis OS 8.4 ANCK/8,6 ANCK (yalnızca Arm tabanlı sürümler)

Not

Kullanılabilir görüntüler örnek türüne göre değişir. Örnek satın alma sayfasında yalnızca seçilen örnek türüyle uyumlu görüntüler görüntülenir.

eRDMA cihazlarının sayısı

Bir örnek türünün desteklediği maksimum ERI sayısını belirlemek için DescribeInstanceTypes işlemi yanıtındaki EriQuantity parametresinin değerini kontrol edin. 0 değeri, örnek türünün ERI'leri desteklemediğini gösterir.

Ağ sınırlamaları

  • Esnek ağ arabirimine (ENI) ERI özelliğini etkinleştirdikten sonra ENI'ye bir IPv6 adresi atayamazsınız.

  • İki örnek arasındaki eRDMA iletişim yolu Server Load Balancer (SLB) örnekleri gibi ağ öğelerinden geçemez.

  • Her ikisi de eRDMA etkin olan bir GPU hızlandırmalı örnek ile bir kurumsal düzeydeki örnek farklı eRDMA modlarında çalıştığından doğrudan iletişim kuramaz. İletişimi etkinleştirmek için kurumsal düzeydeki örneğe GPU hızlandırmalı örneklerde kullanılan yöntemle aynı yöntemi kullanarak eRDMA dağıtmanız gerekir. Bu işlem, eRDMA sürücüsü ve OpenFabrics Enterprise Distribution (OFED) sürücüsünü yüklemeyi ve ardından örneğe bir ERI bağlamayı içerir. Daha fazla bilgi için bkz. GPU hızlandırmalı örneklerde eRDMA'yı etkinleştirme.

Kurumsal düzeydeki bir örnek için eRDMA'yı yapılandırın

Örnek oluşturma sırasında

Önemli
  • İşletim sistemi eRDMA sürücüsünün otomatik olarak yüklenmesini desteklemiyorsa veya otomatik yükleme başarısız olursa, örnek oluşturulduktan sonra sürücüyü manuel olarak veya bir betik kullanarak yükleyebilirsiniz. Daha fazla bilgi için bkz. Mevcut bir örnek için eRDMA'yı yapılandırma.

  • eRDMA sürücü yüklemesi, örnek başladıktan sonra başlar ve biraz zaman alabilir.

  1. ECS örnek satın alma sayfasına gidin.

  2. ERI özelliğini destekleyen bir kurumsal düzeydeki örnek oluşturun. Örneği oluştururken aşağıdaki parametrelere dikkat edin. Diğer parametreler hakkında bilgi için bkz. Sihirbazı kullanarak örnek oluşturma.

    • Instances & Images: eRDMA'yı destekleyen bir örnek türü seçin ve eRDMA sürücüsünü yükleyin.

      • Instance: Bkz. Sınırlamalar.

      • Images: Public Image seçeneğini belirleyin ve ardından Install eRDMA Driver seçeneğini belirleyin. Örnek başladığında eRDMA sürücüsü otomatik olarak yüklenir.

        image

    • ENIs: Primary ENI öğesinin sağ tarafında, bir ERI'yi ECS örneğine bağlamak için ERI özelliğini etkinleştirin.

      Not

      Kurumsal düzeydeki bir örnek oluştururken ERI özelliğini yalnızca birincil ENI için etkinleştirebilirsiniz. İkincil bir ENI için eRDMA'yı yapılandırmanız gerekiyorsa konsoldan veya bir API işlemi çağırarak ikincil ENI için ERI özelliğini etkinleştirebilirsiniz. Daha fazla bilgi için bkz. Esnek RDMA ağ arabirimi (ERI).

Mevcut bir örnek için

  1. Örnek türünün eRDMA destekli örnek türleri listesinde olduğundan emin olun.

    eRDMA'yı destekleyen bir örnek türü seçmeniz gerekir.

  2. eRDMA'nın örnekte doğru şekilde yapılandırıldığını doğrulayın.

    • eRDMA'nın örnekte doğru şekilde yapılandırıldığını doğrulayın. Daha fazla bilgi için bkz. eRDMA yapılandırmasını doğrulama.

    • Örnekte eRDMA yapılandırılmadıysa eRDMA sürücüsünü yüklemek ve örneğe bir ERI bağlamak için aşağıdaki adımları izleyin.

  3. Örnek için eRDMA sürücüsünü yükleyin.

    Örneği oluştururken eRDMA Driver seçeneğini belirlemediyseniz eRDMA sürücüsünü manuel olarak veya bir betik kullanarak yüklemeniz gerekir.

    • Betik tabanlı yöntem: Bu yöntem varsayılan olarak en son kararlı sürücü paketini indirir.

    • Manuel yöntem: Belirli bir sürümdeki sürücü paketini indirebilirsiniz.

    Tek tıkla betik yüklemesi

    1. Sürücü paketinin en son kararlı sürümünü indirmek için aşağıdaki komutu çalıştırın.

      curl -O http://mirrors.cloud.aliyuncs.com/erdma/env_setup.sh
    2. İndirilen sürücü paketini yüklemek için aşağıdaki komutu çalıştırın.

      sudo /bin/bash env_setup.sh > /var/log/erdma_install.log 2>&1

      Yükleme betiğini çalıştırdıktan sonra betik gerekli yazılım bağımlılıklarını ve eRDMA sürücüsünü otomatik olarak yükler. Yüklemenin tamamlanmasını bekleyin.

      Not

      Sürücü yüklemesi başarısız olursa /var/log/erdma_install.log konumundaki yükleme günlüğünü kontrol edin.

    Manuel yükleme

    1. Ön koşul paketlerini güncellemek için aşağıdaki komutu çalıştırın.

      • Alibaba Cloud Linux 3, CentOS veya Anolis OS:

        sudo yum update -y
      • Ubuntu: Güncelleme gerekli değildir. Bu adımı atlayabilirsiniz.

    2. En son çekirdek paketi sürümünü ve çalışan çekirdek sürümünü kontrol etmek için aşağıdaki komutları sırayla çalıştırın.

      rpm -qa | grep kernel  # Check the latest kernel package version.
      uname -r  # Check the running kernel version.

      Örnek çıktı, sürümlerin tutarsız olduğunu gösterir. Yeni çekirdeği uygulamak için örneği yeniden başlatmanız gerekir. Yeniden başlatmadan sonra çalışan çekirdek sürümünün en son çekirdek paketi sürümüyle aynı olduğunu onaylamak için uname -r komutunu tekrar çalıştırın.

      [ecs-user@iZbp1xxxxxxxxxxxxx ~]$ rpm -qa | grep kernel
      kernel-tools-5.10.134-16.1.al8.x86_64
      kernel-5.10.134-16.1.al8.x86_64
      kernel-modules-extra-5.10.134-16.1.al8.x86_64
      kernel-hotfix-13383560-5.10.134-15-1.0-20230724161633.al8.x86_64
      kernel-devel-5.10.134-16.1.al8.x86_64
      kernel-5.10.134-15.al8.x86_64
      kernel-modules-5.10.134-16.1.al8.x86_64
      kernel-tools-libs-5.10.134-16.1.al8.x86_64
      kernel-core-5.10.134-16.1.al8.x86_64
      kernel-core-5.10.134-15.al8.x86_64
      kernel-modules-internal-5.10.134-16.1.al8.x86_64
      kernel-devel-5.10.134-15.al8.x86_64
      kernel-modules-5.10.134-15.al8.x86_64
      kernel-headers-5.10.134-16.1.al8.x86_64
      [ecs-user@iZbp1xxxxxxxxxxxxx ~]$ uname -r
      5.10.134-15.al8.x86_64
    3. Bağımlılık paketlerini yüklemek için aşağıdaki komutu çalıştırın.

      • x86 örnekleri için aşağıdaki işlemleri gerçekleştirin:

        • Alibaba Cloud Linux 3, CentOS veya Anolis OS:

          sudo yum install gcc-c++ dkms cmake kernel-devel kernel-headers libnl3 libnl3-devel
        • Ubuntu:

          sudo apt-get install dkms cmake libnl-3-dev libnl-route-3-dev linux-headers-generic
      • Kaynak tabanlı derleme görevleri gerektiren Arm örneklerinde bağımlılık paketleri çok sayıda olabilir ve değişebilir. Bu nedenle bu adımı atlayıp doğrudan yükleme betiğini çalıştırabilirsiniz. Yükleme betiği başarısız olursa gerekli bağımlılık paketlerini yüklemenizi ister. İstendiği gibi yükleyin ve ardından yükleme betiğini tekrar çalıştırın.

    4. Sürücü yükleme paketini indirmek için aşağıdaki komutu çalıştırın.

      • Paketi dahili URL'den alın:

        wget http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-latest.tar.gz
      • Paketi genel URL'den alın:

        wget https://mirrors.aliyun.com/erdma/erdma_installer-latest.tar.gz

      Varsayılan olarak sürücü yükleme paketinin en son sürümü indirilir. Gereksinimlerinize bağlı olarak belirli bir sürümü de indirebilirsiniz. Farklı eRDMA yükleyici paketi sürümlerinin sürüm bilgileri için bkz. Adım 2: Bir ECS örneği için eRDMA sürücüsünü yükleme.

    5. Yükleme paketini açmak ve açılan paketin dizinine geçmek için aşağıdaki komutu çalıştırın.

      tar -xvf erdma_installer-latest.tar.gz && cd erdma_installer
    6. Sürücüyü yüklemek için aşağıdaki komutu çalıştırın.

      • Yöntem 1: Yükleme sırasında kaldırma ve otomatik indirme adımlarını manuel olarak onaylayın.

        sudo sh install.sh
      • Yöntem 2: Onay istemleri olmadan yüklemeyi çalıştırın.

        sudo sh install.sh  --batch

      Yükleme sonucunu onaylamak için çıktıyı kontrol edin.

      Aşağıdaki bilgiler döndürülürse sürücü başarıyla yüklenmiştir.

      ================================= Installation Information ======
          architecture        : x86_64
          distributor         : alinux
          release             : 3
          binary path         : RPMS/alinux3
          build from source   : erdma(N) rdma-core(N) eadm(N)
          install requires    : gcc make patch gcc-c++ dkms cmake kernel-
          build requires      : gcc make patch gcc-c++ dkms cmake kernel-
      vel redhat-rpm-config rpm-build libnl3-devel ninja-build perl-gen
      hon3-docutils
          temp dir            : /tmp/ERDMA.120833
          log file            : /tmp/install-erdma.log.120833
      ====================================================================
      Checking for Linux headers availability...
      Verifying dependencies...
      Removing erdma package...
      Start to uninstall rdma-core libraries...
      Installing erdma
      Reloading erdma modules
      Installation finished successfully.
      Update erdma.ko in initramfs

      Aşağıdaki bilgiler döndürülürse sürücü yüklemesi başarısız olmuştur. İstemdeki talimatları izleyin ve ardından sürücüyü tekrar yüklemeyi deneyin.

      ========================== Installation Information ========================================
        architecture      : x86_64
        distributor        : alinux
        release            : 3
        binary path        : RPMS/alinux3
        build from source  : erdma(Y) rdma-core(Y) eadm(Y)
        install requires   : gcc make patch gcc-c++ dkms cmake kernel-headers kernel-devel
        build requires     : gcc make patch gcc-c++ dkms cmake kernel-headers kernel-devel gcc make patch gcc-c++ dkms cmake kernel-headers kernel-devel redhat-rpm-config rpm-build libnl3-devel ninja-build perl-generators pandoc systemd-devel valgrind-devel kernel-rpm-macros python3-Cython python3-docutils
        temp dir           : /tmp/ERDMA.172873
        log file           : /tmp/install-erdma.log.172873
      ===========================================================================================
      Checking for Linux headers availability...
      Verifying dependencies...
      ERDMA requires the following Packages(s) to be installed:   libnl3-devel ninja-build perl-generators pandoc systemd-devel valgrind-devel python3-Cython python3-docutils
      Not

      CentOS 7 kullanıyorsanız ve sürücü yeniden yüklenirken bir paket eksikse ancak paketi yum kullanarak alamıyorsanız yum install -y epel-release komutunu çalıştırarak EPEL deposunu yüklemeniz gerekebilir. Ardından gerekli paketi alabilirsiniz.

  4. Örneğe bir ERI bağlayın.

    Bir örneğe aşağıdaki yollardan biriyle ERI bağlayabilirsiniz.

    Not

    Bir örnek türünün desteklediği maksimum ERI sayısını belirlemek için DescribeInstanceTypes işlemi yanıtındaki EriQuantity parametresinin değerini kontrol edin. 0 değeri, örnek türünün ERI'leri desteklemediğini gösterir.

    • eRDMA arabirimi etkinleştirilmiş bir ikincil ENI oluşturun ve bunu bir API işlemi kullanarak bir örneğe bağlayın

      API işlemlerini kullanarak ikincil bir ENI oluşturun ve bağlayın:

      1. ERI oluşturmak için bir API işlemi çağırın.

        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.

        NetworkInterfaceId parametresinde döndürülen ENI ID'sini kaydedin.

      2. AttachNetworkInterface işlemini çağırın. ERI etkinleştirilmiş ENI'yi bağlamak için NetworkInterfaceId değerini önceki adımdaki ID'ye ve InstanceId değerini hedef örnek ID'sine ayarlayın.

        Önemli

        Örnek türünüz birden çok ERI'yi destekliyorsa ağ bant genişliğini en üst düzeye çıkarmak için bunları bağlarken her ERI için farklı bir NetworkCardIndex belirtin. Bu, ERI'lerin farklı kanallara bağlanmasını sağlar. Bkz. Ağ kartı indeksleri.

eRDMA yazma gecikme süresini test edin

eRDMA etkin iki kurumsal düzeydeki örneğe perftest yükleyebilir ve yazma gecikme süresini test etmek için ib_write_lat kullanabilirsiniz. perftest hakkında daha fazla bilgi için bkz. perftest test paketi.

Ön koşullar

  1. eRDMA yapılandırılmış iki kurumsal düzeydeki örnek hazırlayın. Bu, her örneğin eRDMA yazılım yığınının yüklü olması ve ENI'si için ERI özelliğinin etkinleştirilmiş olması anlamına gelir. Bir örnek sunucu, diğeri ise istemci olarak hizmet eder.

  2. İki örneğin iç ağ üzerinden birbirleriyle iletişim kurabildiğinden emin olun. Daha fazla bilgi için bkz. ECS örnekleri arasında iç iletişimi etkinleştirme.

Yordam

  1. İki örneğin her birine uzaktan bağlanın.

    Daha fazla bilgi için bkz. Workbench kullanarak bir Linux örneğine bağlanma.

  2. eRDMA'nın her iki örnekte de doğru şekilde yapılandırıldığını doğrulayın.

    Daha fazla bilgi için bkz. eRDMA yapılandırmasını doğrulama.

  3. Her örnekte perftest aracını yüklemek için aşağıdaki komutları çalıştırın.

    perftest'i resmi depodan (genel IP adresi gerekir) veya bir YUM/APT deposundan yükleyin.

    Resmi depo

    1. ECS örneğine genel bir IP adresi atayın.

    2. perftest'i resmi perftest deposundan indirin ve yükleyin.

    YUM veya APT deposu

    Not

    Yazılım depolarındaki perftest sürümleri Linux dağıtımları arasında farklılık gösterebilir ve bu durum uyumluluk sorunlarına neden olabilir. İletişim kuran tüm örneklerde aynı dağıtımı kullanın. Mümkün değilse resmi depodan yükleyin.

    • Alibaba Cloud Linux 3, CentOS veya Anolis OS

      sudo yum install perftest -y
    • Ubuntu

      sudo apt install perftest -y
  4. eRDMA ağ gecikme süresini test edin.

    1. Sunucu örneğinde, istemciden gelen bağlantıları dinleyen bir sunucu olarak ib_write_lat başlatmak için aşağıdaki komutu çalıştırın.

      ib_write_lat -R -a -F
      • -R: Bağlantı kurmak için RDMA Connection Manager (RDMA_CM) kullanır.

        Önemli
        • eRDMA'yı destekleyen CPU tabanlı örnek türleri için eRDMA çekirdek sürücüsü varsayılan olarak Standard modda yüklenir ve bu mod yalnızca RDMA_CM bağlantı kurma yöntemini destekler. Daha fazla bilgi için bkz. Bağlantı kurma yöntemi.

        • Varsayılan olarak perftest bant dışı (OOB) bağlantı kullanır. CPU tabanlı bir örnekte perftest çalıştırırken sunucuda ve istemcide RDMA_CM bağlantı kurma yöntemini belirtmek için -R parametresini kullanabilirsiniz. Aksi takdirde bağlantı başarısız olabilir.

        • RDMA_CM ve OOB bağlantı kurma yöntemlerinin uyumlu olmasını sağlamak için komut satırını da kullanabilirsiniz. Daha fazla bilgi için bkz. Uyumluluk sağlamak için eRDMA ve bRPC'nin bağlantı kurma modunu değiştirme. Uyumluluğu etkinleştirdikten sonra -R parametresi artık gerekli değildir.

      • -a: 2 bayttan 2^23 bayta kadar tüm mesaj boyutları için testler çalıştırır. Bu, farklı mesaj boyutlarının gecikme süresi üzerindeki etkisini test etmenizi sağlar.

      • -F: Var olan tüm bağlantıların üzerine yazmaya zorlar. Yani bir bağlantı zaten kurulmuşsa -F seçeneğini kullanmak bu bağlantıları yok sayar ve yeni bir bağlantı kurulmasına zorlar.

    2. İstemci örneğinde, ib_write_lat başlatmak ve sunucuya bağlanmak için aşağıdaki komutu çalıştırın.

      ib_write_lat -R -a -F <server_ip>

      <server_ip> değerini sunucunun ERI etkin ENI'sinin özel IP adresi ile değiştirin. IP adresini almak için bkz. IP adreslerini görüntüleme.

    3. Test sonuçlarını görüntüleyin.

      İstemcideki test tamamlandıktan sonra ib_write_lat test yapılandırma bilgilerini, bağlantı bilgilerini ve minimum, maksimum ve ortalama gecikme süresi gibi gecikme süresi istatistiklerini içeren performans testi sonuçlarını çıktılar.

      [root@xxx              ~]# ib_write_lat -R -a -F 172.17.0.131
       RDMA_Write Latency Test
       Dual-port       : OFF		Device           : erdma_0
       Number of qps   : 1		Transport type   : IW
       Connection type  : RC		Using SRQ        : OFF
       PCIe relax order: OFF
       ibv_wr* API     : OFF
       TX depth         : 1
       Mtu              : 1024[B]
       Link type        : Ethernet
       GID index        : 0
       Max inline data  : 96[B]
       rdma_cm QPs      : ON
       Data ex. method  : rdma_cm
       local address: LID 0000 QPN 0x000b PSN 0xaf51c5
       GID: 00:22:62:22:161:180:00:00:00:00:00:00:00:00:00:00
       remote address: LID 0000 QPN 0x000a PSN 0x347ff0
       GID: 00:22:62:09:142:189:00:00:00:00:00:00:00:00:00:00
       #bytes #iterations    t_min[usec]    t_max[usec]  t_typical[usec]    t_avg[usec]    t_stdev[usec]   99% percentile[usec]   99.9% percentile[usec]
         2       1000          12.26          16.79          12.59            12.65            0.19              14.32                    16.79
         4       1000          12.10          18.10          12.54            12.60            0.24              14.57                    18.10
         8       1000          12.04          18.75          12.42            12.48            0.31              14.09                    18.75
        16       1000          12.45          14.77          12.77            12.81            0.11              14.10                    14.77
        32       1000          12.28          15.55          12.75            12.81            0.21              14.67                    15.55
        64       1000          12.41          16.10          12.79            12.84            0.16              14.31                    16.10
       128       1000          12.86          16.22          13.19            13.21            0.15              14.78                    16.22
       256       1000          13.11          20.85          13.53            13.64            0.35              15.43                    20.85
       512       1000          13.09          16.54          13.44            13.47            0.17              15.16                    16.54

      ib_write_lat test sonucu alanlarının açıklaması

      • #bytes: Testte kullanılan mesaj yükünün bayt cinsinden boyutu. Boyut 2 bayttan 8.388.608 bayta kadar değişir. Farklı mesaj boyutları farklı yükler altında performansı anlamanıza yardımcı olur.

      • #iterations: Her mesaj boyutu için testin tekrarlanma sayısı. Daha yüksek yineleme sayısı daha kararlı ortalamalar ve istatistikler sağlar.

      • t_min[usec]: Tüm ölçümler boyunca kaydedilen minimum gecikme süresi (mikrosaniye cinsinden). Bu değer en iyi durum ağ gecikme süresi için referans sağlar.

      • t_max[usec]: Tüm ölçümler boyunca kaydedilen maksimum gecikme süresi (mikrosaniye cinsinden). Yüksek bir maksimum gecikme süresi ağ sorunlarına veya geçici tıkanıklığa işaret edebilir.

      • t_typical[usec]: Test sırasında gözlenen tipik gecikme süresi (mikrosaniye cinsinden). Bu genellikle tüm ölçülen değerlerin medyanıdır.

      • t_avg[usec]: Tüm ölçümlerin ortalama gecikme süresi (mikrosaniye cinsinden). Bu değer ağ gecikme süresine genel bir bakış sağlar.

      • t_stdev[usec]: Gecikme sürelerinin standart sapması (mikrosaniye cinsinden). Bu değer gecikme süresindeki varyasyon derecesini gösterir. Daha küçük bir standart sapma daha kararlı bir gecikme süresini, daha büyük bir standart sapma ise daha büyük dalgalanmaları gösterir.

      • 99% percentile[usec]: Gecikme süresinin 99. yüzdelik dilimi (mikrosaniye cinsinden). Bu, ölçülen değerlerin %99'unun bu değerden düşük olduğunu gösterir. Bu veri noktası uç durumlardaki gecikme performansı hakkında bilgi edinmenize yardımcı olur.

      • 99.9% percentile[usec]: Gecikme süresinin 99,9. yüzdelik dilimi (mikrosaniye cinsinden). Bu, ölçülen değerlerin %99,9'unun bu değerden düşük olduğunu gösterir. Bu veri noktası aşırı durumlardaki gecikme performansı hakkında bilgi edinmenize yardımcı olur.

      Bu metrikleri analiz etmek optimizasyon ve sorun giderme amacıyla RDMA ağınızın performansını anlamanıza yardımcı olur. Örneğin belirli bir mesaj boyutunda ani bir gecikme artışı ağ yapılandırmanızı veya donanım performansınızı kontrol etmeniz gerekebileceğini gösterebilir. Önemli gecikme dalgalanmaları ağ tıkanıklığını veya kararsızlığını araştırmanızı gerektirebilir.