iSCSI - Internet Small Computer System Interface
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Contents

1 iSCSI
2 iSCSIÀÇ ±¸¼º
3 Linux iSCSI »ç¿ë
3.1 Å×½ºÆ® ȯ°æ
4 Target
4.1 Target ¼³Ä¡
4.2 iqn
5 initiator
6 Cloud¸¦ À§ÇÑ LVM + iSCSI
7 history

1 iSCSI

iSCSI´Â Internet Small Computer InterfaceÀÇ ÁÙÀÓ¸»ÀÔ´Ï´Ù. SCSI´Â ¸¹ÀÌ µé¾îº¸¼ÌÀ» °Ì´Ï´Ù. Àú ¿ª½Ã ¸¹ÀÌ µè±â´Â ÇßÁö¸¸... µè±â¸¸ ÇßÁÒ. ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ¾Æ´Ñ ´ÙÀ½¿¡¾ß SCSIÀ̵ç ȤÀº ´Ù¸¥ ±× ¹«¾ùÀÌµç ±×´Ú ½Å°æ¾µÀÏÀÌ ¾ø½À´Ï´Ù. °³¹ßÀÚ ÀÔÀå¿¡¼­¾ß Àбâ/¾²±â¸¸ ÀßµÇ¸é µÇ´Ï±î¿ä.

SCSI´Â PC¿Í Çϵåµð½ºÅ©, CD-ROM, ÇÁ¸°ÅÍ, ½ºÄ³³Êµî°ú °°Àº ÁÖº¯ ÀåÄ¡¿Í Åë½ÅÇϱâ À§ÇÑ ÀÎÅÍÆäÀ̽º¶ó°í ÇÕ´Ï´Ù.

±×·³ iSCSI°¡ ¹«¾ùÀÏÁö¿¡ ´ëÇØ¼­´Â ´ëÃæ °¨ÀÌ ¿ÀÁÒ. ÀÎÅͳÝÀ» °Ç³Ê ¶Ù¾î¼­ ÀåÄ¡¿Í Åë½ÅÇϱâ À§ÇÑ ÀÎÅÍÆäÀ̽º ÀÔ´Ï´Ù. SCSI¸¦ ÀÎÅͳÝÀ¸·Î È®ÀåÇÑ °Ì´Ï´Ù.

SCSI´Â TCP/IP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÕ´Ï´Ù. Æ÷Æ®¹øÈ£´Â 860°ú 3260À» ÀÌ¿ëÇϰí¿ä. TCP/IP·Î ¿¬°áÇÑ´ÙÀ½ SCSI Ä¿¸àµå¸¦ ÀÌ¿ëÇØ¼­ ½ºÅ丮Áö¸¦ »ç¿ëÇÕ´Ï´Ù. iSCSI¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â ¾Æ·¡¿Í °°½À´Ï´Ù.
  • ÀúÀå¼Ò ÅëÇÕ
    ¿©±â Àú±â Èð¾îÁ® ÀÖ´Â ÀúÀå¼Ò¸¦ Çϳª·Î ÅëÇÕÇØ¼­ Áß¾Ó¿¡¼­ °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀúÀå¼Ò¸¦ ÅëÇÕÇÑ´ÙÀ½ ºÐ¹èÇÒ ¼ö ÀÖÀ½À¸·Î ÀÚ¿øÀ» È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹°¸®ÀûÀÎ Á¦¾àÀÌ ¾øÀ¸´Ï ´ë¿ë·®ÀÇ ÀúÀå¼Òµµ º° ´Ù¸¥ ºñ¿ë ÅõÀÚ ¾øÀÌ ½±°Ô ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
  • º¹±¸
    mirror Storage¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼­ µ¥ÀÌÅÍ¿¡ ¹®Á¦°¡ »ý±â´õ¶óµµ ½±°Ô º¹±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾ðÁ¦ Å×½ºÆ®¸¦ ÇØºÁ¾ß°Ú½º´Ï´Ù.
  • Network booting
    iSCSI´Â ·ÎÄà ÀúÀå¼Òó·³ »ç¿ëÇÒ ¼ö Àִµ¥, µû¶ó¼­ ¿ø°ÝÀ¸·Î ºÎÆÃÇÏ´Â°Ô °¡´ÉÇÕ´Ï´Ù. PXE-bootÀÇ °æ¿ì tftp¸¦ ¸¹ÀÌ »ç¿ëÇϴµ¥, iSCSI·Î ´ëü°¡´ÉÇÕ´Ï´Ù. Å×½ºÆ®´Â ¾ÈÇØºÃ½À´Ï´Ù. ¿ª½Ã ¾ðÁ¨°¡ Å×½ºÆ®¸¦ ÇØº¸°í ½Í³×¿ä.

