ZFS
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

Contents

1 ZFS
2 Linux¿Í ZFS
2.1 zfs-fuse
3 Solaris¿Í ZFS
3.1 opensolaris ¼³Ä¡
3.2 zpool
3.3 mirror, RAIDZ, RAIDZ2
4 Native ZFS on Linux
5 °ü·Ã ¹®¼­
6 History

1 ZFS

À¯´Ð½ºÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» ´ëüÇϱâ À§Çؼ­ SUN¿¡¼­ °³¹ßÇÑ ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î Solaris 10¿¡ ¼Ò°³µÆ½À´Ï´Ù. ´Ü¼øÇÑ ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î º¸±â´Â Èûµì´Ï´Ù. LVMó·³ º¼·ý ¸Þ´ÏÀú·Î ºÁ¾ß ÇÒ °Í °°Àºµ¥¿ä. ÆÄÀÏ ½Ã½ºÅÛ°ú Logical Volume managerÀÌ ÇÔ²² ±¸ÇöµÅ ÀÖ½À´Ï´Ù. ÀÌ ¿Ü¿¡ snapshots, copy-on-write clones, continuous integrity checking, automatic repaire, RAID-Z µî ¹«½¼ ±â´ÉÀÏÁöµµ ¸ð¸¦ °Í °°Àº ´Ù¾çÇÑ ±â´ÉµéÀ» °¡Áö°í ÀÖ´Â È®ÀåµÈ ÆÄÀÏ ½Ã½ºÅÛÀÔ´Ï´Ù.

ZFS¸¦ ½áº» »ç¶÷µéÀº Áö»ó ÃÖ´ëÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ̶ó´Â Âù»ç¸¦ º¸³»´õ¶ó°í¿ä.

Àú´Â Cloud ȯ°æ¿¡¼­ File SystemÀ» ¼±ÅÃÇϱâ À§ÇÑ Å×½ºÆ® ¸ñÀûÀ¸·Î ZFS¸¦ ´Ù·ïº¸±â·Î Çß½À´Ï´Ù.

ZFSÀÇ ±â´ÉÀ» Á» Á¤¸®ÇØ ºÃ½À´Ï´Ù. °¢ ±â´ÉµéÀÌ Cloud ȯ°æ ±¸¼º¿¡ µµ¿òÀÌ µÉ¸¸ÇÑÀÚ°¡ ÁÖ¿ä °ü½É»ç ÀÔ´Ï´Ù.
  1. Data Integrigy
    ´Ù¸¥ ÆÄÀÏ ½Ã½ºÅÛ°ú ±¸ºÐµÇ´Â °¡Àå Å« Ư¡ÀÔ´Ï´Ù. µð½ºÅ© »óÀÇ À¯Àú µ¥ÀÌÅ͸¦ º¸È£ÇØ ÁÖ´Â ±â´ÉÀÌÁÒ. bit rot, cosmic radiation, current spikes, bugs in disk firmware, ghost writes µîÀ¸·Î ºÎÅÍ µ¥ÀÌÅ͸¦ º¸È£ÇØ ÁÝ´Ï´Ù. ¹°·Ð Ext, XFS, JFS, ReiserFS, NTFS µîµµ À¯Àú µ¥ÀÌÅ͸¦ º¸È£Çϱâ À§ÇÑ ±â´ÉÀ» °¡Áö°í ÀÖ±â´Â ÇÏÁö¸¸, ZFS´Â ÀÌµé º¸´Ù Ź¿ùÇÑ ¼º´ÉÀ» º¸¿©ÁÝ´Ï´Ù.
  2. Storage Pool
    LVM°ú ¸¶Âù°¡Áö·Î Çϳª ÀÌ»óÀÇ ÀåÄ¡¸¦ ÅëÇÕÇØ¼­ °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °¡»óÀÇ Storage PoolÀ» zpools¶ó°í ÇÕ´Ï´Ù. zpoolÀº °¡»ó ÀåÄ¡·Î block device ó·³ ÀÛµ¿ÇÕ´Ï´Ù. ºí·° ÀåÄ¡µéÀº ´Ù¾çÇÑ ¹æ½ÄÀ¸·Î Á¶ÇÕÇÒ ¼ö ÀÖ½À´Ï´Ù. non-redundantly (RAID 0°ú ºñ½Á), mirror ( RAID 1°ú ºñ½Á ), RAID-Z (RAID-5¿Í ºñ½Á), RAID-Z2 (RAID-6¿Í ºñ½Á) µîµîÀÔ´Ï´Ù. RAID¿¡ ´ëÇØ¼­ Á» ¾Ë°í ÀÖ¾î¾ß °¢ ¹æ½ÄÀÇ ÀåÁ¡À» ÀÌÇØÇÒ ¼ö ÀÖÀ» °Í °°±º¿ä.
  3. Capacity : ZFS´Â 128-bit ÆÄÀÏ ½Ã½ºÅÛÀÔ´Ï´Ù. ÀÌ Á¤µµ¸é °ÅÀÇ Á¦ÇѾøÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù°í º¼ ¼ö ÀÖÁö ½Í½À´Ï´Ù.
    • 2^48 °³ÀÇ µ¶¸³µÈ µð·ºÅ丮¸¦ ´Ù·ê ¼ö ÀÖ½À´Ï´Ù.
    • ÆÄÀÏÀÇ ÃÖ´ëÅ©±â´Â 16 exabytes ( 16 X 10^18) ÀÔ´Ï´Ù.
    • zpoolÀÇ ÃÖ´ë Å©±â´Â : 256 zettabytes (2^78)
    • ½Ã½ºÅÛ¿¡¼­ zpoolsÀÇ °¹¼ö : 2^64
    • zpools¿¡¼­ ÆÄÀÏ ½Ã½ºÅÛÀÇ °¹¼ö : 2^64

