TCP Üzerinden NVMe Nedir? Nasıl Kullanılır? - Technopat
Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Nasıl Yapılır
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net
  • Haber
  • Yapay Zeka
  • Tavsiyeler
  • Oyun
  • Video
  • Teknoloji
    • Mobil
    • Nasıl Yapılır
    • Yazılım
    • Elektronik Alışveriş Fırsatları
    • Pratik
    • Ev Teknolojileri
    • Makale
    • Güvenlik
    • Ekonomi
    • İnternet
    • Giyilebilir Teknoloji
    • Sağlık
    • Yazıcı
    • Sosyal Medya
    • Otomobil
      • Elektrikli Otomobil
  • Sosyal
Sonuç bulunamadı
Bütün Sonuçları Göster
Teknoloji tutkunu Technopatların ortak adresi: Technopat.net

Anasayfa - Makale - TCP Üzerinden NVMe Nedir? Nasıl Kullanılır?

TCP Üzerinden NVMe Nedir? Nasıl Kullanılır?

9 Ocak 2021 - 21:45
- Makale
HDD mi SSD mi? Hangisi Seçilmeli?

Samsung 970 Evo M.2 NVMe SSD

Bu yazımızda TCP kullanarak NVMe Flash depolamayı nasıl bağlayacağını gözteriyoruz.

Oracle Linux UEK 5 (Unbreakable Enterprise Kernel), RDMA (Uzaktan Doğrudan Bellek Erişimi) teknolojisini kullanarak bir Infiniband veya Ethernet portu üzerinden, NVMe depolama komutlarının aktarılmasına izin veren Fabrics üzerinden NVMe teknolojisini tanıttı. UEK5 U1, NVMe’yi Fibre Channel depolama ağlarını da içerecek şekilde, Fabrics üzerinden kullanıma sundu. Şimdi ise UEK 6 ile, TCP üzerinden NVMe kullanıma sunuldu ki bu, RDMA yeteneğine sahip ağ donanımı satın almak zorunda kalmadan Fabric üzerinden NVMe’yi standart bir Ethernet ağı kullanacak şekilde genişletiyor.

NVMe-TCP nedir?

NVMe Çoklu Kuyruk Modeli, her NVMe denetleyicisinde 64k I/O (Girdi/Çıktı) Gönderme ve Tamamlama Kuyruğunun yanı sıra bir Yönetim Gönderme Kuyruğu ve Tamamlama Kuyruğu uygular. PCIe bağlantılı bir NVMe denetleyicisi için, bu kuyruklar ana belleğe uygulanır ve hem ana CPU’lar hem de NVMe Denetleyici tarafından paylaşılır. Aygıt sürücüsü bir G/Ç gönderim kuyruğuna komut yazdığında ve ardından aygıtı bilgilendirmek için bir kapı zili kaydına yazdığında NVMe aygıtına G/Ç gönderilir. Komut tamamlandığında, aygıt bir G/Ç tamamlama kuyruğuna yazar ve aygıt sürücüsünü bilgilendirmek için bir kesinti oluşturur.

Ağ üzerinden NVMe bu tasarımı genişletir, böylece ana bilgisayar belleğindeki gönderme ve tamamlama kuyrukları uzak kontrolcüde çoğaltılır, böylece ana bilgisayar tabanlı kuyruk çifti denetleyici tabanlı bir kuyruk çiftine eşlenir. Ağ topolojileri üzerinden NVMe, kuyruklar tarafından Veri Kapsüllerinin yanı sıra ağ genelinde iletişim kurmak için kullanılan Komut ve Yanıt Kapsüllerini tanımlar. NVMe-TCP, bu kapsüllerin bir TCP PDU (Protokol Veri Birimi) içinde nasıl kapsüllendiğini tanımlar. Her ana bilgisayar tabanlı kuyruk çifti ve ilişkili denetleyici tabanlı kuyruk çifti, kendi TCP bağlantısıyla eşleşir ve ayrı bir CPU çekirdeğine atanabilir.