2 iSCSIÀÇ ±¸¼º

iSCSI´Â ¼­¹ö Ŭ¶óÀÌ¾ðÆ® ¸ðµ¨À» µû¸£´Ï´Ù.
  • Target : ÀúÀå¼Ò¸¦ °ü¸®ÇÏ´Â ¼­¹öÀÔ´Ï´Ù.
  • Initiator : iSCSI Ŭ¶óÀÌ¾ðÆ® ÀÔ´Ï´Ù. Target¿¡ ¿¬°áÇÑ´ÙÀ½ SCSI ¸í·ÉÀ» ÀÌ¿ëÇØ¼­ ÀÔÃâ·Â ÀÛ¾÷À» ÇÕ´Ï´Ù.

3 Linux iSCSI »ç¿ë

¸®´ª½º¿¡¼­ iSCSI¸¦ ±¸¼ºÇØ º¸·ÁÇÕ´Ï´Ù. °øºÎ¸¦ ¸ñÀûÀ¸·Î ±¸¼ºÇÏ´Â °Å¶ó¼­ ·çÇÁ¹éÀ¸·Î ÃæºÐÇϰÚÁö¸¸, ÀÎÅÍ³Ý ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇÏ´Â ¸¸Å­ ³×Æ®¿öÅ©¸¦ ÀÌ¿ëÇØ¼­ ±¸¼ºÇÏ·Á°í ÇÕ´Ï´Ù. ¾ÈŸ±õ°Ôµµ Å×½ºÆ®¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â Àåºñ°¡ Á¦°¡ »ç¿ëÇÏ´Â ¸®´ª½º ³ëÆ®ºÏ Çϳª¶ó¼­, VirtualBox¸¦ ÀÌ¿ë LAN ȯ°æÀ» ±¸ÃàÇØ¼­ Å×½ºÆ® Çϱâ·Î ÇÞ½À´Ï´Ù. Target, Initiator ¸ðµÎ ¸®´ª½º°¡ µÇ°Ú±º¿ä.

Target ¼­¹ö´Â ÀÌ¹Ì ±¸ÃàÀÌ µÅ Àִµ¥¿ä. LVM ±¸Ãà¿¡¼­ »ç¿ëÇß´ø Linux Guest VMÀ» Target ¼­¹ö·Î »ç¿ëÇÒ °Ì´Ï´Ù. LVMÀ¸·Î ±¸¼ºµÈ ÀåÄ¡¸¦ iSCSI·Î ¿¬°áÇØ¼­ »ç¿ëÇÏ´Â °ÅÁÒ. LVM ±¸¼ºÀº µû¶óÇÏ½Ã¸é µÇ±¸¿ä. LVM ±¸¼ºÀÌ ±ÍÂúÀ¸¸é, Guest VM¿¡ ÀåÄ¡ Á÷Á¢ ºÙ¿©¼­ Å×½ºÆ®Çصµ µÇ°Ú½À´Ï´Ù.

3.1 Å×½ºÆ® ȯ°æ

  • Initiator Host
    • Ubuntu 11.04 desktop
    • 192.168.56.1
  • Target Host : VirualBOX Guest VM
    • Ubuntu 11.04 Server
    • 192.168.56.2
    • ºí·° ÀåÄ¡ : LVM
