[Xen] ZFS iSCSI ¿¬µ¿½Ã Disk I/OÀÇ ¼º´ÉÀÌ ³·Àº À̽´

cyberG   
   Á¶È¸ 9260   Ãßõ 0    

XCP-ng에서 Storage는 iSCSI를 연동한 ZFS Repository를 사용하고자 합니다. 


이를 위해서 FreeNAS로 ZFS를 구성하였고, XCP-ng와 FreeNAS 서버간 iSCSI 연결을 통하여 XCP-ng에 Block 기반 스토리지를 구성하고, 여기에 CentOS 7.6 VM을 생성하여 DD 테스트를 수행하였습니다.

이 경우, Disk Write만을 단순 테스트하였고, XCP-ng에 배포된 VM (CentOS 7.6)에서의 Disk I/O가 FreeNAS 서버에서 직접 수행한 Disk I/O와 비교하여 현저하게 낮게 나오고 있습니다.


테스트 환경 구성 정보
++++++++++++++++++++++++++

- ZFS Storage: FreeNAS 11.2, 2TB HDD 12개로 RAIDZ2 구성, DC P3700 SSD 2개로 ZIL, L2ARC 각각 구성

- Virtualization: XCP-ng 7.6

- Network: 10GbE로 FreeNAS와 XCP-ng 서버간 Direct 연결 (iSCSI는 multipath를 구성하지는 않음)

- Storage volume: FreeNAS에서 1TB 크기의 zvol를 생성 (blocksize=128k)하고 이를 iSCSI 서비스에 할당 (LUN 등록)하고 SCP-ng에서 iSCSI 기반 Storage를 생성함 (이때 Storage type은 LVM over iSCSI로 생성되네요).


iperf3를 이용한 Network 테스트 내용
+++++++++++++++++++++++++++++++++++++

XCP-ng Dom0에서 ZFS Storage인 FreeNAS 서버로 iperf3 테스트 (10GbE Direct 연결되어 있음).

[root@svms3 ~]# iperf3 -c 172.16.1.90
Connecting to host 172.16.1.90, port 5201
[  4] local 172.16.1.30 port 52690 connected to 172.16.1.90 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  1.15 GBytes  9.89 Gbits/sec    0    874 KBytes      
[  4]   1.00-2.00   sec  1.15 GBytes  9.88 Gbits/sec    0    874 KBytes      
[  4]   2.00-3.00   sec  1.15 GBytes  9.88 Gbits/sec    0    874 KBytes      
[  4]   3.00-4.00   sec  1.15 GBytes  9.88 Gbits/sec    0    874 KBytes      
[  4]   4.00-5.00   sec  1.15 GBytes  9.88 Gbits/sec    0    874 KBytes      
[  4]   5.00-6.00   sec  1.15 GBytes  9.88 Gbits/sec    0    874 KBytes      
[  4]   6.00-7.00   sec  1.15 GBytes  9.88 Gbits/sec    0    874 KBytes      
[  4]   7.00-8.00   sec  1.15 GBytes  9.88 Gbits/sec    0    874 KBytes      
[  4]   8.00-9.00   sec  1.15 GBytes  9.89 Gbits/sec    0   1.29 MBytes      
[  4]   9.00-10.00  sec  1.15 GBytes  9.88 Gbits/sec    0   1.29 MBytes      
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  11.5 GBytes  9.88 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  11.5 GBytes  9.88 Gbits/sec                  receiver

iperf Done.


FreeNAS에서 DD Write 테스트
+++++++++++++++++++++++++++++++

root@snas9[/]# dd if=/dev/zero of=/mnt/hpool/ddfile1 bs=1024k count=16k
16384+0 records in
16384+0 records out
17179869184 bytes transferred in 8.845996 secs (1942106827 bytes/sec)


XCP-ng의 VM 내에서 DD Write 테스트

++++++++++++++++++++++++++++++++++++

[root@localhost /]# dd if=/dev/zero of=/ddfile1 bs=1024k count=16k
16384+0 records in
16384+0 records out
17179869184 bytes (17 GB) copied, 70.2106 s, 245 MB/s


위의 테스트 결과에서 소요된 시간으로 비교해 보면, 10GbE 네트웍으로 묶여 있는 상태에서 iSCSI 연동한 Disk I/O의 Write 성능이 ZFS Local에서의 Disk I/O보다 약 9배 정도 성능이 떨어지는 것으로 나타납니다.


문제 해결을 위한 조언좀 부탁드립니다. 저가 미쳐 놓치고 있는 부분이 있을것 같은데 몇일째 그 원인을 찾지 못하고 있네요.