2 Linux¿Í ZFS

Linux¿¡ ZFS¸¦ À̽ÄÇϱâ À§ÇÑ ³ë·ÂÀÌ ÁøÇà ÁßÀÔ´Ï´Ù. À̽ÄÀº µÎ °¡Áö ¹æÇâÀ¸·Î ÀÌ·ïÁö°í ÀÖ½À´Ï´Ù.
  1. native ZFS
    ¸®´ª½º Ä¿³ÎÀÌ ZFS¸¦ Áö¿øÇϵµ·Ï ÇÏ´Â ÇÁ·ÎÁ§Æ®
  2. zfs-fuse
    fuse¸¦ ÀÌ¿ëÇØ¼­ ZFS¸¦ Áö¿øÇϵµ·Ï ÇÏ´Â ÇÁ·ÎÁ§Æ®
¾ÆÁ÷±îÁö´Â Linux¿¡¼­ ÀÌ¿ëÇÒ ¸¸ÇÑ ¼öÁØÀÌ ¾Æ´Ñ °Í °°½À´Ï´Ù. Áö¿øÇÏÁö ¾Ê´Â ±â´Éµéµµ ÀÖ´Â °Í °°±¸¿ä. zfs-fuse °°Àº °æ¿ì¿¡´Â ¼º´É¿¡ ¹®Á¦°¡ Á» ÀÖ½À´Ï´Ù. ¸®´ª½º¿¡¼­ ZFS¸¦ °æÇèÇϱâ À§ÇÑ ¸ñÀûÀ¸·Î »ç¿ëÇØ¾ß ÇÒ °Í °°³×¿ä.

2.1 zfs-fuse

  1. apt-get install zfs-fuse
  2. zpoll create mypool /dev/sdb /dev/sdc /dev/sdd /dev/sde
  3. zpool status mypool
  4. zfs create mypool/testzfs
  5. FS ¼º´É ÃøÁ¤ : Bonnie++

3 Solaris¿Í ZFS

3.1 opensolaris ¼³Ä¡

