¿ù°£ Àα⠰Խù°

°Ô½Ã¹° 1,358°Ç
   
LinuxÀÇ °¡»ó ³×Æ®¿öÅ©
±Û¾´ÀÌ : ÃÖ°í°ü¸®ÀÚ ³¯Â¥ : 2011-05-25 (¼ö) 13:48 Á¶È¸ : 9150
±ÛÁÖ¼Ò :
                                
 

LinuxÀÇ °¡»ó ³×Æ®¿öÅ©

NIC, ½ºÀ§Ä¡, ³×Æ®¿öÅ© ¹× ¾îÇöóÀ̾ð½º
 
¿À´Ã³¯ÀÇ ÄÄÇ»Æÿ¡¼­ ºÎÈ°ÀÌ ÁøÇàµÇ°í ÀÖ´Ù. °¡»óÈ­´Â ¼ö½Ê ³â Àü¿¡ ¸¸µé¾îÁ³Áö¸¸ »ó¿ë Çϵå¿þ¾îÀÇ »ç¿ëÀ» ÅëÇØ ÁøÁ¤ÇÑ °¡Ä¡°¡ ÇöÀç ½ÇÇöµÇ°í ÀÖ´Ù. °¡»óÈ­´Â È¿À²¼ºÀ» À§ÇØ ¼­¹ö ¿öÅ©·Îµå¸¦ ÅëÇÕÇÏÁö¸¸ ¼­¹ö ȯ°æÀÇ ´Ù¸¥ ¿ä¼Ò°¡ ´õ ÁøÈ­µÈ ÅëÇÕ¿¡ ÇÊ¿äÇÑ È帷Π¶°¿À¸£°í ÀÖ´Ù. ¸¹Àº »ç¶÷µéÀº °¡»óÈ­¸¦ CPU, ¸Þ¸ð¸® ¹× ½ºÅ丮ÁöÀÇ ÅëÇÕÀ̶ó°í ÀνÄÇÏÁö¸¸ ÀÌ°ÍÀº ¼Ö·ç¼ÇÀ» Áö³ªÄ¡°Ô ´Ü¼øÈ­ÇÏ´Â °ÍÀÌ´Ù. ³×Æ®¿öÅ©´Â °¡»óÈ­ÀÇ ÁÖ¿ä Ãø¸éÀÌ¸ç °¡»óÈ­ ¼¼Æ®ÀÇ ÆÛ½ºÆ® Ŭ·¡½º ¿ä¼Ò¸¦ ³ªÅ¸³½´Ù.
 
¹®Á¦Á¡¿¡ ´ëÇÑ ³ôÀº ¼öÁØÀÇ Å½»ö¿¡¼­ ½ÃÀÛÇÏ¿© Linux¢ç°¡ ³×Æ®¿öÅ© °¡»óÈ­¸¦ ºôµåÇÏ°í Áö¿øÇÏ´Â ´Ù¾çÇÑ ¹æ¹ý¿¡ ´ëÇØ »ìÆ캸ÀÚ.
±âÁ¸ ȯ°æ(±×¸² 1 ÂüÁ¶)¿¡¼­´Â ½ÇÁ¦ ¼­¹ö ¼¼Æ®°¡ ÇÊ¿äÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¼Æ®¸¦ È£½ºÆ®ÇÑ´Ù. ¼­¹ö °£ Åë½ÅÀ» »ç¿ëÇϱâ À§ÇØ °¢ ¼­¹ö¿¡´Â ¿ÜºÎ ³×Æ®¿öÅ© ÀÎÇÁ¶ó¿¡ Á¢¼ÓÇÏ´Â ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º Ä«µå(NIC)°¡ Çϳª ÀÌ»ó Æ÷ÇԵǾî ÀÖ´Ù. NIC´Â ³×Æ®¿öÅ© ¼ÒÇÁÆ®¿þ¾î ½ºÅðú ÇÔ²² ³×Æ®¿öÅ© ÀÎÇÁ¶ó¸¦ ÅëÇØ ¿£µåÆ÷ÀÎÆ® °£ Åë½ÅÀ» »ç¿ë °¡´ÉÇÏ°Ô ÇÑ´Ù. ±×¸² 1°ú °°ÀÌ ÀÌ ±â´ÉÀº ½ºÀ§Ä¡·Î Ç¥½ÃµÇ¸ç ½ºÀ§Ä¡´Â Âü¿©ÇÏ´Â ¿£µåÆ÷ÀÎÆ® °£ È¿À²ÀûÀÎ ÆÐŶ Åë½ÅÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù.

±×¸² 1. ±âÁ¸ ³×Æ®¿öÅ© ÀÎÇÁ¶ó