epowergate 2019-05
¸î°¡Áö È®ÀÎÇØ º¸¼¼¿ä.
1. Network Setting¿¡ ¹Î°¨ ÇÒ ¼ö ÀÖ½À´Ï´Ù.  iSCSI´Â Jumbo FrameÀÌ ÇÙ½ÉÀε¥ ¸¸¾à Intel X5xx °è¿­ÀÇ Network Card¸¦ »ç¿ëÇϽøé Jumber FrameÀÌ Á¤»óÀûÀ¸·Î ÀÛµ¿À» ¾ÈÇÏ´øÁö ¾Æ´Ï¸é ¼º´ÉÀÌ Àß ³ªÁú ¾ÊÁÒ.  Æ©´×ÀÌ ¸¹ÀÌ ÇÊ¿äÇÕ´Ï´Ù. 
Network Switch¿¡ iSCSI ÃÖÀûÈ­ ¼³Á¤ÀÌ µÇ¾î ÀÖ´ÂÁöµµ º¸½Ã±¸¿ä.
Network Card¿¡ µû¶ó¼­ MTU Å©±âµµ ÀÌ»óÇÑ ¼öÄ¡¸¦ ¿ä±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.  9216, 9000, 8972, 8958 µî ´Ù¾çÇÑ ¼öÄ¡·Î Çغ¸¼¼¿ä.
2. DD¿¡ BS¸¦ 1MB·Î Çϼ̴µ¥ º¸Åë iscsiÀÇ packet size°¡ 32k¸¦ ³ÑÁö ¾Ê½À´Ï´Ù.  ´ëºÎºÐ 8k Á¤µµ¿¡¼­ ÀÌ·ç¾î Áý´Ï´Ù.
iSCSI´Â initiator¿Í targetÀÌ ¼­·Î ÇùÀÇ Çϸ鼭 Å©±â¸¦ Á¤Çϱ⠶§¹®¿¡ º¸Åë Å©±â¸¦ ÁöÁ¤Çϱâ´Â ¾î·Æ½À´Ï´Ù¸¸ 1M´Â iscsi·Î¼­´Â ³Ê¹« Å« ¼öÄ¡ÀÔ´Ï´Ù.
3. ´Ù¸¥ ÀÇ°ßÀÔ´Ï´Ù¸¸ VMÀ» ¼öÇàÇÏ´Â iSCSI ȯ°æÀ̶ó¸é BS´Â ´õ Àû¾îÁ®¾ß ÇÕ´Ï´Ù.  º¸Åë 4KB°¡ ÃÖÀûÀ¸·Î ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù.  ½ÇÁ¦ »ç¿ëȯ°æÀÇ ¼º´ÉÀÌ ÇÊ¿äÇϽøé BS¸¦ 4KB·Î ÇϽô°ÍÀÌ ÁÁ½À´Ï´Ù.
4. ¶Ç ´Ù¸¥ ÀÇ°ßÀÔ´Ï´Ù¸¸ ±âº»ÀûÀ¸·Î ZFS´Â iSCSI¿Í ÁÁÀº Á¶ÇÕÀº ¾Æ´Õ´Ï´Ù. ZFS¿Í °°Àº COW ½Ã½ºÅÛÀº ÀÛÀº Å©±âÀÇ Write IO°¡ ¸¹Àº VM ÀúÀå¼Ò·Î´Â ÁÁÁö¾Ê½À´Ï´Ù.  DB¸¦ »ç¿ëÇϴ ȯ°æÀº ÃÖ¾ÇÀ̱¸¿ä.
5. 4¹øÀÇ ÀÌÀ¯·Î ZFSÀÇ ¼º´ÉÅ×½ºÆ®´Â Á» ¾î·Æ½À´Ï´Ù.  cache È¿°ú°¡ ³Ê¹« Å©°Ô ÀÛ¿ëÀ» ÇÕ´Ï´Ù.  Å×½ºÆ® ÇϽǶ§ Local, Local,..., Local ´ÙÀ½¿¡ iSCSI, iSCSI,...,iSCSI°¡ ¾Æ´Ï¶ó  Local, iSCSI, Local, iSCSIµîÀ» ¹Ù²ã°¡¸é¼­ 10ȸ ÀÌ»ó Çغ¸¼Å¾ß ±×³ª¸¶ Á¤È®ÇÑ °á°ú¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.
epowergate 2019-05
¾Æ,Direct Cable À̱º¿ä.
±×·¸´Ù¸é iscsi  initiator ´Ü¿¡¼­ ´Ù¾çÇÑ tuningÀÌ °¡´ÉÇÕ´Ï´Ù.
À̺κÐÀº ±¸±Û¿¡ ¸¹ÀÌ ÀÖ½À´Ï´Ù.
     
