全部产品
Search
文档中心

Alibaba Cloud Linux:Masalah SMC

更新时间:Jun 28, 2025

Topik ini menjelaskan masalah-masalah yang mungkin terjadi dalam Komunikasi Memori Bersama (SMC) dan cara menyelesaikan masalah tersebut. Topik ini berlaku untuk Alibaba Cloud Linux 3.

SMC tidak memberikan peningkatan performa aplikasi dibandingkan TCP

Deskripsi masalah

Ketika menggunakan SMC sebagai pengganti TCP untuk mempercepat koneksi TCP suatu aplikasi, performa aplikasi tidak meningkat.

Penyebab dan solusi

  • Koneksi SMC yang dibuat untuk aplikasi jatuh kembali ke TCP. Dalam kasus ini, Anda tidak dapat menggunakan Remote Direct Memory Access (RDMA) untuk mempercepat komunikasi jaringan. Untuk informasi tentang cara mendiagnosis dan menyelesaikan masalah fallback, lihat bagian SMC jatuh kembali ke TCP dan RDMA tidak dapat digunakan untuk mempercepat komunikasi dalam topik ini.

  • Overhead komunikasi jaringan aplikasi hanya mencakup sebagian kecil dari overhead keseluruhan. Sebagai contoh, aplikasi bersifat intensif CPU dan sedikit bergantung pada komunikasi jaringan.

  • Dibandingkan dengan paket TCP, paket RDMA memerlukan ruang header tambahan untuk menampung informasi terkait RDMA. Mengingat bandwidth yang tersedia sama, bandwidth aktual yang dapat dicapai untuk transmisi paket RDMA sedikit lebih rendah daripada transmisi paket TCP. Untuk mengurangi masalah ini, gunakan fitur Jumbo Frames. Untuk informasi tentang fitur ini, lihat Jumbo Frames.

  • SMC tidak kompatibel dengan model komunikasi jaringan aplikasi. Contoh skenario:

    • Skema di mana koneksi singkat sering dibuat dan ditutup. Pembuatan koneksi SMC melibatkan operasi jalur lambat seperti pembuatan dan permintaan sumber daya RDMA. Untuk aplikasi yang sebagian besar menggunakan koneksi singkat, SMC tidak memberikan peningkatan performa dibandingkan TCP.

    • Skema di mana sumber daya terbatas. Sumber daya yang diperlukan untuk komunikasi SMC bergantung pada spesifikasi memori dan antarmuka eRDMA (ERI) dari Instance ECS. Jika sumber daya tidak cukup, SMC mungkin jatuh kembali ke TCP. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasikan SMC.

Komunikasi gagal setelah SMC diaktifkan

Deskripsi masalah

Setelah mengaktifkan Shared Memory Communications over Remote Direct Memory Access (SMC-R) untuk Instance ECS yang menjalankan Alibaba Cloud Linux 3, alamat tertentu seperti alamat layanan Internet tertentu dapat diping tetapi tidak dapat diakses. Setelah menonaktifkan SMC-R, masalah teratasi.

Penyebab

Beberapa server tidak sepenuhnya sesuai dengan spesifikasi TCP. Ketika server memproses opsi TCP, server mungkin mereplay opsi TCP. Akibatnya, ujung lokal secara salah menganggap bahwa server peer yang tidak mendukung SMC mendukung SMC.

Catatan

Implementasi TCP MUST (MUST-6) mengabaikan tanpa kesalahan opsi TCP apa pun yang tidak diimplementasikan, dengan asumsi bahwa opsi tersebut memiliki bidang panjang. Untuk informasi lebih lanjut, lihat RFC 9293.

Jika opsi TCP yang digunakan untuk menunjukkan dukungan SMC direplay, ujung lokal salah mengidentifikasi server peer sebagai mendukung SMC. Dalam hal ini, terjadi kesalahan jabat tangan. Akibatnya, permintaan seperti permintaan cURL gagal, tetapi ping melalui Protokol Pesan Kontrol Internet (ICMP) berhasil.

Anda dapat melakukan pemeriksaan tautan komunikasi untuk mendiagnosis masalah.

Solusi

Masalah replay opsi TCP terjadi secara tak terduga, dan tidak dapat diselesaikan karena opsi TCP direplay oleh node jaringan perantara atau peer. Kami sarankan Anda melakukan kontrol negosiasi SMC berdasarkan kebijakan BPF dan tidak menggunakan SMC untuk akses pada tautan bermasalah.

SMC gagal diaktifkan setelah perintah smc_run dijalankan

Deskripsi masalah

Setelah menjalankan perintah smc_run ./foo untuk mengaktifkan SMC pada aplikasi, Anda dapat menjalankan perintah smcr l untuk mengeksplorasi grup tautan SMC-R. Namun, keluaran perintah menunjukkan bahwa tidak ada grup tautan SMC-R yang dibuat. Selanjutnya, saat menjalankan perintah smcss -a untuk memeriksa soket SMC, hasilnya menunjukkan bahwa tidak ada koneksi SMC yang tersedia atau koneksi SMC jatuh kembali ke TCP di salah satu sisi. Untuk informasi lebih lanjut tentang perintah, lihat Aktifkan dan konfigurasikan SMC.

Penyebab