¼Ö¶ó¸®½º´Â ZFS¸¦ ±âº» ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î Çϰí ÀÖ½À´Ï´Ù. »ý°¢³­±è¿¡ x86±â¹ÝÀÇ opensolaris¸¦ ¼³Ä¡Çؼ­ °æÇèÇØ º¸±â·Î Çß½À´Ï´Ù. ¿ì¸®¿¡°Õ VMÀÌ ÀÖÀݾƿä.
  • hypervisor : VirtualBox
    VirtualBox ¿Í opensolaris ¸ðµÎ Oracle¿¡¼­ °³¹ßÇϰí ÀÖÀ¸´Ï, ±ÃÇÕÀÌ Àß ¸ÂÀ» °Å¶õ »ý°¢ÀÌ µì´Ï´Ù.
  • OpenSolaris
Àΰ£ÀûÀ¸·Î ¼³Ä¡´Â À©µµ¿ìº¸´Ù °£´ÜÇÕ´Ï´Ù. Ŭ¸¯ ¸î ¹øÀÌ¸é ³¡ÀÌ´Ï ¼³¸íÀº °Ç³Ê ¶Ù°Ú½À´Ï´Ù.

¼Ö¶ó¸®½º¸¦ ¸¶Áö¸·À¸·Î ½áº»°Ô ¾Æ¸¶ 9³âÀü ÂëÀÎ°Í °°½À´Ï´Ù. 2002³âÀÌ´ø°¡ ? Åõ¹ÚÇÑ CDE È­¸éÀ» »ý°¢Çߴµ¥, ¿À ù È­¸éÀÌ ¸ÚÁö³×¿ä. GNOME µ¥½ºÅ©Å¾ÀÔ´Ï´Ù.

º¸³½ »ç¶÷ Linux

3.2 zpool

³í¸®Àû º¼·ý °ü¸®ÀÚÀÇ ÇÙ½ÉÀº ÀåÄ¡¸¦ ¾Æ¿ì¸£´Â ÇϳªÀÇ poolÀ» ¸¸µå´Â °Ì´Ï´Ù. LVMµµ ±×·¸°í ZFSµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù. ZFS¿¡¼­´Â ÀÌ poolÀ» zpoolÀ̶ó°í ºÎ¸¨´Ï´Ù.

Å×½ºÆ®¸¦ À§Çؼ­ SATA 2G x 2 ÀåÄ¡¸¦ ÁغñÇß½À´Ï´Ù. ¹°·Ð °¡»ó ÀåÄ¡ÀÔ´Ï´Ù. ¸®´ª½º¿¡¼­ ÇÏ´ø °Íó·³ fdisk -l·Î ÀåÄ¡¸¦ È®ÀÎÇÏ·Á°í Çß´õ´Ï, »ç¿ë¹æ¹ýÀÌ ´Ù¸£±º¿ä. ±×·¡¼­ format·Î ÀåÄ¡¸¦ È®ÀÎÇß½À´Ï´Ù.
# format 
AVAILABLE DISK SELECTIONS: 
       0. c7d0 <DEFAULT cyl 2085 alt 2 hd 255 sec 63> 
          /pci@0,0/pci-ide@1,1/ide@0/cmdk@0,0 
       1. c9t0d0 <ATA-VBOX HARDDISK-1.0-2.00GB> 
          /pci@0,0/pci8086,2829@d/disk@0,0 
       2. c9t1d0 <ATA-VBOX HARDDISK-1.0-2.00GB> 
          /pci@0,0/pci8086,2829@d/disk@1,0 
 

c9t0d0, c9t1d0À» zpool·Î ¹­¾î¾ß °Ú½À´Ï´Ù.
# zpool create tank c9t0d0 c9t1d0 
 

Á¦´ë·Î ¸¸µé¾î Á³´ÂÁö È®ÀÎÀ» ÇØº¸°Ú½À´Ï´Ù.
# zpool list 
NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT 
rpool  15.9G  3.80G  12.1G    23%  ONLINE  - 
tank   3.97G   232K  3.97G     0%  ONLINE  - 
 
tank¶ó´Â À̸§ÀÇ zpoolÀÌ ¸¸µé¾îÁø°É È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

