안녕하세요 이준용입니다. 연구실에서 NAS를 새로 셋팅하던 중,
TrueNAS SCALE에서 NVMe 기반 NFS 속도가 너무 느립니다 (300MB/s 이하)
현재 TrueNAS SCALE을 이용하여 NAS를 구축하고 있는데, 로컬 디스크 성능에 비해 NFS를 통한 네트워크 성능이 너무 낮게 나와 조언을 구하고자 합니다.
CPU: Intel Xeon Silver 4210R
RAM: 128GB ECC DDR4
스토리지: 4TB NVMe 4개 TLC
TrueNAS SCALE 버전: 24.04 (Dragonfish)
ZFS 풀 구성: STRIPE 풀로 FAST/cache dataset
네트워크: 10GbE (Intel X710), 클라이언트도 10G 구성 (iperf3 기준 9.5Gbps 이상 정상)
문제상황: 로컬 fio 테스트에서는 800MB/s 속도를 보이지만,
하지만 같은 파일을 NFS 공유를 통해 클라이언트에서fio
로 테스트하면 300MB/s 수준으로 매우 느립니다.실 사용시에는 NAS에 있는 데이터셋을 10Gbe 내부망으로 읽어오기를 하려 하는데, 50MB/s 수준의 속도를 보입니다.
vers=4.1,nconnect=8,rsize=1048576,wsize=1048576,proto=tcp 이런 옵션을 사용중이고,
TrueNAS에서는 따로 셋팅한 것은 없습니다. 추가적으로 확인해 봐야할 설정은 바로 확인 가능 합니다.
위와 같은 설정에도 불구하고 NFS 속도가 300MB/s를 넘지 못하는 원인이 무엇일 수 있을까요?
혹시 추가로 점검하거나 최적화해야 할 설정이 있다면 조언 부탁드립니다.
쪽팔리면 질문하지 맙시다. 소중한 답변 댓글을 삭제하는건 부끄러운 일 입니다
´ÙÀ½ ´Ù¸¥ ÇÁ·ÎÅäÄݷεµ ÇØº¸¼¼¿ä
¿©±â±îÁö ÇØ¾ß NFS¸¸ÀÇ ¹®Á¦ÀÎÁö, ´Ù¸¥ ¹®Á¦ÀÎÁö ¾Ë ¼ö ÀÖ½À´Ï´Ù
Nvme ÀÓÀ» °í·ÁÇßÀ»¶§, ³Ê¹« ³·Àº ¼º´ÉÀε¥, ¼³Á¤À» ´õ ÃÖÀûÈ ÇÒ °ÍÀÌ ÀÖ³ª ã¾Æº¸°í Àִµ¥, ¾ø¾î¼ °í¹ÎÁßÀÔ´Ï´Ù.
SMB³ª FTP°°Àº°É·Î ÇßÀ»¶§ ¾ó¸¶ ³ª¿À³ª¿ä?
ÀÏ´Ü ·ÎÄÿ¡¼ READÇßÀ» ¶§, ¼Óµµ°¡ ³Ê¹« ¾È³ª¿Í¼ À̰ͺÎÅÍ ÇØ°áÇØ ºÁ¾ß ÇÒ °Í °°½À´Ï´Ù.
sFTB·Î ÇßÀ»¶§, 300Mbps Á¤µµ ³ª¿À´Â °Í °°½À´Ï´Ù.
´ë»óÆÄÀϵéÀÌ ÀÛÀºÆÄÀÏÀÌ¸é¼ ÀÓÀÇÁ¢±ÙÇü½ÄÀÇ ÆÄÀϵéÀÌ ¾Æ´Ò±î ½Í³×¿ä.
¹°¸®ÀûÀÎ º£À̽º¿¡¼ º¼°Ç ÄÉÀ̺íÀÌ ÀûÀýÇѰ¡ ºÎÅÍ MTU °ª ¼öÁ¤À» °í·ÁÇØ º¼¸¸ ÇÕ´Ï´Ù.
¼¹ö»çÀ̵忡¼´Â truenas¸¦ ¸ô¶ó¼ ¹¹¶ó ¸»Çϱ⠱׷¸³×¿ä.
°á°ú³ª¿À½Ã¸é ¾÷µ¥ÀÌÆ® ºÎŹ µå¸³´Ï´Ù. ±Ã±ÝÇϳ׿ä.
±×³É »ó¿ëÁ¦Ç° »ì²¬ ÇÏ¸é¼ ÈÄȸ ÁßÀÔ´Ï´Ù.
(°í·Î.... µå¶ó¸¶Æ½ ÇÏÁö´Â ¾ÊÀ»°Å¶ó »ý°¢µÇ³×¿ä)
±¸°£ÀÌ º¹ÀâÇÑ(ex ¿©·¯ ½ºÀ§Ä¡¸¦ Ŀġ´Â) °æ¿ì¿¡´Â µ¥ÀÌÅÍ ¼ÂÀÇ µå¶øÀ¸·Î ÀçÀü¼ÛÀÌ ¹ß»ýÇÒ¼ö ÀÖ½À´Ï´Ù.
(¿¹»óÇϱâ·Î) ´ÜÀϽºÀ§Ä¡ ¾Æ·¡¼ ±¸¼ºÇϽǰɷΠº¸À̴µ¥ NFS ¼¹ö, ½ºÀ§Ä¡,Ŭ¶óÀÌ¾ðÆ®´Ü¿¡ Àû¿ëÇÏ½Ã¸é µË´Ï´Ù.
±âº»°ªÀº 128K »çÀÌÁîÀε¥ Ȥ½Ã ´õ Àû°Ô ÀâÀº°Å ¾Æ´ÏÁÒ? º¸ÅëÀº ´õ Å©°Ô Àâ¾Æ¾ß µÇ´Âµ¥...
ÇöÀç ±¸¼ºÁßÀÎ ½ºÅ丮Áö´Â À§¿Í °°°í
Ãß°¡ÀûÀ¸·Î SSD ¹®Á¦Àΰ¡ ½Í¾î
980 Pro 2TB µµ µÎÀå ÀÖ¾î °°Àº ±¸¼ºÀ¸·Î Stripe ¼³Á¤À» ÇØ ºÁµµ
¼Óµµ°¡ µ¿ÀÏÇÕ´Ï´Ù.
M.2¸¦ ¿©·¯°³ Àü¿ë ¾Æ´äÅÍ¿¡ ²Å¾Æ¼ ¿¬°áÇϼ̱º¿ä..
Ȥ½Ã³ªÁö¸¸ °¡´ÉÇϽøé NVME Ä«µå¿Í ·£Ä«µå´Â CPU 0 (ù¹øÂ° CPU)¿¡ ¿¬°áµÇ´Â PCIe ½½·Ô¿¡ ²Å¾Æ¼ Å×½ºÆ® ÇØº¸¼¼¿ä..
SMB º¸´Ù NFS ¼Óµµ ³Ê¹«´À¸®´Ù´Â ±¸±Û ±ÛµéÀÌ ¸¹ÀÌ º¸À̳׿ä.
¿¹Àü¿¡ º¨¿þ¾î¿¡ NFS·Î ºÙ¿©ºÃ´Âµ¥ ¼Óµµ ³Ê¹« ¾È³ª¿Í¼ Ä¡¿ö¹ö·È´ø »ý°¢ÀÌ ³ª³×¿ä.
¹¹ NFS ¼Óµµ ÇØ°á¹æ¹ý¿¡´Â ±Ç°íÇÏÁö ¾Ê´Âµ¥ º°µµÀÇ µ¥ÀÌÅͼ ¸¸µé°í SYNC¸¦ ºñȰ¼º Ç϶ó´Â ±ÛÀÌ º¸ÀÔ´Ï´Ù.
¾ÆÁÖ ¿À·¡µÇ°í ±ä ¿ÀÇØ°¡ ÀÖ¾ú°í, ixsystemsÀÇ °³¹ßÀÚµéÀÌ ÀÌ ¹®Á¦¿¡ ´ëÇØ ¼³¸íÇÑ ¿À·¡µÈ ±ÛÀÌ ÀÖ½À´Ï´Ù.
https://www.truenas.com/community/threads/some-insights-into-slog-zil-with-zfs-on-freenas.13633/
¾Æ ±×·±µ¥, Á¦°¡ Àá±ñ Âø°¢Çß¾ú³×¿ä. SMB°¡ ±âº»ÀûÀ¸·Î ºñµ¿±âÀ̰í, NFS°¡ ±âº»ÀûÀ¸·Î µ¿±âÀ̱⠶§¹®¿¡ ¹ß»ýÇÏ´Â ¹®Á¦·Î º¸ÀÔ´Ï´Ù.
Àúµµ Ȥ½Ã³ª TrueNAS¸¦ ESXi¿¡¼ NFS µ¥ÀÌÅͽºÅä¾î·Î »ç¿ëÇÒ °¡´É¼ºÀ» ¿°µÎ¿¡ µÎ°í SLOG¿ë NVRAMÀ» Ãß°¡·Î ÀåÂøÇß½À´Ï´Ù.
Local I/O°¡ ´À¸° ¿øÀÎÀÇ »ó´ç ºÎºÐÀº ÇöÀç ZFSÀÇ ÄÚµå ÆÐ½º°¡ NVMe¿¡ ÃÖÀûȵÇÁö ¾ÊÀº °Í¿¡ ±âÀÎÇÒ °ÍÀ¸·Î º¸ÀÔ´Ï´Ù. ZFS´Â NVMe µð½ºÅ©¿Í ÇÔ²² ¾²±â¿¡´Â ÁÁÀº ÆÄÀϽýºÅÛÀÌ ¾Æ´Õ´Ï´Ù.
NVME ½ºÅ丮Áö¿¡ 10G, NFSv3 »ç¿ëÁßÀÔ´Ï´Ù.
Àúµµ ±Ã±ÝÇØ¼ fio·Î Å×½ºÆ® ÇØº¸´Ï 200MB/s Á¤µµ ³ª¿À³×¿ä..(1°³ ÇÁ·Î¼¼½º, bs=100M)
1°³ ÇÁ·Î¼¼½º·Î¸¸ µ¿ÀÛÇØ¼ ±×·±Áöµµ ¸ð¸£°Ú½À´Ï´Ù.
±×¸®°í fio ¿É¼Ç¿¡ µû¶ó¼ Â÷À̰¡ ¸¹ÀÌ ³ª³×¿ä..
block size°¡ 4k¸é random 4kÀÌ´Ï ´ç¿¬È÷ ´À¸°µ¥,
8°³ ÇÁ·Î¼¼¼, bs=100M, ¼øÂ÷ read ȤÀº write ÇÏ´Ï ´ë¿ªÆø¿¡ ±ÙÁ¢ÇÑ ¼Óµµ°¡ ³ª¿À³×¿ä.
8°³ ÇÁ·Î¼¼¼, bs=100M, randrw·Î Çϸé read, write µ¿½Ã¿¡ 300~400MB/s ³ª¿É´Ï´Ù.
¿É¼Ç¿¡ µû¶ó¼ Àú·¸°Ô ³ª¿À´Â°Ô ¸Â´Â°Å °°½À´Ï´Ù.
NASÀÇ ÀÚ¼¼ÇÑ ½ºÆÑÀº ¸»¾¸ ¸øµå·Á¼ Á˼ÛÇÕ´Ï´Ù.
[test]
filename=testfile
numjobs=8
rw=randrw
bs=100M
size=30G
ioengine=libaio
iodepth=32
runtime=30
time_based
group_reporting
´Ù¸¥ ÀÛ¾÷µéÀÌ µ¹¾Æ°¡´Â Áß¿¡ Å×½ºÆ® ÇÏ´Â °Å¶ó Á¤È®ÇÏÁø ¾Ê½À´Ï´Ù.
´«Ä¡ º¸¿©¼ ¶Ç Å×½ºÆ® Çϱä Á» ±×·¸³×¿ë ¤¾¤¾¤¾
¶ÇÇÑ, µð¹ÙÀ̽ºÀÇ ¼º´ÉÀ» Æò°¡Çϱâ À§ÇØ O_DIRECT·Î ¼öÇàÇÑ Å×½ºÆ® °á°ú¸¦ ÇÔ²² ÷ºÎÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
º¥´õ NAS¸¦ »ê°Å°í OSµµ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
»çÁ¤»ó ¸»¾¸À» ¸øµå¸®³×¿ä ¤Ð¤Ð¤Ð
»ç¶ûÇÕ´Ï´Ù ¼±»ý´Ô ¤»¤»¤»¤»
°Ô½ÃÆÇ¿¡¼ Àß º¸°í ÀÖ½À´Ï´Ù!
¿äÁò ¹Ùºü¼ ´ñ±Û´Þ ½Ã°£ÀÌ ¾ø´Âµ¥..¿¬±¸ÇϽôºв²¼ ½ºÅ丮Áö ¶§¹®¿¡
°í»ýÇÏ½Ã´Â°Í °°¾Æ¼ Àá±ñ ÀǰßÀ» µå¸®¸é
TrueNAS Scale 25.04 ¹öÀüÀ» Àúµµ ¾²°í´Â Àִµ¥ 10G¿¡¼ °ÅÀÇ Ç®¼º´É ³ª¿É´Ï´Ù.
NFS Asyncµç syncµç zfs ¾ÐÃà¿É¼Ç lz4 on/offµç
Å×½ºÆ®Çغ¸´Ï Å©°Ô ¼º´É º¯È°¡ ¾ø³×¿ä. ZFS ·¹ÄÚµå Å©±â : 128k ÀÔ´Ï´Ù.
¿¹Àü¿¡ ¾ÐÃà¿É¼ÇÀ» ²ô°í/¾È²ô°í¿¡¼ ¼º´ÉÂ÷À̰¡ Á¦¹ý ÀÖ¾ú´ø°Í °°Àºµ¥
Áö±Ý ´Ù½Ã ÇØº¸´Ï Å©°Ô Â÷ÀÌ´Â ¾ø³×¿ä.
fio blocksize 4K RandoRead »©°í´Â Ç®¼º´ÉÂï±äÇϳ׿ä. 512k block size¿¡¼´Â 1,000MB/s ³Ñ¾î°¡±äÇÕ´Ï´Ù.
nfs export ¿É¼ÇÀº sync/async ¿©ºÎ´Â nas Å͹̳ο¡¼ ¾Æ·¡¸í·É¾î Ä¡½Ã¸é ³ª¿É´Ï´Ù.
# exportfs -vv
Àú´Â AMD Epyc u.2 nvme Àü¿ë Àåºñ¶ó¼ Å©°Ô HWÀ̽´´Â ¾ø´Âµ¥
¿Ã¸®½Å ³»¿ëº¸´Ï
ASUS Hyper M.2 Ä«µå·Î ¿¬°áÇØ¼ »ç¿ëÇϽôºκÐÀÌ º´¸ñÀÇ ¿øÀÎÀÎ°Í °°½À´Ï´Ù.
·ÎÄüº´ÉÀÌ 800MB/s ¼öÁØÀÌ¸é ¹®Á¦°¡ À־À̳׿ä.
nfs export °É¸é ¼º´ÉÀÌ ¹Ý¶òÀÌÇÏ·Î ¶³¾îÁö±â´Â ÇÕ´Ï´Ù.
°ÅÄ¡´Â ·¹À̾ ¸¹¾Æ¼ ³×Æ®¿öÅ© i/o ¼Óµµ´Â ¾î¿¼ö ¾ø½À´Ï´Ù.
·ÎÄüº´ÉÀÌ ¸øÇصµ ÃÖ¼Ò 1600MB/s ÀÌ»óÀº ³ª¿Í¾ß 10g Ç®¼º´ÉÀº ³ª¿Ã°Ì´Ï´Ù.
¸ÞÀκ¸µå¸¦ ¾î¶²°É »ç¿ëÇϽôÂÁö ¸ð¸£°ÚÁö¸¸, ¸ÞÀκ¸µå ºí·°´ÙÀ̾î±×·¥
º¸½Ã°í cpuÂÊ¿¡ ±ÙÁ¢ÇÑ pci ½½·Ô¿¡ ²ÈÀ¸½Ã°Å³ª
ASUS Hyper M.2¿¡ SSD 4°³¸¦ ÀåÂøÇßÀ»¶§ º´¸ñÀÌ hw´Ü¿¡¼ °É¸®´Â ¹®Á¦ÀÎÁö Ã¼Å©ÇØº¸½Ã´Â°Ô ÁÁÀ»°Í °°³×¿ä.
ÀÌ·±±¸Á¶·Î ½ºÅ丮Áö¿¡¼´Â Àß ¾²Áö´Â ¾Ê´Â ÇüÅÂÀÔ´Ï´Ù.
Àü¿ë U.2 NVME Àåºñ¸¦ »ç¿ëÇϽðųª ÀûÀýÇÑ M.2 SSD¸¦ ´Ù¸¥ pci ½½·ÔÀ¸·Î ºÐ»ê¹èÄ¡ÇØ¼
·ÎÄà ¼º´ÉÀ» ÃÖ´ëÇÑ ²ø¾î¿Ã¸®´Â°Ô °¡´ÉÇÑÁö ¸ÕÀú ½ÃµµÇØ º¸½Ã´Â°Ô ÁÁÀ»°Í °°½À´Ï´Ù.
HW Á¶ÇÕÀÇ ¹®Á¦¶ó¸é ÇØ°á¹æ¹ýÀÌ ¸¶¶¥Ä¡´Â ¾Ê¾Æ º¸À̳׿ä.
~~~
Hyper M.2 Ä«µå ¼³Ä¡ À§Ä¡ º¯°æ
°¡´ÉÇÑ ÇÑ CPU Á÷°á ½½·Ô¿¡ ¼³Ä¡
ÀϺΠ½½·ÔÀº PCH(Platform Controller Hub) °æÀ¯·Î ¿¬°áµÇ¾î ¼º´ÉÀÌ ´ëÆø Á¦ÇѵÊ
¸ðµÎ°¡ µ¿ÀÏÇÑ ¸µÅ©¸¦ °øÀ¯ÇÏ°Ô µÇ¾î ¼Óµµ°¡ ¸Å¿ì ³·¾ÆÁü
~~~