Perintah smc_run menggunakan mekanisme berikut untuk secara transparan mengaktifkan SMC: Pra-muat pustaka tautan dinamis dari smc-tools yang ditentukan dalam variabel LD_PRELOAD sebelum pustaka lain, lalu buat panggilan socket(2) dalam pustaka tautan dinamis yang dimuat sebelumnya untuk memodifikasi keluarga dan protokol soket. Jika aplikasi tidak dilink secara dinamis, Anda tidak dapat menjalankan perintah smc_run untuk secara transparan mengaktifkan SMC untuk aplikasi tersebut.

Solusi

Jalankan perintah sysctl net.smc.tcp2smc yang dijelaskan dalam Aktifkan dan konfigurasikan SMC untuk mengaktifkan SMC.

Port tertentu menjadi tidak dapat digunakan setelah SMC diaktifkan

Deskripsi masalah

Setelah SMC dimuat, 16 port dalam rentang port 65.500 hingga 65.515 menjadi tidak dapat digunakan. Setelah membuat panggilan bind(2) untuk port-port tersebut, EADDRINUSE dikembalikan.

Penyebab

SMC-R dan eRDMA digunakan bersama-sama. Modul SMC menggunakan port 65.500 hingga 65.515 dalam namespace jaringan tempat ERIs berada untuk membangun koneksi out-of-band (OOB). Anda dapat menjalankan perintah dmesg dan melihat informasi berikut dalam keluaran perintah:

smc: smc: load SMC module with reserve_mode
NET: Registered protocol family 43
smc: netns <netns ID> reserved ports [65500 ~ 65515] for eRDMA OOB
smc: adding ib device erdma_0 with port count 1
smc: ib device erdma_0 port 1 has pnetid

Jika modul SMC gagal menempati port, modul SMC tidak dapat menggunakan perangkat eRDMA.

Solusi

Lepaskan modul SMC untuk melepaskan port. Untuk informasi tentang cara melepaskan modul SMC, lihat bagian Gunakan SMC di Alibaba Cloud ECS dalam topik "Gunakan SMC".

SMC jatuh kembali ke TCP ketika alamat IPv6 digunakan

Deskripsi masalah

Setelah mengaktifkan SMC untuk aplikasi yang menggunakan alamat IPv6, keluaran perintah smcss menunjukkan bahwa SMC jatuh kembali ke TCP dengan kode penyebab 0x03030000 atau 0x0x09990000.

Penyebab

SMC jatuh kembali ke TCP karena perangkat eRDMA Alibaba Cloud dan SMC tidak mendukung alamat IPv6.

Solusi

Sebelum mengaktifkan SMC untuk koneksi baru, gunakan salah satu metode berikut:

  • Metode 1: Nonaktifkan alamat IPv6.

    • Jalankan perintah berikut untuk menonaktifkan alamat IPv6 untuk semua antarmuka jaringan:

      sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
      sysctl -w net.ipv6.conf.default.disable_ipv6=1
    • Jalankan perintah berikut untuk menonaktifkan alamat IPv6 untuk antarmuka jaringan tertentu.

      Ganti <NetInName> dengan nama antarmuka jaringan.

      sudo sysctl -w net.ipv6.conf.<NetInName>.disable_ipv6=1
  • Metode 2: Gunakan alamat IPv4-mapped IPv6 untuk versi kernel 5.10.134-17.3 dan yang lebih baru.

Performa SMC lebih rendah daripada performa TCP dalam kondisi PPS ekstrem

Deskripsi masalah

Ketika beban jaringan mencapai laju maksimum paket per detik (PPS) yang ditentukan oleh jenis Instance ECS, aplikasi yang menggunakan SMC dengan eRDMA memiliki performa permintaan per detik (QPS) yang lebih rendah dibandingkan yang menggunakan TCP.

  • Traffic TCP: Jalankan perintah sar -n DEV 1 untuk memeriksa jumlah paket yang ditransmisikan per detik (rxpck/s dan txpck/s) pada antarmuka jaringan dan lihat apakah beban jaringan telah mencapai batas PPS.

  • Traffic SMC eRDMA: Jalankan perintah eadm stat -d <ibdev_name> -l untuk memeriksa jumlah paket yang ditransmisikan per detik pada antarmuka jaringan eRDMA dan lihat apakah beban jaringan telah mencapai batas PPS. Untuk informasi tentang eadm, lihat Gunakan eadm untuk mendiagnosis dan memecahkan masalah dalam eRDMA.

Penyebab

RDMA menghasilkan lebih banyak paket jaringan untuk jumlah permintaan jaringan yang sama dibandingkan TCP. Akibatnya, batas PPS dari Instance ECS tercapai lebih cepat, mencegah peningkatan performa QPS aplikasi.

Solusi

Masalah ini hanya terjadi dalam kondisi beban jaringan ekstrem di mana batas PPS tercapai, seperti selama tes stres benchmark. Dalam skenario nyata, beban lalu lintas jaringan jarang mencapai batas PPS. Jika ini terjadi, kami sarankan Anda tidak menggunakan SMC.

SMC jatuh kembali ke TCP dan RDMA tidak dapat digunakan untuk mempercepat komunikasi

Deskripsi masalah