¼­¹ö ÅëÇÕ µÚ¿¡ ¼û°ÜÁø ÁÖ¿ä Çõ½Å»çÇ×Àº ¿©·¯ ¿î¿µ üÁ¦¿Í ¾ÖÇø®ÄÉÀ̼ÇÀÌ Çϵå¿þ¾î¸¦ °øÀ¯ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ½ÇÁ¦ Çϵå¿þ¾îÀÇ Ãß»óÈ­ÀÌ´Ù(±×¸² 2 ÂüÁ¶). ÀÌ·¯ÇÑ Çõ½ÅÀ» ÇÏÀÌÆÛ¹ÙÀÌÀú(¶Ç´Â °¡»ó ½Ã½ºÅÛ(VM) ¸ð´ÏÅÍ)¶ó°í ÇÑ´Ù. °¢°¢ÀÇ VM(¿î¿µ üÁ¦ ¹× ¾ÖÇø®ÄÉÀÌ¼Ç ¼¼Æ®)Àº ±âº» Çϵå¿þ¾îÀÇ ÀϺΰ¡ Á¸ÀçÇÏÁö ¾Ê°Å³ª ¿©·¯ VM¿¡¼­ °øÀ¯µÉ ¼ö ÀÖ´Â °æ¿ì¿¡µµ ±âº» Çϵå¿þ¾î¸¦ °øÀ¯µÇÁö ¾Ê´Â ¿ÏÀüÇÑ ½Ã½ºÅÛÀ¸·Î °£ÁÖÇÑ´Ù. ÀÌ·¯ÇÑ ¿¹°¡ °¡»ó NIC(vNIC)ÀÌ´Ù. ÇÏÀÌÆÛ¹ÙÀÌÀú´Â °¢ VM¿¡ ´ëÇØ Çϳª ÀÌ»óÀÇ vNIC¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ NIC´Â VM¿¡°Ô ½ÇÁ¦ NIC·Î Ç¥½ÃµÉ ¼ö ÀÖÁö¸¸ ½ÇÁ¦·Î´Â NICÀÇ ÀÎÅÍÆäÀ̽º¸¸ ³ªÅ¸³½´Ù. ¶ÇÇÑ ÇÏÀÌÆÛ¹ÙÀÌÀú´Â VM ¿£µåÆ÷ÀÎÆ® °£ ±¸¼º °¡´ÉÇÑ Åë½ÅÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â °¡»óÈ­µÈ ½ºÀ§Ä¡·Î ¿ÏÀüÇØÁö´Â °¡»ó ³×Æ®¿öÅ©ÀÇ µ¿Àû ±¸¼ºÀ» Çã¿ëÇÑ´Ù. ¸¶Áö¸·À¸·Î ÇÏÀÌÆÛ¹ÙÀÌÀú´Â ¼­¹öÀÇ ½ÇÁ¦ NIC¸¦ ÇÏÀÌÆÛ¹ÙÀÌÀúÀÇ ³í¸®Àû ÀÎÇÁ¶ó¿¡ Á¢¼ÓÇÏ¿© ÇÏÀÌÆÛ¹ÙÀÌÀú ³»ÀÇ VM °£ È¿À²ÀûÀÎ Åë½Å°ú ¿ÜºÎ ³×Æ®¿öÅ©¿¡ ´ëÇÑ È¿À²ÀûÀÎ Åë½ÅÀ» Çã¿ëÇÏ¿© ½ÇÁ¦ ³×Æ®¿öÅ© ÀÎÇÁ¶ó¿¡ ´ëÇÑ Åë½Åµµ Çã¿ëÇÑ´Ù. Âü°íÀÚ·á ¼½¼Ç¿¡¼­ ¿ÀÇ ¼Ò½º ¿î¿µ üÁ¦ÀÇ Ç³ºÎÇÑ ¿µ¿ªÀÎ Linux¿¡¼­ÀÇ ÇÏÀÌÆÛ¹ÙÀÌÀú¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸ÀÇ Ç³ºÎÇÑ ¸µÅ©¸¦ ãÀ» ¼ö ÀÖ´Ù.
 


°¡»óÈ­µÈ ³×Æ®¿öÅ© ÀÎÇÁ¶óµµ °¡»ó ¾îÇöóÀÌ¾ð½º¿Í °°Àº Èï¹Ì·Î¿î ´Ù¸¥ Çõ½Å»çÇ×À» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çß´Ù. ¿©±â¼­´Â °¡»ó ³×Æ®¿öÅ©ÀÇ ¿ä¼Ò¿¡ Ãß°¡·Î ÀÌ¿¡ ´ëÇØ »ìÆ캻´Ù.