# lvdisplay  
  --- Logical volume --- 
  LV Name                /dev/myVG/lvol0 
  VG Name                myVG 
  LV UUID                fxc9Lm-MmRh-JTg2-rt6u-2shi-KvPN-udIS73 
  LV Write Access        read/write 
  LV Status              available 
  # open                 0 
  LV Size                1.46 GiB 
  Current LE             375 
  Segments               1 
  Allocation             inherit 
  Read ahead sectors     auto 
  - currently set to     256 
  Block device           252:0 
 

¼­¹ö ±¸¼ºÀº ´ÙÀ½°ú °°½À´Ï´Ù.


192.168.56.2°¡ storage º¼·ýÀ» Á¦°øÇÕ´Ï´Ù. iSCSI target È£½ºÆ®ÁÒ. 192.168.56.1¿¡¼­ iSCSI ÀåÄ¡¸¦ mountÇØ¼­ »ç¿ëÇÒ°Ì´Ï´Ù.

4 Target

4.1 Target ¼³Ä¡

iSCSI ¼­¹ö¿¡ Target ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼³Ä¡ÇØ¾ß °ÚÁÒ. ¾ÖÇø®ÄÉÀ̼ÇÀÇ À̸§Àº tgt ÀÔ´Ï´Ù.
# sudo apt-get install tgt 
 

¼³Ä¡¸¦ ³¡³Â´Ù¸é, ½ÇÇàÀ» ÇսôÙ.
# /etc/init.d/tgtd restart 
 

4.2 iqn

¸ÕÀú iqn °ªÀ» ÁöÁ¤ÇÕ´Ï´Ù. iqnÀº Qualified nameÀÇ ÁÙÀÓ¸»Àε¥, ÀåÄ¡¸¦ ã±â À§ÇÑ µµ¸ÞÀÎÀ̸§À̶ó°í º¸½Ã¸é µÇ°Ú³×¿ä.
# tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.joinc.com.example:storage.disk1 
 

tid °ªÀº 1ºÎÅÍ Á¤ÇØÁÖ¸é µË´Ï´Ù. iqn °ªÀÌ Á¦´ë·Î ¼³Á¤µÅ¾ú´ÂÁö È®ÀÎÀ» ÇØº¸ÁÒ.
# tgtadm --lld iscsi --op show --mode target 
Target 1: iqn.joinc.com.example:storage.disk1 
    System information: 
        Driver: iscsi 
        State: ready 
    I_T nexus information: 
    LUN information: 
        LUN: 0 
            Type: controller 
            SCSI ID: IET     00010000 
            SCSI SN: beaf10 
            Size: 0 MB, Block size: 1 
            Online: Yes 
            Removable media: No 
            Readonly: No 
            Backing store type: null 
            Backing store path: None 
            Backing store flags:  
    Account information: 
    ACL information: 
 
Àß ÁöÁ¤ µÆ½À´Ï´Ù. ¾ÆÁ÷ ¹°¸®ÀûÀÎ ÀåÄ¡°¡ ÇÒ´çµÅÁö ¾Ê¾ÒÀ¸¹Ç·Î Å©±â°¡ 0MBÀ롃 ¾Ë ¼ö ÀÖ½À´Ï´Ù. ¿©±â¿¡ ½ÇÁ¦ º¼·ýÀ» µî·ÏÇÏ¸é µÇ°ÚÁÒ. LV À̸§ /dev/myVG/lvol0À» µî·ÏÇϰڽÀ´Ï´Ù.
# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/myVG/lvol0  
 