NVMe over TCPNVMe-TCP Avantajları

  • TCP’nin her yerde bulunan doğası. TCP, dünya genelindeki çoğu veri merkezinde zaten uygulanmakta olan, kullanımdaki en yaygın ağ aktarımlarından biridir.
  • Mevcut ağ altyapısıyla çalışmak üzere tasarlanmıştır. Diğer bir deyişle, ağ altyapısının bakımını basitleştiren mevcut ethernet yönlendiricilerinin, anahtarların, NIC’lerin değiştirilmesine gerek yoktur.
  • RDMA tabanlı uygulamalardan farklı olarak, TCP tamamen yönlendirilebilir ve yüksek performans ve düşük gecikme sürelerini korurken daha büyük dağıtımlar ve daha uzun mesafeler için çok uygundur.
  • TCP, büyük bir topluluk tarafından aktif olarak korunmakta ve geliştirilmektedir.

NVMe-TCP Dezavantajları

  • TCP, CPU kullanımını artırabilir çünkü sağlama toplamlarının hesaplanması gibi belirli işlemler, TCP yığınının bir parçası olarak CPU tarafından yapılmalıdır.
  • TCP, düşük gecikmeyle yüksek performans sağlasa da, RDMA uygulamalarıyla karşılaştırıldığında gecikme, kısmen korunması gereken ek veri kopyaları nedeniyle bazı uygulamaları etkileyebilir.

NVMe-TCP Örneğini Ayarlama

UEK6, NVMe-TCP varsayılan olarak etkinleştirilmiş şekilde piyasaya sürüldü, ancak bir orijinal çekirdek ile denemek için aşağıdaki çekirdek yapılandırma parametreleriyle derlemeniz gerekecek:

  • CONFIG_NVME_TCP
  • CONFIG_NVME_TARGET_TCP = m

Hedef Oluşturma

$ sudo modprobe nvme_tcp
$ sudo modprobe nvmet
$ sudo modprobe nvmet-tcp
$ sudo mkdir /sys/kernel/config/nvmet/subsystems/nvmet-test
$ cd /sys/kernel/config/nvmet/subsystems/nvmet-test
$ echo 1 |sudo tee -a attr_allow_any_host > /dev/null
$ sudo mkdir namespaces/1
$ cd namespaces/1/
$ sudo echo -n /dev/nvme0n1 |sudo tee -a device_path > /dev/null
$ echo 1|sudo tee -a enable > /dev/null

Hedef ana bilgisayarda bir NVMe cihazına erişiminiz yoksa, bunun yerine bir boş blok cihaz kullanabilirsiniz.

$ sudo modprobe null_blk nr_devices=1
$ sudo ls /dev/nullb0
/dev/nullb0
$ echo -n /dev/nullb0 > device_path
$ echo 1 > enable
$ sudo mkdir /sys/kernel/config/nvmet/ports/1
$ cd /sys/kernel/config/nvmet/ports/1
$ echo 10.147.27.85 |sudo tee -a addr_traddr > /dev/null
$ echo tcp|sudo tee -a addr_trtype > /dev/null
$ echo 4420|sudo tee -a addr_trsvcid > /dev/null
$ echo ipv4|sudo tee -a addr_adrfam > /dev/null
$ sudo ln -s /sys/kernel/config/nvmet/subsystems/nvmet-test/ /sys/kernel/config/nvmet/ports/1/subsystems/nvmet-t

Şimdi dmesg’de yakalanan aşağıdaki mesajı görmelisiniz:

$ dmesg |grep "nvmet_tcp"
[24457.458325] nvmet_tcp: enabling port 1 (10.147.27.85:4420)

İstemciyi Ayarlama

$ sudo modprobe nvme
$ sudo modprobe nvme-tcp

$ sudo nvme discover -t tcp -a 10.147.27.85 -s 4420
Discovery Log Number of Records 1, Generation counter 3
=====Discovery Log Entry 0======
trtype: tcp
adrfam: ipv4
subtype: nvme subsystem
treq: not specified, sq flow control disable supported
portid: 1
trsvcid: 4420
subnqn: nvmet-test
traddr: 10.147.27.85
sectype: none
$ sudo nvme connect -t tcp -n nvmet-test -a 10.147.27.85 -s 4420