Setelah mengaktifkan SMC untuk menggantikan TCP dalam aplikasi, Anda menjalankan perintah smcss -a dan keluaran perintah menunjukkan bahwa koneksi SMC secara otomatis jatuh kembali ke TCP.

Penyebab

Jika pengecualian menyebabkan koneksi SMC jatuh kembali ke TCP selama pembuatan koneksi SMC, koneksi SMC masih dapat digunakan untuk komunikasi, tetapi aplikasi yang menggunakan koneksi SMC tidak dapat memanfaatkan manfaat performa RDMA. Ketika terjadi fallback SMC ke TCP, kode penyebab dikembalikan. Anda dapat mengidentifikasi penyebab fallback berdasarkan kode tersebut.

Solusi

  1. Jalankan perintah smcss -a untuk mendapatkan kode penyebab fallback SMC ke TCP.

    Contoh keluaran perintah:

    State          UID   Inode   Local Address           Peer Address            Intf Mode
    ACTIVE         00000 0156721 192.168.99.21:60188     192.168.99.22:8090      0000 TCP 0x03010000
    ACTIVE         00000 1202539 172.16.4.189:44780      172.16.4.190:1811       0000 SMCR

    Pada entri pertama, TCP di kolom Intf Mode menunjukkan bahwa koneksi SMC jatuh kembali ke TCP. Kode penyebab adalah 0x03010000. Pada entri kedua, SMCR di kolom Intf Mode menunjukkan bahwa koneksi SMC-R telah dibuat. Jika dua kode penyebab (contoh: 0x05000000 dan 0x03030001) ditampilkan di kolom Intf Mode, kode pertama menunjukkan penyebab untuk host lokal dan kode kedua menunjukkan penyebab untuk host peer. Dalam kebanyakan kasus, fallback SMC ke TCP disebabkan oleh host peer.

  2. Identifikasi penyebab fallback SMC ke TCP berdasarkan kode penyebab dan selesaikan fallback.

    Tabel berikut menjelaskan penyebab dan kode penyebab fallback SMC ke TCP serta memberikan solusi untuk fallback tersebut.

    Kode Penyebab

    Deskripsi

    Penyebab dan Solusi yang Mungkin

    0x01010000

    Sumber daya tidak dapat dibuat karena memori tidak cukup.

    • Penyebab: Memori host tidak cukup untuk menampung struktur data dan operasi baca/tulis yang diperlukan untuk membuat koneksi SMC.

    • Solusi: Tingkatkan memori yang tersedia dengan melakukan operasi seperti menghentikan proses yang tidak diperlukan.

    0x02010000

    Ketika pesan Connection Layer Control (CLC) atau Link Layer Control (LLC) dikirim selama proses jabat tangan TCP, pesan Link Confirm yang dikirim melalui tautan RDMA habis waktu.

      • Penyebab 1: Kartu antarmuka jaringan RDMA (RNIC) atau tautan RDMA gagal. Akibatnya, respons terhadap pesan LLC yang dikirim melalui tautan RDMA habis waktu.

      • Solusi 1: Pastikan RNIC bekerja sesuai harapan.

      • Penyebab 2: Pengontrol antarmuka jaringan Ethernet (NIC) atau jaringan TCP/IP gagal. Akibatnya, respons terhadap pesan CLC yang dikirim melalui koneksi TCP habis waktu.

      • Solusi 2: Pastikan NIC Ethernet bekerja sesuai harapan.

    0x02020000

    Habis waktu terjadi ketika pesan LLC dikirim untuk membangun tautan RDMA.

    Kode penyebab tidak digunakan.

    0x03000000

    Alamat IP yang benar tidak dapat diperoleh karena konfigurasi yang salah.

    • Penyebab: Ketika proposal dibuat untuk membangun koneksi SMC, alamat IP yang sesuai dengan soket CLC tidak dapat diperoleh.

    • Solusi: Pastikan koneksi CLC berbasis TCP dan perangkat yang sesuai bekerja sesuai harapan.

    0x03010000

    Host peer tidak mendukung atau menggunakan SMC.

    • Penyebab: Host peer tidak mendukung SMC. Jika host peer mendukung SMC, paket SYN atau SYNACK yang dikirim melalui koneksi CLC selama proses jabat tangan TCP membawa bendera opsi TCP SMC.

    • Solusi: Periksa apakah tumpukan protokol aplikasi di host lokal atau peer diganti dengan tumpukan protokol SMC, dan jalankan perintah smcss dari paket smc-tools untuk memeriksa status koneksi SMC. Jika tidak ada koneksi dan port yang sesuai dengan aplikasi, ganti TCP dengan SMC dan buat koneksi SMC.

    0x03020000

    IPsec tidak didukung.

    • Penyebab: IPsec digunakan dalam koneksi SMC, tetapi SMC tidak mendukung IPsec.

    • Solusi: Jangan gunakan IPsec dalam koneksi SMC.

    0x03030000

    Tidak ada perangkat Shared Memory Communications - Direct Memory Access (SMC-D) atau SMC-R yang tersedia.

      • Penyebab 1: Tidak ada perangkat RDMA yang tersedia untuk membangun koneksi SMC-R.

      • Solusi 1: Jalankan perintah smcr d untuk memeriksa apakah perangkat RDMA tersedia untuk membangun koneksi SMC-R. Jika tidak ada perangkat RDMA yang tersedia dalam skenario eRDMA Alibaba Cloud, pastikan ERIs dikonfigurasi dengan benar di konsol ECS dan driver ERI diinstal dengan benar pada sistem operasi instance.

      • Penyebab 2: Ketika beberapa antarmuka Ethernet digunakan, antarmuka Ethernet yang digunakan untuk koneksi SMC-R tidak mendukung eRDMA, dan perangkat eRDMA tidak ditemukan.

      • Solusi 2: Jalankan perintah ibv_devinfo untuk menanyakan GUID node perangkat eRDMA. Jalankan perintah ip addr untuk menanyakan alamat MAC antarmuka Ethernet. Kemudian, bandingkan GUID node perangkat eRDMA dengan alamat MAC antarmuka Ethernet untuk menentukan apakah antarmuka Ethernet mendukung eRDMA.

      • Penyebab 3: Jika perangkat RDMA diatur untuk berjalan dalam mode eksklusif, SMC hanya mencari perangkat RDMA dalam namespace jaringan tempat soket RDMA dibuat.

      • Solusi 3: Jalankan perintah rdma system untuk memeriksa mode operasi perangkat RDMA. Jika perangkat RDMA berjalan dalam mode eksklusif, netns exclusive ditampilkan dalam keluaran perintah. Untuk menggunakan perangkat RDMA dalam namespace jaringan, jalankan perintah rdma dev set <Nama perangkat RDMA> netns <Nama namespace jaringan> untuk memindahkan perangkat RDMA ke namespace jaringan. Jika perangkat RDMA adalah perangkat RoCE atau iWARP, pindahkan perangkat RDMA dan perangkat Ethernet yang diperlukan ke namespace jaringan.

      • Penyebab 4: Ketika perangkat eRDMA digunakan, klien mencoba mengganti koneksi AF_INET6 dengan koneksi SMC.

      • Solusi 4: Perangkat eRDMA hanya didasarkan pada protokol SMC Versi 2 (SMCv2) yang tidak mengizinkan penggantian koneksi AF_INET6. Gunakan TCP. Lalu, ubah keluarga protokol aplikasi menjadi AF_INET.

    0x03030001

    Tidak ada perangkat SMC-D yang tersedia.

    Alibaba Cloud tidak menyediakan perangkat SMC-D. Jika masalah terjadi, hubungi dukungan teknis Alibaba Cloud.

    0x03030002

    Tidak ada perangkat SMC-R yang tersedia.

      • Penyebab 1: Selama pembuatan koneksi SMC, perangkat RDMA yang dipilih menjadi tidak valid.

      • Solusi 1: Jalankan perintah smcr d untuk memeriksa apakah perangkat SMC-R tersedia di sistem. Jika perangkat RDMA yang diperlukan adalah ERIs Alibaba Cloud, pastikan ERIs ditambahkan di konsol ECS dan driver ERI diinstal dan dikonfigurasi dengan benar.

      • Penyebab 2: Ketika beberapa antarmuka Ethernet digunakan, antarmuka Ethernet yang digunakan untuk koneksi SMC-R tidak mendukung eRDMA, dan perangkat eRDMA tidak ditemukan.

      • Solusi 2: Jalankan perintah ibv_devinfo untuk menanyakan GUID node perangkat eRDMA. Jalankan perintah ip addr untuk menanyakan alamat MAC antarmuka Ethernet. Kemudian, bandingkan GUID node perangkat eRDMA dengan alamat MAC antarmuka Ethernet untuk menentukan apakah antarmuka Ethernet mendukung eRDMA.

      • Penyebab 3: Jika perangkat RDMA diatur untuk berjalan dalam mode eksklusif, SMC hanya mencari perangkat RDMA dalam namespace jaringan tempat soket RDMA dibuat.

      • Solusi 3: Jalankan perintah rdma system untuk memeriksa mode operasi perangkat RDMA. Jika perangkat RDMA berjalan dalam mode eksklusif, netns exclusive ditampilkan dalam keluaran perintah. Untuk menggunakan perangkat RDMA dalam namespace jaringan, jalankan perintah rdma dev set <Nama perangkat RDMA> netns <Nama namespace jaringan> untuk memindahkan perangkat RDMA ke namespace jaringan. Jika perangkat RDMA adalah perangkat RoCE atau iWARP, pindahkan perangkat RDMA dan perangkat Ethernet yang diperlukan ke namespace jaringan.

    0x03030003

    Perangkat SMC-D tidak mendukung protokol ISMv2.

    Alibaba Cloud tidak menyediakan perangkat SMC-D. Jika masalah terjadi, hubungi dukungan teknis Alibaba Cloud.

    0x03030004

    Host peer tidak mendukung ekstensi protokol SMCv2.

    • Penyebab: Protokol SMCv2 diaktifkan untuk host lokal, tetapi host peer tidak mendukung protokol SMCv2. Tumpukan protokol SMC menggunakan protokol SMCv1 atau SMCv2 berdasarkan kemampuan perangkat dasar. Dalam skenario eRDMA atau RoCE v2 Alibaba Cloud, SMCv2 digunakan.

    • Solusi: Gunakan jenis perangkat RDMA yang sama pada kedua host yang berkomunikasi untuk memastikan bahwa versi protokol SMC yang sama digunakan oleh host-host tersebut. Jalankan perintah smcr d untuk menanyakan perangkat SMC-R. Dalam keluaran perintah, nilai di kolom Type menunjukkan jenis perangkat SMC-R. Nilai-nilai tersebut meliputi RoCE_Express, RoCE_Express2, dan 0x107f. Nilai 0x107f menunjukkan eRDMA Alibaba Cloud.

    0x03030005

    Host peer tidak mendukung ekstensi protokol SMC-D v2.

    Alibaba Cloud tidak menyediakan perangkat SMC-D. Jika masalah terjadi, hubungi dukungan teknis Alibaba Cloud.

    0x03030006

    Host peer tidak memiliki ID perusahaan sistem (SEID).

    Kode penyebab tidak digunakan.

    0x03030007

    Tidak ada perangkat SMC-D v2 yang tersedia.

    Alibaba Cloud tidak menyediakan perangkat SMC-D. Jika masalah terjadi, hubungi dukungan teknis Alibaba Cloud.

    0x03030008

    Host peer tidak memiliki ID perusahaan pengguna (UEID).

    • Penyebab: Protokol SMCv2 digunakan, tetapi UEID tidak ditentukan.

    • Solusi: Jalankan perintah smcr ueid {show | add | del} dari paket smc-tools untuk menentukan UEID yang sama untuk kedua host yang berkomunikasi.

    0x03030009

    Negosiasi versi SMC antara host lokal dan peer gagal.

    • Penyebab: Versi SMC yang dinegosiasikan oleh host lokal dan peer berubah selama jabat tangan CLC.

    • Solusi: Pastikan host lokal dan peer menjalankan distribusi sistem operasi yang sama.

    0x0303000a

    Negosiasi jumlah maksimum koneksi per grup tautan (Max Connections per LGR negotiation) gagal.

    • Penyebab: SMCv2.1 mendukung negosiasi Max Connections per LGR. Jika hasil negosiasi tidak dapat diterima, fallback terjadi. Sebagai contoh, jumlah yang dinegosiasikan adalah nol atau melebihi nilai maksimum yang diizinkan untuk host lokal.

    • Solusi: Pastikan host lokal dan peer menjalankan distribusi sistem operasi yang sama.

    0x0303000b

    Negosiasi jumlah maksimum tautan per grup tautan (Max Links per LGR negotiation) gagal.

    • Penyebab: SMCv2.1 mendukung negosiasi Max Links per LGR. Jika hasil negosiasi tidak dapat diterima, fallback terjadi. Sebagai contoh, jumlah yang dinegosiasikan adalah nol atau melebihi nilai maksimum yang diizinkan untuk host lokal.

    • Solusi: Pastikan host lokal dan peer menjalankan distribusi sistem operasi yang sama.

    0x0303000c

    Negosiasi fitur vendor SMC antara host lokal dan peer gagal.

    • Penyebab: Fitur vendor SMC yang dinegosiasikan oleh host lokal dan peer berubah selama jabat tangan CLC.

    • Solusi: Pastikan host lokal dan peer menjalankan distribusi sistem operasi yang sama. Lalu, jalankan perintah uname -r untuk memeriksa versi kernel. Jika versi kernel adalah 5.10.134-015, jangan ubah nilai sysctl net.smc.vendor_exp_options selama pembuatan koneksi. Jika versi kernel adalah 5.10.134-016 atau lebih baru, jangan ubah nilai sysctl net.smc.experiment_vendor_options selama pembuatan koneksi.

    0x03040000

    Host lokal dan host peer menggunakan mode perangkat SMC yang berbeda: SMC-D atau SMC-R.

    Alibaba Cloud tidak menyediakan perangkat SMC-D. Jika masalah terjadi, hubungi dukungan teknis Alibaba Cloud.

    0x03050000

    Elemen buffer memori jarak jauh (CNYE) dari host peer memiliki eyecatcher.

    Kode penyebab tidak digunakan untuk Linux.

    0x03060000

    Koneksi SMC tidak mendukung flag MSG_FASTOPEN.

    • Penyebab: SMC tidak mendukung flag MSG_FASTOPEN.

    • Solusi: Saat soket SMC dibuat, hapus flag MSG_FASTOPEN.

    0x03070000

    Awalan IP atau subset IP dari host lokal berbeda dari awalan IP atau subset IP dari host peer.

    • Penyebab: Ketika perangkat RDMA adalah perangkat RoCEv1, protokol SMCv1 secara otomatis digunakan. SMCv1 hanya mendukung komunikasi dalam subnet yang sama. Jika kedua host tidak berada dalam subnet yang sama, fallback terjadi.

    • Solusi: Jika menggunakan perangkat RoCEv1, pastikan kedua host berada dalam subnet yang sama. Untuk perangkat RDMA yang mendukung eRDMA, protokol SMCv2 akan digunakan secara otomatis dan tidak ada fallback akibat batasan subnet.

    0x03080000

    ID VLAN perangkat tidak dapat diperoleh.

    • Penyebab: Selama pembuatan koneksi, SMC mencoba memperoleh ID VLAN perangkat yang sesuai dengan soket SMC.

    • Solusi: Pastikan koneksi TCP yang diidentifikasi oleh quintuple dan perangkat Ethernet yang sesuai bekerja dengan baik.

    0x03090000

    ID VLAN tidak dapat didaftarkan dengan perangkat memori bersama internal (ISM).

    Alibaba Cloud tidak menyediakan perangkat SMC-D. Jika masalah terjadi, hubungi dukungan teknis Alibaba Cloud.

    0x030a0000

    Tidak ada tautan RDMA SMC-R yang tersedia dalam grup tautan.

    • Penyebab: Saat koneksi SMC-R dibuat, koneksi tersebut diberi tautan dari grup tautan tempat koneksi tersebut milik. Jika koneksi tidak diberi tautan, RDMA tidak dapat digunakan untuk mempercepat koneksi.

    • Solusi: Jalankan perintah smcr d untuk memeriksa apakah RNIC pada instance ECS bekerja dengan baik. Jika perangkat RDMA yang diperlukan adalah ERIs Alibaba Cloud, pastikan ERIs telah ditambahkan di konsol ECS dan driver ERI telah diinstal dan dikonfigurasi dengan benar.

    0x030b0000

    Klien tidak dapat menemukan tautan RDMA yang disediakan oleh server.

    • Penyebab: Klien mencari tautan RDMA berdasarkan nomor antrian udara (QPN), pengenal global (GID), dan informasi alamat kontrol media (MAC) yang disediakan oleh server dan membuat koneksi ke server. Jika klien tidak dapat menemukan tautan RDMA yang diperlukan, koneksi tidak dapat dipercepat oleh RDMA.

    • Solusi: Jalankan perintah smcr d untuk memeriksa apakah RNIC pada instance ECS bekerja dengan baik. Jika perangkat RDMA yang diperlukan adalah ERIs Alibaba Cloud, pastikan ERIs telah ditambahkan di konsol ECS dan driver ERI telah diinstal dan dikonfigurasi dengan benar.

    0x030c0000

    Negosiasi versi SMC gagal.

    • Penyebab: Versi SMC yang dinegosiasikan oleh host lokal dan peer tidak dapat diterima.

    • Solusi: Pastikan host lokal dan peer menjalankan distribusi sistem operasi yang sama.

    0x030d0000

    Jumlah maksimum DMB SMC-D tercapai.

    Alibaba Cloud tidak menyediakan perangkat SMC-D. Jika masalah terjadi, hubungi dukungan teknis Alibaba Cloud.

    0x030e0000

    Host peer tidak dapat terhubung ke host lokal melalui protokol SMC-R V2.

    • Penyebab: Ketika koneksi dibuat melalui protokol SMCv2, klien perlu menemukan informasi routing berdasarkan alamat IP yang disediakan oleh server. Saat ini, klien tidak dapat menemukan informasi routing berdasarkan alamat IP dari host lokal dan host peer.

    • Solusi: Pastikan koneksi TCP yang diidentifikasi oleh quintuple dan perangkat Ethernet yang sesuai bekerja dengan baik dan dapat dijangkau. Sebagai contoh, pastikan NIC Ethernet, konfigurasi IP, dan konfigurasi routing normal dan dapat diakses.

    0x030f0000

    Flag yang menunjukkan apakah koneksi SMC-R V2 merupakan koneksi tidak langsung diatur secara tidak benar.

    • Penyebab: Ketika koneksi dibuat melalui protokol SMCv2, klien menentukan bahwa lalu lintas melewati gateway berdasarkan flag gateway dari server. Namun, informasi routing yang diperoleh berdasarkan alamat IP dari host lokal dan host peer menunjukkan bahwa lalu lintas tidak melewati gateway.

    • Solusi: Pastikan koneksi TCP yang diidentifikasi oleh quintuple dan perangkat Ethernet yang sesuai bekerja dengan baik, dapat dijangkau, dan menggunakan jalur jaringan yang sama. Sebagai contoh, pastikan NIC Ethernet, konfigurasi IP, dan konfigurasi routing normal dan dapat diakses.

    0x04000000

    Server dan klien tidak menggunakan grup tautan yang sama.

    • Penyebab: Selama pembuatan koneksi, server menggunakan kembali grup tautan, tetapi klien ingin membuat grup tautan baru.

    • Solusi: Jalankan perintah smcr d untuk memeriksa apakah RNIC pada instance ECS bekerja dengan baik. Jika perangkat RDMA yang diperlukan adalah ERIs Alibaba Cloud, pastikan ERIs telah ditambahkan di konsol ECS dan driver ERI telah diinstal dan dikonfigurasi dengan benar.

    0x05000000

    Host peer menolak jabat tangan.

    • Penyebab: Selama pembuatan koneksi, host peer merespons dengan pesan CLC untuk menolak koneksi RDMA.

    • Solusi: Jalankan perintah smcss, temukan koneksi RDMA yang ditolak berdasarkan informasi quintuple, lalu identifikasi penyebab fallback berdasarkan kode penyebab dari host peer.

    0x09990000

    Gagal membuat sumber daya terkait RDMA.

    • Penyebab: Sumber daya RDMA gagal dibuat atau diinisialisasi.

    • Solusi: Gunakan alat pemantauan RDMA untuk melihat statistik permintaan sumber daya yang gagal. Jika perangkat eRDMA Alibaba Cloud digunakan, Anda dapat menjalankan perintah eadm stat untuk melihat statistik kesalahan.

    0x09990001

    Gagal menambahkan RToken RDMA.

    Ini adalah masalah tumpukan protokol SMC. Jika masalah terjadi, hubungi dukungan teknis Alibaba Cloud.

    0x09990002

    Antrian pasangan (QPs) RDMA gagal diinisialisasi.

    • Penyebab: Jika tautan RDMA yang memerlukan QP RDMA perlu dibuat selama pembuatan koneksi, SMC memanggil antarmuka kata kerja InfiniBand (IB) untuk menginisialisasi dan memodifikasi QP RDMA. Selama proses ini, terjadi masalah.

    • Solusi: Jalankan perintah smcr d untuk menanyakan perangkat SMC-R yang tersedia. Jika perangkat RDMA adalah ERI Alibaba Cloud, pastikan ERI telah dikonfigurasi dengan benar di konsol ECS dan driver ERI telah diinstal dengan benar di sistem operasi.

    0x09990003

    Wilayah memori (MR) gagal didaftarkan dengan perangkat RDMA yang digunakan oleh SMC.

    • Penyebab: Saat RDMA digunakan untuk komunikasi, MR harus didaftarkan dengan perangkat RDMA untuk mengakses dan menulis data. Jika jumlah atau ukuran MR melebihi spesifikasi yang didukung oleh perangkat RDMA, kesalahan dilaporkan.

    • Solusi: Jalankan perintah smcr d untuk menanyakan nama perangkat RDMA yang digunakan oleh SMC. Jalankan perintah ibv_devinfo -d <Nama perangkat RDMA> -v | grep max_mr. Dalam keluaran perintah, max_mr menunjukkan jumlah maksimum MR yang didukung oleh perangkat RDMA, dan max_mr_size menunjukkan ukuran maksimum MR yang didukung oleh perangkat RDMA. Dalam kebanyakan kasus, masalah terjadi karena jumlah maksimum MR tercapai. Untuk mengurangi jumlah MR, kurangi jumlah koneksi SMC.

    0x09990004

    Kredit yang diperlukan untuk kontrol aliran SMC tidak dapat diinisialisasi.

    • Penyebab: RNIC atau tautan RDMA gagal. Akibatnya, pesan kredit tidak dapat dikirim melalui tautan RDMA.

    • Solusi: Pastikan RNIC bekerja dengan baik.