º¼·ýÀÌ Á¦´ë·Î µî·ÏµÆ´ÂÁö È®ÀÎÇØ º¸°Ú½À´Ï´Ù.
# tgtadm --lld iscsi --op show --mode target 
Target 1: iqn.joinc.com.example:storage.disk1 
    System information: 
        Driver: iscsi 
        State: ready 
    I_T nexus information: 
    LUN information: 
        LUN: 0 
            Type: controller 
            SCSI ID: IET     00010000 
            SCSI SN: beaf10 
            Size: 0 MB, Block size: 1 
            Online: Yes 
            Removable media: No 
            Readonly: No 
            Backing store type: null 
            Backing store path: None 
            Backing store flags:  
        LUN: 1 
            Type: disk 
            SCSI ID: IET     00010001 
            SCSI SN: beaf11 
            Size: 1573 MB, Block size: 512 
            Online: Yes 
            Removable media: No 
            Readonly: No 
            Backing store type: rdwr 
            Backing store path: /dev/myVG/lvol0 
            Backing store flags:  
    Account information: 
    ACL information: 
 
LUN 1ÀÌ Ãß°¡µÈ °É È®ÀÎÇÒ ¼ö Àֳ׿ä.

ÀÌÁ¦ ¿ÜºÎ¿¡¼­ iSCSI Target¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï bind ÇØÁÖ¸é µË´Ï´Ù.
$ tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL 
 
ACL(Á¢±Ù¼³Á¤)Àº -I ¿É¼ÇÀ¸·Î Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±ÍÂú¾Æ¼­ ALL·Î Çß½À´Ï´Ù.

Á¦´ë·Î bindµÆ´ÂÁö netstat·Î È®ÀÎÇØ ºÃ½À´Ï´Ù.
# netstat -nap | grep tgtd 
tcp        0      0 0.0.0.0:3260            0.0.0.0:*               LISTEN      943/tgtd         
tcp6       0      0  3260                  *                    LISTEN      943/tgtd         
 

5 initiator

initiatorÀº iSCSI Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ¸ÕÀú ¼³Ä¡¸¦ ÇØ¾ß °ÚÁÒ. °ø°³ ¼ÒÇÁÆ®¿þ¾îÀÎ open-iscsi¸¦ »ç¿ëÇϱâ·Î Çß½À´Ï´Ù.
# sudo apt-get install open-iscsi 
 

ÀÌÁ¦ initiator nameÀ» ¼³Á¤ÇØ ÁÝ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®¸¦ ±¸º°Çϱâ À§ÇÑ À̸§À¸·Î º¸ÀÔ´Ï´Ù. open-iscsi¸¦ ¼³Ä¡Çß´õ´Ï, initiator name Á¤º¸¸¦ °¡Áø ÆÄÀÏÀÌ ¸¸µé¾îÁý´Ï´Ù. ¿ìºÐÅõ¶ó¸é È®ÀÎÇÒ Çʿ䰡 ¾ø´Âµ¥, À¯Àú°¡ Á÷Á¢ ÀÛ¾÷À» ÇØÁà¾ß ÇÏ´Â ¹èÆ÷ÆÇµµ ÀÖ´õ±º¿ä. CentOS°°Àº °æ¿ìÀä. initiator nameÀÌ ¾øÀ¸¸é, target¿¡ ¿¬°áÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ°Í ¶§¹®¿¡ »ðÁúÀ» Á» Çß½À´Ï´Ù. Ȥ½Ã ¸ð¸£´Ï È®ÀÎÇÏ´Â °É Ãßõ
# cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.1993-08.org.debian:01:378a830d17c 
 

initiator µ¥¸óÀ» ½ÇÇàÇÕ´Ï´Ù.
# /etc/init.d/iscsi-network-interface start 
 

ÀÌÁ¦ Target ½Ã½ºÅÛÀ» ãÀ¸¸é µË´Ï´Ù.
# iscsiadm --mode discovery --type sendtargets --portal 192.168.56.2 
192.168.56.2:3260,1 iqn.joinc.com.example:storage.disk1 
 

ã¾Ò´Ù¸é, ·Î±×ÀÎ ÇØ¼­ ÀåÄ¡¸¦ ºÙÀÔ´Ï´Ù.
# iscsiadm --mode node --targetname iqn.joinc.com.example:storage.disk1 --portal 192.168.56.2 --login 
Logging in to [iface: default, target: iqn.joinc.com.example:storage.disk1, portal: 192.168.56.2,3260] 
Login to [iface: default, target: iqn.joinc.com.example:storage.disk1, portal: 192.168.56.2,3260]: successful 
 