°¡»óÈ­µÈ ³×Æ®¿öÅ© ÀÎÇÁ¶óÀÇ ÁÖ¿ä ¹ßÀü»çÇ× Áß Çϳª°¡ °¡»ó ½ºÀ§Ä¡ÀÇ °³¹ßÀÌ´Ù. °¡»ó ½ºÀ§Ä¡´Â vNIC¸¦ ¼­¹öÀÇ ½ÇÁ¦ NIC¿¡ Á¢¼Ó½ÃÅ°°í ´õ Áß¿äÇÏ°Ô´Â ·ÎÄà Åë½ÅÀ» À§ÇØ ¼­¹ö¿¡ ÀÖ´Â ´Ù¸¥ vNIC¿¡ vNIC¸¦ °áÇÕÇÑ´Ù. ÀÌ°ÍÀÌ Èï¹Ì·Î¿î ÀÌÀ¯´Â °¡»ó ½ºÀ§Ä¡ ³»¿¡¼­ Á¦ÇÑÀº ³×Æ®¿öÅ© ¼Óµµ¿Í´Â °ü°è°¡ ¾ø°í ¸Þ¸ð¸® ´ë¿ªÆø°ú °ü·ÃµÇ¾î ÀÖ¾î ·ÎÄà VM °£ È¿À²ÀûÀÎ Åë½ÅÀ» °¡´ÉÇÏ°Ô ÇÏ°í ³×Æ®¿öÅ© ÀÎÇÁ¶óÀÇ ¿À¹öÇìµå¸¦ ÃÖ¼ÒÈ­Çϱ⠶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ Àý°¨Àº VM °£ Æ®·¡ÇÈÀÌ ¼­¹ö ³»¿¡¼­ °Ý¸®µÈ »óÅ·Π½ÇÁ¦ ³×Æ®¿öÅ©°¡ ¼­¹ö °£ Åë½ÅÀ» À§Çؼ­¸¸ »ç¿ëµÊÀ¸·Î ÀÎÇØ ¹ß»ýÇÑ´Ù.
 
ÇÏÁö¸¸ Linux¿¡¼­ ÀÌ¹Ì Ä¿³Î ³»¿¡ °èÃþ 2 ½ºÀ§Ä¡¸¦ ÅëÇÕÇϱ⠶§¹®¿¡ ÀϺΠ»ç¿ëÀÚ´Â °¡»ó ½ºÀ§Ä¡°¡ ¿Ö ÇÊ¿äÇÑÁö ¹°¾ú´Ù. ÀÌ¿¡ ´ëÇÑ ´äº¯¿¡´Â ¿©·¯ ¼Ó¼ºÀÌ °ü·ÃµÇÁö¸¸ °¡Àå Áß¿äÇÑ ¼Ó¼º Áß Çϳª°¡ ÀÌ·¯ÇÑ ½ºÀ§Ä¡ À¯Çü¿¡ ´ëÇÑ »õ·Î¿î ºÐ·ù¿¡ ÀÇÇØ Á¤ÀǵȴÙ. »õ Ŭ·¡½º´Â ºÐ»ê °¡»ó ½ºÀ§Ä¡¶ó°í ºÎ¸£¸ç ±âº» ¼­¹ö ¾ÆÅ°ÅØó¸¦ Åõ¸íÇÏ°Ô ¸¸µå´Â ¹æ½ÄÀ¸·Î ¼­¹ö »çÀ̸¦ ¿¬°áÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÇϳªÀÇ ¼­¹ö¿¡ ÀÖ´Â °¡»ó ½ºÀ§Ä¡´Â ¶Ç´Ù¸¥ ¼­¹ö¿¡ ÀÖ´Â °¡»ó ½ºÀ§Ä¡¿Í Åõ¸íÇÏ°Ô °áÇÕÇÒ ¼ö ÀÖ¾î(±×¸² 3 ÂüÁ¶) ¼­¹ö(¹× ÇØ´ç °¡»ó ÀÎÅÍÆäÀ̽º) °£ VM ¸¶À̱׷¹À̼ÇÀÌ ÈξÀ ´õ ´Ü¼øÇØÁø´Ù. ¿Ö³ÄÇϸé ÀÌ·¯ÇÑ VMÀÌ ¶Ç´Ù¸¥ ¼­¹öÀÇ ºÐ»ê °¡»ó ½ºÀ§Ä¡¿¡ Á¢¼ÓÇÏ¿© °¡»ó ½ºÀ§Ä¡ ³×Æ®¿öÅ©¸¦ Åõ¸íÇÏ°Ô °áÇÕÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.

±×¸² 3. ºÐ»ê °¡»ó ½ºÀ§Ä¡ 


ÀÌ °ø°£¿¡¼­ °¡Àå Áß¿äÇÑ ÇÁ·ÎÁ§Æ® Áß Çϳª´Â ÀÌ ±â»ç¿¡¼­ ´ÙÀ½¿¡ ´Ù·ç´Â Open vSwitch¶ó´Â °ÍÀÌ´Ù.
¼­¹ö ³»¿¡¼­ ³í¸®Àû Æ®·¡ÇÈÀ» °Ý¸®ÇÏ´Â °Í°ú °ü·ÃµÈ ÇÑ °¡Áö ¹®Á¦´Â Æ®·¡ÇÈÀÌ ¿ÜºÎ(¿¹: ³×Æ®¿öÅ© ºÐ¼®±â)¿¡ Ç¥½ÃµÇÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. ±¸Çö¿¡¼­´Â Æ®·¡ÇÈÀ» Á¦¾îÇÏ°í ¸ð´ÏÅÍÇϱâ À§ÇØ ¿ø°Ý ¾×¼¼½º¸¦ ³»º¸³»´Â µ¥ »ç¿ëµÇ´Â OpenFlow, NetFlow ¹× sFlow¿Í °°Àº ´Ù¾çÇÑ ½ºÅ°¸¶¸¦ ÅëÇØ ÀÌ ¹®Á¦Á¡À» ÇØ°áÇß´Ù.
 