Setelah Anda mengaktifkan SMC, data yang dikumpulkan oleh alat O&M jaringan umum tidak sesuai harapan

Deskripsi masalah

Setelah mengaktifkan SMC untuk Instance ECS yang menjalankan Alibaba Cloud Linux 3, alat analisis jaringan umum seperti tcpdump dan Wireshark serta alat pemantauan jaringan seperti utilitas Socket Statistics (ss) dan netstat mengumpulkan data lalu lintas jaringan yang tidak sesuai harapan atau tidak dapat mengumpulkan data lalu lintas yang diharapkan.

Penyebab

SMC-R adalah protokol komunikasi yang didasarkan pada RDMA. Saat ini, alat O&M jaringan umum hanya menganalisis atau memantau traffic TCP dan tidak dapat mengidentifikasi paket RDMA. Akibatnya, data yang ditampilkan dalam alat O&M jaringan tidak sesuai dengan data jaringan aktual.

Solusi

Gunakan alat O&M terkait RDMA untuk menganalisis atau memantau data. Untuk informasi lebih lanjut, lihat Pantau dan Periksa eRDMA.

Modul SMC yang dimuat pada instance GPU-dipercepat atau Super Computing Cluster (SCC) tidak dapat digunakan

Deskripsi masalah

Modul SMC yang dimuat pada instance GPU-dipercepat atau SCC tidak dapat digunakan.