ÀåÄ¡°¡ ¼º°øÀûÀ¸·Î ºÙ¾ú´ÂÁö È®ÀÎÇØº¾½Ã´Ù.
# fdisk -l 
... 
... 
Disk /dev/sdb: 1572 MB, 1572864000 bytes 
49 heads, 62 sectors/track, 1011 cylinders 
Units = cylinders of 3038 * 512 = 1555456 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disk identifier: 0x00000000 
 
Àß ºÙ¾ú±º¿ä. ÀÌÁ¦ mkfs·Î Æ÷¸ËÇÑ ´ÙÀ½ ¸¶¿îÆ®ÇØ¼­ »ç¿ëÇÏ¸é µË´Ï´Ù.
# mkfs.ext4 /dev/sdb 
mke2fs 1.41.14 (22-Dec-2010) 
/dev/sdb is entire device, not just one partition!                                                              
Proceed anyway? (y,n) y 
Filesystem label= 
OS type: Linux 
Block size=4096 (log=2) 
Fragment size=4096 (log=2) 
Stride=0 blocks, Stripe width=0 blocks 
96000 inodes, 384000 blocks 
19200 blocks (5.00%) reserved for the super user 
First data block=0 
Maximum filesystem blocks=394264576 
12 block groups 
32768 blocks per group, 32768 fragments per group 
8000 inodes per group 
Superblock backups stored on blocks:  
        32768, 98304, 163840, 229376, 294912 
 
Writing inode tables: done                             
Creating journal (8192 blocks): done 
Writing superblocks and filesystem accounting information: done 
 
This filesystem will be automatically checked every 38 mounts or 
180 days, whichever comes first.  Use tune2fs -c or -i to override. 
 

¸¶¿îÆ® ÇÏ°í °á°ú¸¦ È®ÀÎÇß½À´Ï´Ù.
# mount /dev/sdb /mnt/iscsi0/ 
# df -h 
ÆÄÀϽýºÅÛ            Size  Used Avail Use% ¸¶¿îÆ® µÊ 
/dev/sda1             285G   65G  206G  25% / 
none                  1.5G  736K  1.5G   1% /dev 
none                  1.5G  6.7M  1.5G   1% /dev/shm 
none                  1.5G  312K  1.5G   1% /var/run 
none                  1.5G     0  1.5G   0% /var/lock 
/dev/sdb              1.5G   35M  1.4G   3% /mnt/iscsi0 
 

6 Cloud¸¦ À§ÇÑ LVM + iSCSI

ÀÌ ¹®¼­´Â iSCSI over LVM ±¸¼ºÀÔ´Ï´Ù. Ŭ¶ó¿ìµå´Â Storage¸¦ ÅëÇÕÇØ¾ß Çϰí, ¿ø°ÝÀ¸·Î Storage VolumeÀ» Á¦°øÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌ·± Á¡¿¡¼­ LVM°ú iSCSI´Â ÁÁÀº Á¶ÇÕÀ̶ó°í ÇÒ ¼ö ÀÖ°Ú½À´Ï´Ù.

¶Ç ´Ù¸¥ Á¶ÇÕÀ¸·Î »ý°¢ÇÒ ¼ö ÀÖ´Â°Ô NFS over LVMÀÏ °Çµ¥¿ä.

¾î´À ±¸¼ºÀ» ¼±ÅÃÇÒ Áö´Â [https]A Performance Comparison on NFS and iSCSI for IP-Networked Storage ¹®¼­¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.

À̿ܿ¡µµ iSCSI over ZFSµµ ÀÖ½À´Ï´Ù. ZFS´Â ÇöÀç Á¶»çÁß¿¡ ÀÖ½À´Ï´Ù.

7 history

  1. ÃÖÃÊÀÛ¼ºÀÏ : 2011³â 9¿ù 8ÀÏ

category_management
category__15
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.