ºÐ»ê °¡»ó ½ºÀ§Ä¡ÀÇ Ãʱ⠱¸ÇöÀº µ¶Á¡ ÇÏÀÌÆÛ¹ÙÀÌÀú ¼¼Æ®¿¡ ´ëÇÑ ÀÛµ¿À¸·Î¸¸ Á¦ÇѵǾî ÀÖ¾ú´Ù. ÇÏÁö¸¸ ¿À´Ã³¯ÀÇ Å¬¶ó¿ìµå ȯ°æ¿¡¼­´Â ¿©·¯ ÇÏÀÌÆÛ¹ÙÀÌÀú°¡ °øÁ¸ÇÒ ¼ö ÀÖ´Â À̱âÁ¾ ȯ°æÀ» Áö¿øÇÏ´Â °ÍÀÌ ÀÌ»óÀûÀÌ´Ù.
 
Open vSwitch´Â Apache 2.0 ¶óÀ̼¾½º ÇÏ¿¡¼­ ¿ÀÇ ¼Ò½º·Î »ç¿ë °¡´ÉÇÑ ´Ù°èÃþ °¡»ó ½ºÀ§Ä¡ÀÌ´Ù. 2010³â 5¿ùºÎÅÍ Open vSwitch´Â ¹öÀü 1.0.1À» »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú°í ÀλóÀûÀÎ ±â´ÉÀ» Áö¿øÇÑ´Ù. Open vSwitch´Â KVM(Kernel-based VM), VirtualBox, Xen ¹× XenServer¸¦ Æ÷ÇÔÇÑ ¶Ù¾î³­ ¿ÀÇ ¼Ò½º ÇÏÀÌÆÛ¹ÙÀÌÀú ¼Ö·ç¼ÇÀ» Áö¿øÇÑ´Ù. Open vSwitch´Â ÇöÀç Linux ¿¬°á ¸ðµâÀÇ Àӽà ´ëüÀ̱⵵ ÇÏ´Ù.
 
Open vSwitch´Â ½ºÀ§Ä¡ µð¸Õ°ú ÇÃ·Î¿ì ±â¹Ý ½ºÀ§Ä¡¸¦ °ü¸®ÇÏ´Â µ¿¹Ý Ä¿³Î ¸ðµâ·Î ±¸¼ºµÈ´Ù. ½ºÀ§Ä¡ °ü¸®¿¡ ÇÊ¿äÇÑ ´Ù¾çÇÑ ±âŸ µð¸Õ ¹× À¯Æ¿¸®Æ¼µµ Á¸ÀçÇÑ´Ù(ƯÈ÷ OpenFlowÀÇ °üÁ¡¿¡¼­). Open vSwitch Àüü¸¦ »ç¿ëÀÚ °ø°£¿¡¼­ ½ÇÇàÇÒ ¼ö ÀÖÁö¸¸ ±×·¸°Ô ÇÏ¸é ¼º´ÉÀÌ ÀúÇϵȴÙ.
 
VM ȯ°æÀ» À§ÇÑ ÇÁ·Î´ö¼Ç Ç°Áú ½ºÀ§Ä¡¸¦ Á¦°øÇÏ´Â °Í ¿Ü¿¡µµ Open vSwitch¿¡´Â Æó¼âÀûÀÎ ´Ù¸¥ µ¶Á¡ ¼Ö·ç¼Ç°ú °æÀïÇÒ ÀλóÀûÀÎ ±â´É ·Îµå¸ÊÀÌ Æ÷ÇԵȴÙ.

NIC Çϵå¿þ¾îÀÇ °¡»óÈ­´Â °¡»ó ½ºÀ§Ä¡°¡ µµÀԵDZâ ÇÑÂü Àü¿¡ ´Ù¾çÇÑ Çü½ÄÀ¸·Î ÀÏÁ¤ ±â°£ µ¿¾È Á¸ÀçÇß´Ù. ÀÌ ¼½¼Ç¿¡¼­´Â ÀϺΠ±¸Çö°ú ³×Æ®¿öÅ© °¡»óÈ­ÀÇ ¼Óµµ¸¦ °³¼±Çϱâ À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â Çϵå¿þ¾î °¡¼ÓÈ­ Áß ÀϺο¡ ´ëÇØ »ìÆ캻´Ù.
 