$ sudo nvme list
Node SN Model Namespace Usage Format FW Rev
------------- ------------------- --------------- --------- ----------- --------- -------
/dev/nvme0n1 610d2342db36e701 Linux 1 2.20 GB / 2.20 GB 512 B + 0 B

Artık TCP kullanılarak ağ üzerinden NVMe aracılığıyla dışa aktarılan bir uzak NVMe blok cihazınız var. Bundan sonra yerel olarak bağlı diğer yüksek performanslı blok aygıtlar gibi yazabilir ve ondan okuyabilirsiniz.

Verim

NVMe-RDMA ve NVMe-TCP’yi karşılaştırmak için, her biri Oracle Linux (OL8.2) ile UEK6 (v5.4.0-1944) çalıştıran Mellanox ConnectX-5 içeren bir çift Oracle X7-2 ana bilgisayar kullanıldı. RoCEv2 (RDMA) ile bir çift 40 Gb ConnectX-5 bağlantı noktası yapılandırıldı, performans testleri yapıldı, TCP kullanmak için yeniden yapılandırıldı ve performans testleri yeniden çalıştırıldı. Performans yardımcı programı FIO, saniye başına G/Ç (IOPS) ve gecikmeyi ölçmek için kullanıldı.

IOPS için test ederken, 32 kuyruk derinliğine sahip tek iş parçacıklı bir 8k okuma testi, RDMA’nın önemli ölçüde TCP’den daha iyi performans gösterdiğini ortaya koydu, ancak NVMe kuyruk modelinden daha iyi yararlanan ek iş parçacıkları eklendiğinde, TCP IOPS performansı arttı. İş parçacığı sayısı 32’ye ulaştığında, TCP IOPS performansı RDMA’nınkiyle eşleşiyor.

Gecikme, kuyruk derinliği 1 olan tek bir iş parçacığından 8k okuma kullanılarak ölçüldü. TCP gecikmesi RDMA’dan %30 daha yüksekti. Farkın çoğu, TCP’nin gerektirdiği tampon kopyalardan kaynaklanmakta.

Sonuç

Her ne kadar NVMe-TCP yenilikten muzdarip olsa da, TCP için aynı şey geçerli değil ve veri merkezindeki hakimiyetiyle, NVMe-TCP’nin veri merkezi SAN alanında baskın bir oyuncu olacağına şüphe yok. Bu yıl NVMe-TCP için iyileştirilmiş ethernet adaptörlerinden NVMe-TCP SAN ürünlerine kadar birçok üçüncü taraf NVMe-TCP ürününün piyasaya sürülmesini bekleyebiliriz.

Etiketler: NVMeNVMe over TCPTCPTCP üzerinden NVMe
PaylaşPaylaşTweetYollaPaylaş
Recep Baltaş

Recep Baltaş

Bilgisayarla tanışması 2000'li yıllara dayanan yazar, 2007'de CHIP ve LEVEL dergilerinin yanında CHIP Online için de makaleler yazdı ve 2010'da Türkiye'nin en çok satan teknoloji dergisi CHIP'in Donanım Editörü oldu. Bu süre zarfında 1000'den fazla ürün incelemesi yapan Recep Baltaş, 2011 sonunda bu görevinden ayrılıp ASUS Türkiye'de Pazarlama Uzmanı olarak çalışmaya başladı. Tam bir Technopat olan Baltaş'ın son durağı ise Technopat.net.

Yorum Yap Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