cyberG 2019-05
±íÀÌ ÀÖ´Â Á¶¾ð¿¡ °¨»çµå¸³´Ï´Ù.
°á·ÐÀº SANÀΰǰ¡¿ä.

FreeNAS ´ë½Å Oracle Solaris 11.4·Î ZFS ±¸¼ºÇÑ °æ¿ì¿¡´Â ±×³ª¸¶ Á¶±Ý ´õ ¼Óµµ °³¼±ÀÌ ÀÖ¾úÁö¸¸ °áÁ¤ÀûÀÌÁø ¾ÊÀº °ÍÀ» º¸¸é iSCSI¿¡ ´ëÇÑ ´õ ±íÀº °í¹ÎÀÌ ÀÖ¾î¾ß ÇÒ µí ÇÕ´Ï´Ù. (HDD¸¦ SSD·Î º¯°æÇßÀ» °æ¿ì¿¡µµ iSCSI¿¡ ´ëÇÑ °³¼±Àº ¾ø´õ¶ó±¸¿ä).

ÀÏ´ÜÀº Network Switch¸¦ ¹èÁ¦ÇÏ°í Direct ¿¬°áÇÑ »óÅ¿¡¼­ iSCSI¿¡ ´ëÇÑ Æ©´×À» ÇØ º¸°í iSCSI »ç¿ëÇÒÁö ¾Æ´Ï¸é SANÀ¸·Î ³Ñ¾î°¥Áö °áÁ¤À» ÇØ¾ß ÇÒ°Å °°½À´Ï´Ù.
          
epowergate 2019-05
Is is or sanÀÌ ¹®Á¦°¡ ¾Æ´Ï°í zfs°¡ ¹®Á¦ÀÔ´Ï´Ù.
ÀÎÅͳݿ¡¼­ cow, copy on write, file system ±â¼ú ã¾Æ¼­ Àо½Ã¸é ¿Ö zfs + is is or fc°¡ ´äÀÌ ¾Æ´ÑÁö ¾Ë ¼ö ÀÖÀ»°Ì´Ï´Ù.
¼Õ´Ô 2019-05
VM ¿¡ iscsi Á÷Á¢ ¸¶¿îÆ® Å×½ºÆ® Ãßõµå¸³´Ï´Ù.
     
cyberG 2019-05
VM¿¡¼­ iSCSI¸¦ ¿¬°áÇÏ´Â °Íµµ Å×½ºÆ®ÇØ º¼ ¿¹Á¤ÀÔ´Ï´Ù. ±×·¯³ª ¿ì¼±Àº VMµéÀÌ ¹èÆ÷µÉ Storage¸¦ ¸¸µé±â À§ÇÑ Å×½ºÆ®¿¡¼­ Disk I/O°¡ Àß ³ª¿ÀÁö ¾ÊÀ¸´Ï °í¹ÎÀÔ´Ï´Ù.

Âü°í·Î °èȹÀº ¾Æ·¡¿Í °°Àº ¹æ¾ÈÀÔ´Ï´Ù.
- ZFS zvol01: 128k block size, iSCSI·Î ¿¬µ¿ÇÏ¿© VMµéÀÌ À§Ä¡ÇÏ´Â Storage ¿µ¿ª
- ZFS zvol02: 8k block size, Oracle DB software°¡ ¼³Ä¡µÈ Linux VM ³»¿¡¼­ iSCSI·Î ¸¶¿îÆ®ÇÏ¿© Oracle Data file¿ëÀ¸·Î »ç¿ëÇÏ°íÀÚ ÇÔ)
SiCMOS 2019-05
ZFS ¾Æ´Ï´õ¶óµµ CentOS 7.6 TCMÀ¸·Î Ÿ±ê ¼¼ÆÃÇؼ­ ºÙ¿©µµ IO°¡ ·ÎÄ÷Π¹Ù·Î ºÙÀÎ µð¹ÙÀ̽ºÀÇ 1/3 Á¤µµ¹Û¿¡ ¾È³ª¿É´Ï´Ù. ³×Æ®¿÷ Æ©´×Çìµµ °Å±â¼­ °Å±â´õ±º¿ä
Ä¿³Î ¸Þ¸ð¸® ij½ÌÀ» È°¼ºÈ­Çϸé Á» ±¦ÂúÀ» ¼öµµ ÀÖ½À´Ï´Ù..
ZONE 2019-05
ÁÁÀº ¿µ»óÀÌ À־ °øÀ¯ Çص帳´Ï´Ù.
https://www.youtube.com/watch?v=OAe3_8qoCWo
ÇÑ ¹ø Âü°íÇغ¸½Ã¸é ÁÁÀ» °Í °°½À´Ï´Ù.