QEMU´Â Ç÷§Æû ¿¡¹Ä·¹ÀÌÅÍÀÌÁö¸¸ NIC¸¦ Æ÷ÇÔÇÏ¿© ´Ù¾çÇÑ Çϵå¿þ¾î µð¹ÙÀ̽º¸¦ À§ÇÑ ¼ÒÇÁÆ®¿þ¾î ¿¡¹Ä·¹À̼ÇÀ» Á¦°øÇÑ´Ù. ¶ÇÇÑ QEMU´Â IP ÁÖ¼Ò ÇÒ´çÀ» À§ÇÑ ³»ºÎ DHCP(Dynamic Host Configuration Protocol) ¼­¹ö¸¦ Á¦°øÇÑ´Ù. QEMU´Â KVM°ú ÇÔ²² ÀÛ¾÷ÇÏ¿© Ç÷§Æû ¿¡¹Ä·¹À̼ǰú °³º° µð¹ÙÀ̽º ¿¡¹Ä·¹À̼ÇÀ» Á¦°øÇÏ¿© KVM ±â¹Ý °¡»óÈ­¸¦ À§ÇÑ Ç÷¿ÆûÀ» Á¦°øÇÑ´Ù. Âü°íÀÚ·á ¼½¼Ç¿¡¼­ QEMU¿¡ ´ëÇØ ÀÚ¼¼È÷ »ìÆ캼 ¼ö ÀÖ´Ù.
 
virtio´Â VM¿¡¼­ ÇÏÀÌÆÛ¹ÙÀÌÀú·ÎÀÇ I/O Æ®·¡ÇÈÀ» ´Ü¼øÈ­ÇÏ°í ÃËÁøÇÏ´Â Linux¿ë ÀÔ/Ãâ·Â(I/O) ¹Ý°¡»óÈ­ ÇÁ·¹ÀÓ¿öÅ©ÀÌ´Ù. virtio´Â ºí·Ï µð¹ÙÀ̽º, ÀÏ¹Ý PCI(Peripheral Component Interconnect) µð¹ÙÀ̽º, ³×Æ®¿öÅ© µð¹ÙÀ̽º µîÀ» °¡»óÈ­Çϱâ À§ÇØ VM°ú ÇÏÀÌÆÛ¹ÙÀÌÀú »çÀÌÀÇ I/O¸¦ À§ÇÑ Ç¥ÁØÈ­µÈ Àü¼Û ¸ÞÄ¿´ÏÁòÀ» ÀÛ¼ºÇÑ´Ù. Âü°íÀÚ·á ¼½¼Ç¿¡¼­ virtioÀÇ ³»ºÎ ±¸Á¶¿¡ ´ëÇØ ÀÚ¼¼È÷ »ìÆ캼 ¼ö ÀÖ´Ù.
 
°¡»óÈ­´Â È£½ºÆ® ³×Æ®¿öÅ© ½ºÅÿ¡ ´ëÇÑ VM °Ô½ºÆ® ³×Æ®¿öÅ© ½ºÅà ¾×¼¼½º¸¦ Çã¿ëÇϱâ À§ÇØ »ó´çÇÑ ±â°£ µ¿¾È ³×Æ®¿öÅ© ½ºÅÿ¡¼­ ±¸ÇöµÇ¾ú´Ù. ½ºÅ°¸¶ Áß µÎ °¡Áö´Â TAP°ú TUNÀÌ´Ù. TAPÀº ÀÌ´õ³Ý µð¹ÙÀ̽º¸¦ ±¸ÇöÇÏ¿© ÀÌ´õ³Ý ÇÁ·¹ÀÓ ·¹º§¿¡¼­ ÀÛµ¿ÇÏ´Â °¡»ó ³×Æ®¿öÅ© Ä¿³Î µå¶óÀ̹öÀÌ´Ù. TAP µå¶óÀ̹ö´Â °Ô½ºÆ® ÀÌ´õ³Ý ÇÁ·¹ÀÓ°ú Åë½ÅÇÏ´Â µ¥ »ç¿ëµÇ´Â ÀÌ´õ³Ý "ÅÇ(tap)"À» Á¦°øÇÑ´Ù. TUN(¶Ç´Â ³×Æ®¿öÅ© "ÅͳÎ")Àº ±âº» ÀÌ´õ³Ý µð¹ÙÀ̽º°¡ TUN IP ÆÐŶÀÇ °èÃþ 2 ÇÁ·¹ÀÓÀ» °ü¸®ÇÒ ¼ö Àֱ⠶§¹®¿¡ ³×Æ®¿öÅ© °èÃþ µð¹ÙÀ̽º¸¦ ½Ã¹Ä·¹À̼ÇÇÏ°í IP ÆÐŶÀÇ »óÀ§ ·¹º§¿¡¼­ Åë½ÅÇÏ¿© ¾à°£ÀÇ ÃÖÀûÈ­¸¦ Á¦°øÇÑ´Ù.
 