RSS Technopat Sosyal

  • Lenovo LOQ RTX 5050 laptop şarjı %99'u geçmiyor
  • 16.000 TL'ye TV önerisi
  • R7 7800x3D RX 9070 XT sistem için yükseltme önerisi
  • RDR 2 Social Club açılmıyor
  • Kasada güç olmasına rağmen görüntü gelmiyor ve diğer aksanlar çalışmıyor
  • 1200 TL'ye kablosuz ve numpadsiz membran klavye önerisi
  • iPhone 13 telefona iOS 26 yüklesikten sonra pil hızlı azalıyor
  • MSI NB Vector 18 HX AI RTX 5080 alınır mı?
  • Yeni alınan Ryzen 7 7800X3D yan sanayi olabilir mi?
  • LGS matematiği için kitap önerisi

Technopat Video

Şu an oynayan

Laptop işlemcili kasa olur mu? ASUS TUF Gaming T500MV (2025) inceleme

ASUS TUF Gaming T500MV

Laptop işlemcili kasa olur mu? ASUS TUF Gaming T500MV (2025) inceleme

Haber
iOS 26.1 hangi yenilikleri getirdi?

iOS 26.1 hangi yenilikleri getirdi?

Haber
Kriz kapıda! RAM ve SSD fiyatlarına büyük zam

Kriz kapıda! RAM ve SSD fiyatlarına büyük zam

Haber

Teknoloji tutkunu Technopatların ortak adresi: Technopat.net!

Güncel teknoloji, internet, donanım, yazılım, oyun ve daha fazlası haber, makale ve videolar ile Technopat’ta sizlerle.


01010100 01100101 01100011 01101000 01101110 01101111 01110000 01100001 01110100

Kategoriler

  • Yapay Zeka
  • Ev Teknolojileri
  • Makale
  • Video

Sosyal Medya

Bağlantılar

  • Hakkında
  • Haber
  • Video
  • Sosyal
  • Çerez Politikası
© 2011-2025 Technopat. Tüm Hakları Saklıdır.
Netse
Çerez Onayı
Web sitemizi ziyaret ettiğinizde, kullanıcı deneyiminizi daha iyi hale getirmek, hizmetlerimizi size daha etkin bir şekilde sunabilmek için çerezler (cookies) ve benzeri araçlar kullanıyoruz. Çerezler, internet sitesinin düzgün çalışmasını sağlamak, içeriği kişiselleştirmek, sosyal medya özellikleri sağlamak ve trafik analizi yapmak için kullanılan küçük metin dosyalarıdır. Çerezleri nasıl kullandığımız ve kişisel verilerinizi nasıl işlediğimiz hakkında daha fazla bilgi almak için çerez politikamızı ve kişisel veri politikamızı inceleyebilirsiniz.
Fonksiyonel Her zaman aktif
Teknik depolama veya erişim, sadece kullanıcının açıkça talep ettiği belirli bir hizmetin kullanılmasını sağlama amacıyla veya iletişimin elektronik iletişim ağı üzerinden iletilmesinin tek amacıyla yasal olarak kesinlikle gereklidir.
Tercihler
Teknik depolama veya erişim, abone veya kullanıcı tarafından istenmeyen tercihlerin depolanması yasal amacıyla gereklidir.
İstatistikler
Sadece istatistiksel amaçlarla kullanılan teknik depolama veya erişim. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Pazarlama
Teknik depolama veya erişim, reklam gönderimi için kullanıcı profilleri oluşturmak veya kullanıcıyı bir web sitesinde veya birden fazla web sitesinde benzer pazarlama amaçları için takip etmek amacıyla gereklidir.
  • Seçenekleri yönet
  • Hizmetleri yönetin
  • {vendor_count} satıcılarını yönetin
  • Bu amaçlar hakkında daha fazla bilgi edinin
Tercihleri yönet
  • {title}
  • {title}
  • {title}
Sonuç bulunamadı
Bütün Sonuçları Göster
  • Giriş
  • Teknoloji Haberleri
  • Sosyal
  • Nasıl Yapılır
  • Yapay Zeka
  • Video
  • Tavsiyeler
  • İncelemeler
    • Video İncelemeler
  • Güvenlik
  • Oyun
  • Makale
    • Pratik
    • Yazar Köşeleri

© 2025 Technopat
Sorularınız için Technopat Sosyal