스토리지 서버는 현재 40G 듀얼로 연결된 상태인데, 각 포트가 20G에 바운드되고 있습니다.
아리송하네요.
+ R/W를 50:50으로 잡아도 똑같이 6.8GB/s 정도에서 바운드되네요 네트워크 병목은 아닌 것 같습니다.
+ Block Size를 키우니 거의 기대값과 비슷한 성능이 나와 주네요.
VROC의 오버헤드가 생각보다 크거나, iSER Target의 커널 오버헤드가 상당한 것 같습니다. 좀 더 파봐야겠어요
(6/22 추가)
Linux-IO Target 사용 시 이슈가 있어, StarWind VSAN iSER Target으로 변경했습니다. 테스트 결과는 추후 업데이트 예정입니다.
Çö ½ÃÁ¡¿¡¼ °¡Àå ÀǽɵǴ ºÎºÐÀº VROC º¼·ýÀÇ Stripe SizeÀÔ´Ï´Ù. 64KiB·Î ¸ÂÃç³ù°Åµç¿ä.
¿©´ãÀ¸·Î vSphere 7.0 U2ºÎÅÍ vMotionÀ» ¼öÇàÇÒ ¶§ VMkernel NICÀÇ ´ë¿ªÆø¿¡ ¸ÂÃç ¿©·¯ °³ÀÇ Ã¤³ÎÀ» »ý¼ºÇϵµ·Ï ·ÎÁ÷ÀÌ º¯°æµÇ¾ú½À´Ï´Ù.
ÀÌÁ¦´Â vMotion ¼º´ÉÀ» ²ø¾î¿Ã¸®±â À§ÇØ ´ÙÁß VMKNICÀ» ÇÒ´çÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù ¤¾¤¾
±×·¯¸é¼ Àç¹ß°ß(?) µÇ±âµµ Çϱ¸¿ä. ¿©·¯¸ð·Î ½Å¼±ÇÕ´Ï´Ù.
¿ÀÈ÷·Á PCIe slot ´ë¿ªÆøÀÌ º´¸ñÀ¸·Î ÀÛ¿ëÇÏ´Â °æ¿ì°¡ ´Ù¹Ý»çÀÔ´Ï´Ù.
* ƯÈ÷ µà¾ó Æ÷Æ® ±¸¼º ½Ã¿¡´Â ´õ¿í ±×·¸½À´Ï´Ù.
»ç½Ç RDMA°¡ PHY LaneÀÇ ¿µÇâÀ» ÇÇÇØ°¥ ¼ö ÀÖ´Â ÀÌÀ¯´Â ¿©ÀüÈ÷ ¸ð¸£°Ú½À´Ï´Ù. Ȥ½Ã °ü·Ã ¹®¼³ª ·¹ÆÛ·±½º°¡ ÀÖÀ»±î¿ä?
OS or HypervisorÀÇ °æ¿ì Kernel Bypass ·Î Ç¥ÇöµÇ±âµµ ÇÕ´Ï´Ù¸¸,
±Ùº»ÀûÀ¸·Î iSERÀÇ °æ¿ì Connection ½Ã¿¡¸¸ TCP/IP¸¦ ÀÌ¿ëÇÏ°í ½ÇÁ¦ µ¥ÀÌÅÍ Àü¼Û ½Ã IB¿Í µ¿ÀÏÇÏ°Ô RDMA Read/Write ¹æ½ÄÀ» ÀÌ¿ëÇϱ⿡ PHY Lane °¹¼ö¿¡ µû¸¥ Á¦¾à°ú »ó°ü¾øÀÌ Àüü Çϵå¿þ¾îÀÇ ÃÖ´ë ¼Óµµ·Î µ¿ÀÛÇÕ´Ï´Ù.
Ethernet Áø¿µÀÇ ÀÔÀå¿¡¼´Â ½Å¼º¸ðµ¶¿¡ °¡±î¿î µ¿ÀÛ¹æ½ÄÀ̶ó°í ÇØ¿Ü¿¡¼´Â Æò°¡ÇÏ°í ÀÖ½À´Ï´Ù...^^
Çϱ⠸µÅ©ÀÇ ±×¸²À» º¸½Ã¸é ÀÌÇØ°¡ µÇ½Ç µí Çؼ ¸µÅ©¸¦ ³²°Üµå¸³´Ï´Ù.
https://www.roceinitiative.org/roce-introduction/
Àúµµ °ü½ÀÀûÀ¸·Î TCP ¿¬°á¿¡ ´ëÇؼ´Â ¸¶Ä¡ LACP¿Í °°´Ù°í º¸°í ´ÙÁß ¼¼¼ÇÀ» ¸¸µé¾îÁÖ°í ÀÖÀ¸³ª, »ç½Ç ¸ÖƼ ·¹ÀÎ ±¸ÇöÀÌ LACP¿Í µ¿ÀÏÇÑ °ÍÀº ¾Æ´Ï´Ï.. ÀßÀº ¸ð¸£Áö¸¸ MAC Hash ±â¹ÝÀÇ LB´Â ¾Æ´Ï°ÚÁÒ.
Á¦°¡ PHY LaneÀÇ ±¸ÇöÀ» ¸ô¶ó¼ ÀÌ·± Àǹ®À» °¡Áö°Ô µÇ´Â °ÉÁöµµ ¸ð¸£°Ú½À´Ï´Ù. Ä£ÀýÇÑ ´äº¯ °¨»çµå¸³´Ï´Ù.
Áï ÄÉÀÌºí¿¡ 4 Lane ±¸¼ºÀÌ µÇ¾îÀ־ ½ÇÁ¦·Î ÀÌ¿ëÇÏ´Â LaneÀº 1°³ÀÔ´Ï´Ù.
±×·¸±â ¶§¹®¿¡
01. TCP/IPÀÇ °æ¿ì PHY Lane 1°³¸¸ ÀÌ¿ëÇÏ°í
02.RDMAÀÇ °æ¿ì OSI 7 Layer Áß ¸î°³¸¦ °Ç³Ê ¶Ú »óÀ§ ·¹º§¿¡¼ Àü¼Û¸¸À» Áö½ÃÇÏ¸é ¹Ù·Î ¸ñÀûÁö »óÀ§ ·¹º§¿¡¼ ÀνÄÇÏ°í ÀÛµ¿ÇÕ´Ï´Ù.
±×·± ÀÌÀ¯·Î ¹°¸®ÀûÀÎ ¸ðµç ¿¬°á(link)¸¦ ÀÌ¿ëÇÕ´Ï´Ù.
ÀÌ·± ÀÌÀ¯ ¶§¹®¿¡ vSphere 7.0.x¿¡¼ Ãß°¡µÈ NVMeOF over TCP/IP¸¦ ÀÌ¿ëÇϽô °æ¿ì ¿ÀÈ÷·Á 40GbE º¸´Ù 25GbE¸¦ ´õ ±ÇÀåÇϱ⵵ ÇÕ´Ï´Ù.
µµ¿òÀÌ µÇ½Ã±æ ±â¿øµå¸®¸ç À̸¸ ÁÙÀÌ°Ú½À´Ï´Ù.
±Ã±ÝÇÑ °Ç ¿Ö iSER¸¦ »ç¿ëÇßÀ»±î ÀÔ´Ï´Ù. 3¹ø Á¤µµ ÀÐ¾î ºÃ´Âµ¥ ¿©ÀüÈ÷ ÀÌÇظ¦ ÇÏÁö ¸øÇß½À´Ï´Ù.
iSER´Â ¾Æ½Ã´Â°Íó·³ iSCSI over RDMAÀÔ´Ï´Ù.
iSCSI ProtocolÀ» º¸¸é Control°ú Data 2°¡Áö·Î ³ª´©¾î Áý´Ï´Ù.
±×·±µ¥ iSCSI¿¡¼´Â ControlÀº TCP·Î Àü´ÞÀ» ÇÏ°í DATA¸¸ RMDA·Î Åë½ÅÀ» ÇÕ´Ï´Ù.
ControlÀº IPoIB¸¦ »ç¿ëÇÒ °Ì´Ï´Ù (¿¹Àü¿¡´Â ±×·¨½À´Ï´Ù. ¾Æ¸¶ Áö±Ýµµ ±×·²°Ì´Ï´Ù)
DDR/QDR ¹× Àû´çÇÑ ¼öÁØÀÇ DISK¸¦ »ç¿ëÇÏ´Â Target¿¡¼´Â IPoIBÀÇ ¿À¹öÇìµå°¡ Å©Áö¾ÊÁö¸¸
NVMe/EDR ¼öÁØ¿¡¼´Â ¿µÇâÀ» ¹ÌÄ¥°Ì´Ï´Ù. (µ¥ÀÌÅÍ´Â ¾ø½À´Ï´Ù)
±×³É NVME over RDMA·Î ¼³Á¤Çغ¸½Ã¸é ¾î¶³±î ÇÕ´Ï´Ù.
TargetÀº SPDK ÃßõÇÕ´Ï´Ù.
SPDK »ç¿ëµµ °í·ÁÇßÀ¸³ª, Sample NVMe-oF Ÿ°ÙÀº ¾ÈÁ¤¼ºÀÌ »ó´çÈ÷ ¶³¾îÁ®¼.. Â÷¼±Ã¥À¸·Î ¼±ÅÃÇÑ °ÍÀÌ iSER ÀÔ´Ï´Ù.
SPDK Target ¾ÈÁ¤¼º ³ª»ÚÁö ¾Ê½À´Ï´Ù. °³ÀÎÀûÀÎ °æÇèÀ¸·Î´Â iSER º¸´Ù ¶³¾îÁöÁö ¾Ê°í ´õ »¡¸® ÁÁ¾ÆÁö´Â°Í °°½À´Ï´Ù.
iSER ÀåÁ¡Àº ±¸Á¶»ó ½Ã½ºÅÛ »ç¾ç¿¡ »ó°ü¾øÀÌ ÁÁÀº ¼º´ÉÀÌ ³ªÁö¸¸
SPDK´Â ½Ã½ºÅÛ »ç¾ç¿¡ ºñ·ÊÇؼ ÁÁÀº ¼º´É Â÷ÀÌ°¡ ¹ß»ýÇÏÁÒ
´ÔÀÌ º¸À¯ÇϽŠÀåºñ »ç¾çÀÌ ¶³¾îÁöÁö ¾Ê´Â°Í °°Àºµ¥ ±×·¸´Ù¸é SPDK°¡ ³ª»Û ¼±ÅÃÁö´Â ¾Æ´Ò°Ì´Ï´Ù.
¹°·Ð ESX ±â¹ÝÀÌ¸é ¹¹...
SPDK »ç¿ëÀ» Çѹø °í·ÁÇϺÁ¾ß°Ú³×¿ä.
TargetÀº ½ºÅ丮Áö ¼¹ö°í, initiator´Â ESXi È£½ºÆ®ÀÔ´Ï´Ù
https://koutoupis.com/2022/04/22/vmware-lightbits-labs-and-nvme-over-tcp/
ÀÌ°Ô ¾ÊµÇ³ª¿ä?
https://www.youtube.com/watch?v=-ymECwnWabQ
Initiator (EXSi)°¡ target¿¡ µû¶ó¼ Path°¡ È°¼ºÈµÇ°í ¾ÈµÇ°í ÇÏ´Â°Ô Àß ÀÌÇØ°¡ °¡Áú ¾Ê³×¿ä. ³ª¸§ Ç¥ÁØÀε¥...
ÀúÈñ°¡ SPDK »Ó¸¸ ¾Æ´Ï¶ó 3°¡Áö Target (Á¦Ç°) »ç¿ëÇϴµ¥ ¸ðµÎ ¹®Á¦ ¾øÀÌ »ç¿ëÇÏ°í Àְŵç¿ä
Linux Kernel nvme-of-rmda target¿¡ ¹ö±×·Î º¸À̴µ¥ ã¾ÆºÁ¾ß °Ú½À´Ï´Ù. Å« ¹ö±Ù ¾Æ´ÒÅÙµ¥¿ä . initiator ÂÊÀÌ¸é ¹¹ ¹æ¹ý¾ø°ÔÁö¸¸¿ä
Áñ°Å¿î ÁÖ¸» µÇ°Ú³×¿ä
ESXi´Â VAAI¿¡¼ Ÿ°Ù º¼·ý¿¡ ´ëÇÑ fine-grained lockÀ» ¾ò±â À§ÇÑ ¼ö´ÜÀ¸·Î COMPARE AND WRITE Ä¿¸Çµå¸¦ ÀÌ¿ëÇϴµ¥, ESXi NVMe-oF Initiator¿¡¼´Â ÀÌ°É fused command request·Î Àü¼ÛÇÕ´Ï´Ù. ±×¸®°í Ÿ°ÙÀÌ ÀÌ ±â´ÉÀ» Áö¿øÇÏÁö ¾ÊÀ¸´Ï Á¤»óÀûÀÎ ¿¬°á·Î º¸Áö ¾Ê´Â °ÍÀÌÁÒ.
ÀÏ´Ü NVMe Ç¥ÁØ¿¡ ÀÖ´Â ±â´ÉÀÌ´Ï, Ÿ°ÙÀÌ Áö¿øÇÏ´Â °ÍÀÌ °¡Àå ±ò²ûÇÏÁö¸¸ Àû¾îµµ Kernel NVMe-oF ¸ðµâÀº ´çºÐ°£ Áö¿øµÉ °Í °°Áö ¾Ê½À´Ï´Ù. °ü·Ã ÆÐÄ¡°¡ ÄÚµå Æнº°¡ ³Ê¹« ÁöÀúºÐÇÏ´Ù´Â ÀÌÀ¯·Î ¸®Á§µÇ¾ú°Åµç¿ä. Çϱ⠸µÅ©°¡ µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù.
https://lore.kernel.org/linux-nvme/20210105224939.1336-2-clay.mayers@kioxia.com/T/
P.S. Ȥ½Ã Ȩ·¦¿¡ »ç¿ëÇÒ ¼ö ÀÖÀ» Á¤µµÀÇ °¡°ÝÀ» °¡Áø »ó¿ë NVMe-oF TargetÀÌ ÀÖ´Ù¸é ±Í¶ê ºÎŹµå¸®°Ú½À´Ï´Ù. ÇÏÇÏ..
¿¹Àü¿¡´Â DEV KIT¶ó°í Àú·ÅÇÏ°Ô ÆǸÅÇß¾ú´Âµ¥ ¿äÁò¿¡µµ DEV KITÀÌ ÀÖ´ÂÁö ¸ð¸£°Ú½À´Ï´Ù. DEV KIT ÆÈ¸é ±×¼ »ç½Ã¸é Á¦ÀÏ ±ò²ûÇÕ´Ï´Ù
±×·±µ¥ OFED¿¡ ¾ø³ª¿ä? ÀÖÀ»²¨ °°Àºµ¥....
BMT µ¥ÀÌÅÍ´Â Àá½Ã ÈÄ ¾÷·Îµå ÇÏ°Ú½À´Ï´Ù.