I/O °¡»óÈ­´Â Çϵå¿þ¾î ·¹º§¿¡¼­ °¡»óÈ­ÀÇ °¡¼ÓÀ» °¡´ÉÇÏ°Ô ÇÏ´Â PCI-SIG(Special Interest Group)ÀÇ Ç¥ÁØÈ­µÈ ½ºÅ°¸¶ÀÌ´Ù. ƯÈ÷ SR-IOV(Single-root IOV)´Â ´ÜÀÏ PCIe(PCI Express) Ä«µå°¡ ´Ù¼öÀÇ »ç¿ëÀÚ¿¡°Ô º¹¼öÀÇ PCIe Ä«µå·Î Ç¥½ÃµÉ ¼ö ÀÖµµ·Ï ÇÏ´Â ÀÎÅÍÆäÀ̽º¸¦ ³ëÃâÇÏ¿© µ¶¸³ÀûÀÎ ¿©·¯ µå¶óÀ̹ö°¡ ¼­·Î¿¡ ´ëÇÑ Áö½Ä ¾øÀÌ PCIe Ä«µå¿¡ Á¢¼ÓÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. SR-IOV´Â PCIe °ø°£ÀÇ ½ÇÁ¦ ÇÔ¼ö·Î ³ªÅ¸³ª°í Ä«µå ³»¿¡¼­ °øÀ¯ ÇÔ¼ö·Î Ç¥½ÃµÇ´Â °¡»ó ÇÔ¼ö¸¦ ´Ù¾çÇÑ »ç¿ëÀÚ¿¡°Ô±îÁö È®ÀåÇÏ¿© À̸¦ ´Þ¼ºÇÑ´Ù.
 
SR-IOV°¡ ³×Æ®¿öÅ© °¡»óÈ­¿¡ Á¦°øÇÏ´Â ÇýÅÃÀº ¼º´ÉÀÌ´Ù. ½ÇÁ¦ NICÀÇ °øÀ¯¸¦ ±¸ÇöÇÏ´Â ÇÏÀÌÆÛ¹ÙÀÌÀú ´ë½Å Ä«µå ÀÚü°¡ ¸ÖƼÇ÷º½ÌÀ» ±¸ÇöÇÏ¿© °Ô½ºÆ® VM¿¡¼­ Ä«µå·Î Á÷Á¢ I/O¸¦ Àü´ÞÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
 
¿À´Ã³¯ Linux¿¡´Â KVM ÇÏÀÌÆÛ¹ÙÀÌÀú¿¡ µµ¿òÀÌ µÇ´Â SR-IOV¿¡ ´ëÇÑ Áö¿øÀÌ Æ÷ÇԵȴÙ. Xen¿¡µµ SR-IOV¿¡ ´ëÇÑ Áö¿øÀÌ Æ÷ÇԵǾî vNIC¸¦ °Ô½ºÆ® VM¿¡ È¿À²ÀûÀ¸·Î Á¦°øÇÒ ¼ö ÀÖ´Ù. SR-IOV¿¡ ´ëÇÑ Áö¿øÀº Open vSwitch¸¦ À§ÇÑ ·Îµå¸Ê À§¿¡ ÀÖ´Ù.
 
°ü·ÃÀº ÀÖÁö¸¸ °¡»ó LAN(VLAN)Àº ³×Æ®¿öÅ© °¡»óÈ­¸¦ À§ÇÑ ½ÇÁ¦ ¸Þ¼ÒµåÀÌ´Ù. VLANÀº ºÐ»ê ³×Æ®¿öÅ©¿¡¼­ °¡»ó ³×Æ®¿öÅ©¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇϹǷΠµ¶¸³ ³×Æ®¿öÅ©¿¡ ÀÖ´Â ÀÌÁúÀûÀΠȣ½ºÆ®´Â µ¿ÀÏÇÑ ºê·Îµåij½ºÆ® µµ¸ÞÀÎÀÇ ÀϺÎÀÎ °Íó·³ Ç¥½ÃµÈ´Ù. VLANÀº IEEE(Institute of Electrical and Electronics Engineers) 802.1Q Ç¥Áغ° ƯÁ¤ LAN¿¡ ´ëÇÑ ¸â¹ö½ÊÀ» ½Äº°Çϱâ À§ÇØ ÇÁ·¹ÀÓ¿¡ VLAN Á¤º¸¸¦ ű׷ΠÁöÁ¤ÇÏ¿© À̸¦ ´Þ¼ºÇÑ´Ù. È£½ºÆ®´Â VLAN ½ºÀ§Ä¡¿Í ÇÔ²² ÀÛ¾÷ÇÏ¿© ½ÇÁ¦ ³×Æ®¿öÅ©¸¦ °¡»óÈ­ÇÑ´Ù. ÇÏÁö¸¸ VLANÀÌ ºÐ¸®µÈ ³×Æ®¿öÅ©¿¡ ´ëÇÑ È¯»óÀ» Á¦°øÇÏ´õ¶óµµ VLANÀº µ¿ÀÏÇÑ ³×Æ®¿öÅ©¸¦ °øÀ¯Çϱ⠶§¹®¿¡ Á¤Ã¼·Î ÀÎÇØ ¹ß»ýÇÏ´Â »ç¿ë °¡´ÉÇÑ ´ë¿ªÆø ¹× ¿µÇâÀ» °øÀ¯ÇÑ´Ù.
 