Penyebab

Driver Mellanox OpenFabrics Enterprise Distribution (OFED) diinstal pada instance GPU-dipercepat dan SCC. Modul SMC dalam tumpukan OFED dimuat secara otomatis dan tidak dapat bekerja. Setelah menginstal driver Mellanox OFED, simbol untuk fungsi terkait RDMA berubah. Modul SMC yang termasuk dalam kernel gagal dimuat, dan kesalahan Unknown symbol muncul.

Solusi

Modul SMC dalam Alibaba Cloud Linux 3 tidak dapat digunakan pada instance GPU-dipercepat atau SCC.

Setelah Anda mengaktifkan SMC, beberapa opsi tingkat SOL_SOCKET atau SOL_TCP untuk panggilan setsockopt dan getsockopt tidak bekerja sesuai harapan

Deskripsi masalah

Setelah mengaktifkan SMC untuk menggantikan TCP dalam aplikasi, beberapa opsi tingkat SOL_SOCKET atau SOL_TCP yang sebelumnya digunakan untuk koneksi TCP tidak dapat dikonfigurasikan dengan membuat panggilan setsockopt atau getsockopt atau tidak bekerja sesuai harapan setelah dikonfigurasi.

Penyebab

Setelah mengganti tumpukan protokol TCP dengan tumpukan protokol SMC, buffer bersama digunakan untuk mentransfer data melalui tautan SMC. Desain tumpukan protokol dan metode transfer data SMC sangat berbeda dari desain tumpukan protokol dan metode transfer data TCP. Dalam hal ini, opsi tingkat SOL_SOCKET atau SOL_TCP tidak dapat diterapkan.