zfs·Î ÆÄÀÏ ½Ã½ºÅÛ Á¤º¸¸¦ È®ÀÎÇß½À´Ï´Ù. ¹Ø¿¡ tank°¡ º¸À̳׿ä.
# zfs list 
NAME                         USED  AVAIL  REFER  MOUNTPOINT 
rpool                       4.16G  11.5G  77.5K  /rpool 
rpool/ROOT                  3.16G  11.5G    19K  legacy 
rpool/ROOT/opensolaris      3.16G  11.5G  3.02G  / 
rpool/dump                   511M  11.5G   511M  - 
rpool/export                5.04M  11.5G    21K  /export 
rpool/export/home           5.02M  11.5G    21K  /export/home 
rpool/export/home/yundream     5M  11.5G     5M  /export/home/yundream 
rpool/swap                   512M  11.8G   137M  - 
tank                        74.5K  3.91G    19K  /tank 
 

zfs´Â µð·ºÅ丮 ÇüÅ·ΠÆÄÀÏ ½Ã½ºÅÛÀ» °ü¸®ÇÕ´Ï´Ù. tank ¹Ø¿¡ music, movie, source 3°³ÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¸µé¾î º¸°Ú½À´Ï´Ù.
# zfs create tank/music 
# zfs create tank/movie 
# zfs create tank/source 
# zfs list 
NAME                         USED  AVAIL  REFER  MOUNTPOINT 
... 
tank                         154K  3.91G    23K  /tank 
tank/movie                    19K  3.91G    19K  /tank/movie 
tank/music                    19K  3.91G    19K  /tank/music 
tank/source                   19K  3.91G    19K  /tank/source 
 
3°³ÀÇ ÆÄÀÏ ½Ã½ºÅÛÀÌ Ãß°¡·Î ¸¸µé¾îÁö±ä ÇßÁö¸¸ volumeÀ» ¸ðµÎ °øÀ¯Çؼ­ »ç¿ëÇϰí ÀÖ½À´Ï´Ù. °¢ ÆÄÀÏ ½Ã½ºÅÛ º°·Î ÄõÅ͸¦ Á¤ÇØ¾ß °ÚÁÒ. /tank/movie¸¦ 1G¸¦ »ç¿ëÇϵµ·Ï ÄõÅ͸¦ ÇÒ´çÇØ º¸°Ú½À´Ï´Ù. df·Î È®ÀαîÁö Çß½À´Ï´Ù.
# zfs set quota=1g tank/movie 
# zfs list | grep tank 
tank                         154K  3.91G    23K  /tank 
tank/movie                    19K  1024M    19K  /tank/movie 
tank/music                    19K  3.91G    19K  /tank/music 
tank/source                   19K  3.91G    19K  /tank/source 
 
# df -h /tank/movie 
Filesystem            Size  Used Avail Use% Mounted on 
tank/movie            1.0G   19K  1.0G   1% /tank/movie 
 
Àß ÇÒ´ç µÆ³×¿ä.

3.3 mirror, RAIDZ, RAIDZ2

ZFS´Â mirror¿Í RAIDZ, RAIDZ2¸¦ Áö¿øÇÕ´Ï´Ù. À̵éÀ» ÀÌÇØÇÏ·Á¸é ·¹À̵巹º§¿¡ ´ëÇÑ Áö½ÄÀÌ ÇÊ¿äÇÕ´Ï´Ù. 10G SATA Disk 6°³¸¦ Ãß°¡Çؼ­ °¢ ¸ðµåº°·Î Å×½ºÆ® Çϱâ·Î Çß½À´Ï´Ù.