NIC ¹× ±âŸ µð¹ÙÀ̽º¸¦ ¾ð±ÞÇÏ´Â ´Ù¼öÀÇ I/O Á᫐ °¡»óÈ­ °¡¼ÓÈ­°¡ ³ªÅ¸³ª±â ½ÃÀÛÇß´Ù. Intel¢ç VT-d(Virtualization Technology for Directed I/O)¿¡¼­´Â ½Å·Ú¼º ¹× º¸¾È Çâ»óÀ» À§ÇØ I/O ÀÚ¿øÀ» °Ý¸®ÇÏ´Â ±â´ÉÀ» Á¦°øÇÏ¸ç ¿©±â¿¡´Â ¸ÖƼ ·¹º§ ÆäÀÌÁö Å×À̺íÀ» »ç¿ëÇÑ Á÷Á¢ ¸Þ¸ð¸® ¾×¼¼½º Àü¼Û Àç¸ÊÇΰú µð¹ÙÀ̽º ¿¬°ü ÀÎÅÍ·´Æ® Àç¸ÊÇÎÀÌ Æ÷ÇÔµÇ¾î ¼öÁ¤µÇÁö ¾ÊÀº °Ô½ºÆ®¿Í °¡»óÈ­¸¦ ÀνÄÇÏ´Â °Ô½ºÆ®¸¦ µÑ ´Ù Áö¿øÇÑ´Ù. Intel VMDq(Virtual Machine Device Queues)µµ Å¥¸¦ ÀÓº£µåÇÏ°í Çϵå¿þ¾î ³»¿¡¼­ ÀÎÅÚ¸®Àü½º¸¦ Á¤·ÄÇÏ¿© ÇÏÀÌÆÛ¹ÙÀÌÀúÀÇ CPU »ç¿ë·®À» ÁÙÀÌ°í Àü¹ÝÀûÀÎ ½Ã½ºÅÛ ¼º´ÉÀ» Çâ»ó½ÃÅ´À¸·Î½á °¡»óÈ­ ¼³Á¤¿¡¼­ ³×Æ®¿öÅ© Æ®·¡ÇÈ Ç÷ο츦 °¡¼ÓÈ­ÇÑ´Ù. Linux¿¡´Â À̵鿡 ´ëÇÑ Áö¿øÀÌ ¸ðµÎ Æ÷ÇԵǾî ÀÖ´Ù.

Áö±Ý±îÁö ÀÌ ±â»ç¿¡¼­´Â NIC µð¹ÙÀ̽º ¹× ½ºÀ§Ä¡ÀÇ °¡»óÈ­, ±âÁ¸ ±¸Çö Áß ÀϺÎ, ÀÌ·¯ÇÑ °¡»óÈ­°¡ Çϵå¿þ¾î¸¦ ÅëÇØ °¡¼ÓÈ­µÇ´Â ¹æ¹ý Áß ÀϺο¡ ´ëÇØ »ìÆìºÃ´Ù. ÀÌÁ¦´Â ÀÏ¹Ý ³×Æ®¿öÅ© ¼­ºñ½º±îÁö ¹üÀ§¸¦ È®ÀåÇØ º¸ÀÚ.
 
°¡»óÈ­ ¿µ¿ª¿¡¼­ Èï¹Ì·Î¿î Çõ½Å»çÇ× Áß ÇÑ °¡Áö´Â ¼­¹ö ÅëÇÕÀ¸·ÎºÎÅÍ ÁøÈ­Çϴ ȯ°æÀÌ´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀ» Çϵå¿þ¾îÀÇ Æ¯¼ö ¹öÀü¿¡ Àü¿ëÇÏ´Â ´ë½Å ¼­¹öÀÇ ÀϺΰ¡ ºÐ¸®µÇ¾î ¼­¹ö ³»¿¡¼­ ¼­ºñ½º¸¦ È®ÀåÇÏ´Â VMÀ» °­È­ÇÑ´Ù. ÀÌ·¯ÇÑ VMÀº ƯÁ¤ ¾ÖÇø®ÄÉÀ̼ǿ¡ ÃÊÁ¡À» µÎ°í °¡»óÈ­ ¼³Á¤À» À§ÇØ °³¹ßµÇ¾ú±â ¶§¹®¿¡ °¡»ó ¾îÇöóÀ̾𽺶ó°í ºÎ¸¥´Ù.
 