Solusi

Catat opsi tingkat SOL_SOCKET atau SOL_TCP yang didukung atau tidak didukung oleh SMC di Alibaba Cloud Linux 3. Tabel berikut menjelaskan dukungan SMC untuk opsi tingkat SOL_SOCKET atau SOL_TCP.

Y, M, dan N ditampilkan dalam tabel.

  • Y: Opsi didukung oleh SMC dan dapat dikonfigurasikan serta diperoleh dan bekerja sesuai harapan.

  • M: Opsi tidak didukung oleh SMC dan dapat dikonfigurasikan serta diperoleh, tetapi tidak dapat bekerja sesuai harapan karena perbedaan desain antara SMC dan TCP.

  • N: Opsi tidak didukung oleh SMC dan tidak dapat dikonfigurasikan atau diperoleh. Fallback ke TCP terjadi dengan kode penyebab 0x03060000 atau 0x03010001.

Opsi Tingkat SOL_SOCKET

Opsi

Didukung oleh SMC

SO_DEBUG

Y

SO_REUSEADDR

Y

SO_TYPE

Y

SO_ERROR

Y

SO_DONTROUTE

M

SO_BROADCAST

M

SO_SNDBUF

Y

SO_RCVBUF

Y

SO_SNDBUFFORCE

Y