RAIDZ°ú RAIDZ2¸¦ ÀÌÇØÇϱâ À§Çؼ­´Â RAID Level¿¡ ´ëÇÑ Áö½ÄÀÌ ÇÊ¿äÇÕ´Ï´Ù. °£´ÜÈ÷ Á¤¸®ÇغýÀ´Ï´Ù. ½ºÅ丮Áö¿¡ Àü¹®ÀûÀÎ Áö½ÄÀ» °¡Áö°í ÀÖÁö ¾Ê±â ¶§¹®¿¡ ´ë·« Á¶»çÇß½À´Ï´Ù. ¾ðÁ¨°¡ RAID¿¡ ´ëÇØ¼­ ÀÚ¼¼È÷ Á¶»çÇØº¸°í ½Í³×¿ä.
  • RAID-0 : µ¥ÀÌÅ͸¦ stripedÇØ¼­ ÀúÀåÇÕ´Ï´Ù. ÃÖ¼Ò µÎ °³ÀÇ ÀåÄ¡°¡ ÇÊ¿äÇϰÚÁÒ. A, B µÎ°³ÀÇ ÀåÄ¡°¡ RAID-0À¸·Î ¹­¿´´Ù°í °¡Á¤À» ÇØº¸°Ú½À´Ï´Ù. ¿©±â¿¡ 1,2,3,4 4°³ÀÇ µ¥ÀÌÅ͸¦ ¾´´Ù°í Çϸé, 1À» A¿¡ 2¸¦ B¿¡ µ¿½Ã¿¡ ¾¹´Ï´Ù. ¾²±â ¼º´ÉÀ» ³ôÀÏ ¼ö ÀÖ°ÚÁÒ. Àб⠼º´Éµµ ³ôÀÏ ¼ö ÀÖ´ÂÁö´Â Àß ¸ð¸£°Ú½À´Ï´Ù.
  • RAID-1 : µð½ºÅ©¸¦ ¹Ì·¯¸µ ÇÕ´Ï´Ù. ÃÖ¼Ò 2°³ÀÇ µð½ºÅ©°¡ ÇÊ¿äÇϰÚÁÒ. µ¥ÀÌÅ͸¦ Áߺ¹ ÀúÀåÇϱ⠶§¹®¿¡ ÇϳªÀÇ µð½ºÅ©¿¡ ¹®Á¦°¡ ¹ß»ýÇÒ °æ¿ì ¿Ïº®ÇÏ°Ô º¹±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. µÎ¹èÀÇ ÀúÀå°ø°£ÀÌ ÇÊ¿äÇÏ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù.
  • RAID-2 : ´õ ÀÌ»ó »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù.
  • RAID-3 : parity¸¦ »ç¿ëÇϸç, striping ÇÕ´Ï´Ù. stripingÀ» À§Çؼ­´Â µÎ °³ ÀÌ»óÀÇ µð½ºÅ©°¡ ÇÊ¿äÇϰÚÁÒ. ¿©±â¿¡ parity¸¦ À§ÇÑ µð½ºÅ©°¡ Çϳª´õ µé¾î°¡¼­ ÃÖ¼Ò 3°³ÀÇ µð½ºÅ©°¡ ÇÊ¿äÇÑ ±¸¼ºÀÔ´Ï´Ù. dedicated parity»ç¿ë
  • RAID-4 :
  • RAID-5 : parity¸¦ »ç¿ëÇϸç, striping ÇÕ´Ï´Ù.
  • RAID-6 : °¢ µð½ºÅ©¿¡ ºÐ¹èµÇ´Â doule parity¸¦ »ç¿ë, striping. µÎ°³ÀÇ µå¶óÀ̺ê±îÁö °íÀ峪´Â °ÍÀ» Çã¿ë.
  • RAID-10: RAID 1 + RAID 0 ÀÔ´Ï´Ù. mirrorÇϰí striping ÇÕ´Ï´Ù.


4 Native ZFS on Linux

  • Native ZFS on Linux : ¾ÕÀ¸·Î ¿ÀÇ ¼Ö¶ó¸®½º ´ë½Å ¸®´ª½º¸¦ ÀÌ¿ëÇØ¼­ zfs¸¦ Å×½ºÆ®ÇÒ »ý°¢ÀÔ´Ï´Ù.

5 °ü·Ã ¹®¼­

6 History

  1. ÀÛ¼ºÀÏ : 2011³â 9¿ù 6ÀÏ
  2. ¼öÁ¤ÀÌ·Â
    1. ÀÛ¼º : 2011/9/6

ÅÂ±× :

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