°¡»ó ¾îÇöóÀ̾𽺴 ÀϹÝÀûÀ¸·Î ÇÏÀÌÆÛ¹ÙÀÌÀú(¶Ç´Â ÇÏÀÌÆÛ¹ÙÀÌÀú°¡ Á¦°øÇÏ´Â ÀÏ¹Ý ³×Æ®¿öÅ© ÀÎÇÁ¶ó)¿¡ ¿¬°áµÇ¾î ƯÁ¤ ¼­ºñ½º¸¦ È®ÀåÇÑ´Ù. ¿©±â¼­ ƯÀÌÇÑ ºÎºÐÀº ÅëÇÕ ¼­¹ö¿¡¼­ ó¸® ¿ë·® Áß ÀϺÎ(¿¹: ÄÚ¾î)¿Í I/O ´ë¿ªÆøÀÌ °¡»ó ¾îÇöóÀ̾𽺸¦ À§ÇØ µ¿ÀûÀ¸·Î ±¸¼ºµÉ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù. À̸¦ À§ÇØ ´ÜÀÏ ¼­¹ö°¡ °Ý¸®µÇÁö ¾Ê±â ¶§¹®¿¡ ÀÌ·¯ÇÑ ±â´ÉÀº ºñ¿ë È¿À²À» ´õ ³ôÀ̹ǷΠ»ç¿ëÀÚ´Â ¼­¹ö¿¡¼­ ½ÇÇà ÁßÀÎ ´Ù¸¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿ä±¸¿¡ µû¶ó ¿ë·®À» µ¿ÀûÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ °¡»ó ¾îÇöóÀ̾𽺴 VM ³»¿¡¼­ ¿î¿µ üÁ¦¿¡ °áÇյDZ⠶§¹®¿¡ °ü¸®°¡ ´õ ´Ü¼øÇÒ ¼ö ÀÖ´Ù. VMÀº ÀüüÀûÀ¸·Î »çÀü ±¸¼ºµÇ¾î Àֱ⠶§¹®¿¡ Ưº°ÇÑ ±¸¼ºÀÌ ÇÊ¿äÇÏÁö ¾Ê´Ù. ÀÌ°ÍÀº °¡»ó ¾îÇöóÀ̾𽺿¡ ´ëÇÑ »ó´çÇÑ ÇýÅÃÀÌ¸ç ¿À´Ã³¯ °¡»ó ¾îÇöóÀ̾𽺰¡ ¼ºÀåÇÏ°í ÀÖ´Â ÀÌÀ¯À̱⵵ ÇÏ´Ù.
 
°¡»ó ¾îÇöóÀ̾𽺴 ´Ù¼öÀÇ ¿£ÅÍÇÁ¶óÀÌÁî ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇØ ¿ÔÀ¸¸ç WAN ÃÖÀûÈ­, ¶ó¿ìÅÍ, °¡»ó »ç¼³ ³×Æ®¿öÅ©, ¹æÈ­º®, ħÀÔ ¹æ¾î/°¨Áö ½Ã½ºÅÛ, À̸ÞÀÏ ºÐ·ù ¹× °ü¸® µîÀ» Æ÷ÇÔÇÑ´Ù. ³×Æ®¿öÅ© ¼­ºñ½º ¿ÜºÎ¿¡´Â ½ºÅ丮Áö, º¸¾È, ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·¹ÀÓ¿öÅ© ¹× ÄÁÅÙÃ÷ °ü¸®¸¦ À§ÇÑ °¡»ó ¾îÇöóÀ̾𽺰¡ ÀÖ´Ù.

°ü¸®ÇÒ ¼ö ÀÖ´Â ¸ðµç °ÍµéÀÌ ½ÇÁ¦·Î ¸¸Áú ¼ö ÀÖ´Â °ÍÀ̾ú´ø ½ÃÀýÀÌ ÀÖ¾ú´Ù. ÇÏÁö¸¸ ¿À´Ã³¯°ú °°ÀÌ °¡»óÈ­°¡ Áõ°¡ÇÏ°í Àִ ȯ°æ¿¡¼­´Â ½ÇÁ¦ µð¹ÙÀ̽º ¹× ¼­ºñ½º´Â ´«¿¡ º¸ÀÌÁö ¾Êµµ·Ï »ç¶óÁö°í ÀÖ´Ù. ½ÇÁ¦ ³×Æ®¿öÅ©´Â Æ®·¡ÇÈ °Ý¸® ¹× Áö¿ªÀûÀ¸·Î ºÐ»êµÈ ¿£Æ¼Æ¼¿¡¼­ÀÇ °¡»ó ³×Æ®¿öÅ© ±¸¼ºÀ» Çã¿ëÇϱâ À§ÇØ °¡»óÀ¸·Î ¼¼±×¸ÕƮȭµÇ°í ÀÖ´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀº °­·ÂÇÑ ¼­¹ö ³»ÀÇ ÄÚ¾î »çÀÌ¿¡¼­ ¼¼±×¸ÕƮȭµÇ´Â °¡»ó ¾îÇöóÀ̾𽺠¼ÓÀ¸·Î »ç¶óÁ® °ü¸®ÀÚ¿¡°Ô ´õ ¸¹Àº º¹À⼺À» Á¦°øÇÏÁö¸¸ Çâ»óµÈ À¯¿¬¼º°ú °ü¸®¼ºµµ Á¦°øÇÑ´Ù. ¹°·Ð Linux°¡ À̸¦ À̲ø°í ÀÖ´Ù.

À̸§ Æнº¿öµå
ºñ¹Ð±Û (üũÇÏ¸é ±Û¾´À̸¸ ³»¿ëÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.)
¿ÞÂÊÀÇ ±ÛÀÚ¸¦ ÀÔ·ÂÇϼ¼¿ä.
   

 



 
»çÀÌÆ®¸í : ¸ðÁö¸®³× | ´ëÇ¥ : ÀÌ°æÇö | °³ÀÎÄ¿¹Â´ÏƼ : ·©Å°´åÄÄ ¿î¿µÃ¼Á¦(OS) | °æ±âµµ ¼º³²½Ã ºÐ´ç±¸ | ÀüÀÚ¿ìÆí : mojily°ñ¹ðÀÌchonnom.com Copyright ¨Ï www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.