SO_RCVBUFFORCE

Y

SO_KEEPALIVE

M

SO_OOBINLINE

M

SO_NO_CHECK

M

SO_PRIORITY

M

SO_LINGER

Y

SO_BSDCOMPAT

M

SO_REUSEPORT

Y

SO_PASSCRED

M

SO_PEERCRED

M

SO_RCVLOWAT

M

SO_SNDLOWAT

M

SO_RCVTIMEO_OLD

Y

SO_SNDTIMEO_OLD

Y

SO_SECURITY_AUTHENTICATION

N

SO_SECURITY_ENCRYPTION_TRANSPORT

N

SO_SECURITY_ENCRYPTION_NETWORK

N

SO_BINDTODEVICE

N

SO_ATTACH_FILTER

M

SO_DETACH_FILTER

M

SO_PEERNAME

Y

SO_ACCEPTCONN

M

SO_PEERSEC

N

SO_PASSSEC

M

SO_MARK

M

SO_PROTOCOL

Y

SO_DOMAIN

Y

SO_RXQ_OVFL

M

SO_WIFI_STATUS

M

SO_PEEK_OFF

N

SO_NOFCS

M

SO_LOCK_FILTER

Y

SO_SELECT_ERR_QUEUE

M

SO_BUSY_POLL

M

SO_MAX_PACING_RATE

M

SO_BPF_EXTENSIONS

Y

SO_INCOMING_CPU

M

SO_ATTACH_BPF

M

SO_ATTACH_REUSEPORT_CBPF

M

SO_ATTACH_REUSEPORT_EBPF

N

SO_CNX_ADVICE

M

SO_MEMINFO

M

SO_INCOMING_NAPI_ID

M

SO_COOKIE

Y

SO_PEERGROUPS

N

SO_ZEROCOPY

N

SO_TXTIME

M

SO_BINDTOIFINDEX

N

SO_TIMESTAMP_OLD

M

SO_TIMESTAMPNS_OLD

M

SO_TIMESTAMPING_OLD

M

SO_TIMESTAMP_NEW

M

SO_TIMESTAMPNS_NEW

M

SO_TIMESTAMPING_NEW

M

SO_RCVTIMEO_NEW

Y

SO_SNDTIMEO_NEW

Y

SO_DETACH_REUSEPORT_BPF

N

Opsi Tingkat SOL_TCP

Opsi

Didukung oleh SMC

TCP_NODELAY

Y

TCP_MAXSEG

M

TCP_CORK

Y

TCP_KEEPIDLE

M

TCP_KEEPINTVL

M

TCP_KEEPCNT

M

TCP_SYNCNT

M

TCP_LINGER2

M

TCP_DEFER_ACCEPT

Y

TCP_WINDOW_CLAMP

M

TCP_INFO

M

TCP_QUICKACK

M

TCP_CONGESTION

M

TCP_MD5SIG

Y

TCP_THIN_LINEAR_TIMEOUTS

M

TCP_THIN_DUPACK

M

TCP_USER_TIMEOUT

M

TCP_REPAIR

M

TCP_REPAIR_QUEUE

M

TCP_QUEUE_SEQ

M

TCP_REPAIR_OPTIONS

M

TCP_FASTOPEN

N

TCP_TIMESTAMP

M

TCP_NOTSENT_LOWAT

M

TCP_CC_INFO

M

TCP_SAVE_SYN

Y

TCP_SAVED_SYN

Y

TCP_REPAIR_WINDOW

M

TCP_FASTOPEN_CONNECT

N

TCP_ULP

N

TCP_MD5SIG_EXT

Y

TCP_FASTOPEN_KEY

N

TCP_FASTOPEN_NO_COOKIE

N

TCP_ZEROCOPY_RECEIVE

N

TCP_CM_INQ/TCP_INQ

M

TCP_TX_DELAY

M