¸®´ª½º Native ZFS ¸ðµâ »ç¿ëÇϱâ
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

Contents

1 ¸®´ª½º native zfs ¸ðµâ
2 native zfs ¸ðµâ ¼³Ä¡
2.1 ¼³Ä¡ ȯ°æ
2.2 native zfs ¼³Ä¡
2.3 native zfs Å×½ºÆ®
2.3.1 ¾ÐÃà
2.3.2 raidz
2.3.3 spare
2.3.4 nfs
2.3.5 ±âŸ
3 Âü°í ¹®Çå
4 °á·Ð

1 ¸®´ª½º native zfs ¸ðµâ

zfs´Â nexcentastor¸¦ ´Ù·ç¸é¼­ °ü½ÉÀ» °¡Áö°Ô µÈ ÆÄÀÏ ½Ã½ºÅÛÀÌ´Ù. ±Ã±ØÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ̶ó°í ¼±ÀüÇϴµ¥, ±Ã±Ø±îÁöÀÎÁö´Â ¸ð¸£°ÚÁö¸¸ ¸Å¿ì ÁÁÀº ÆÄÀÏ ½Ã½ºÅÛÀÎ °Í¸¸Àº ºÐ¸íÇØ º¸ÀδÙ. º¼·ý ¸Þ´ÏÀú·Î¼­ÀÇ ±â´É »Ó¸¸ ¾Æ´Ï¶ó ¾Æ·¡ÀÇ ´Ù¾çÇÑ ±â´ÉµéÀ» º°µµÀÇ ¼ÒÇÁÆ®¿þ¾î Áö¿ø¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
  • ¹Ì·¯¸µ
  • RAIDZ (RAID-5¿Í ºñ½Á ÇÔ) Ç® ±¸¼º
  • RAIDZ2 (RAID-6¿Í ºñ½Á ÇÔ) Ç® ±¸¼º
  • ÇÏÀ̺긮µå ÀúÀå¼Ò Ç®
  • µ¥ÀÌÅÍ Ä¡·á
    • ¹Ì·¯¸µ ȤÀº RAID-Z ±¸¼ºÀ¸·Î µ¥ÀÌÅÍ ÀÚ°¡ Ä¡·á °¡´É

ZFS´Â Opensolaris¿¡¼­ Á¦°øÇÏ´Â ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î SUNÀÇ CDDL¶óÀ̼¾½º¸¦ µû¸¥´Ù. GPLÀ» µû¸£´Â ¸®´ª½º¿¡¼­ »ó¿ë Á¦Ç°À» ¸¸µå´Â SUNÀÇ CDDL°ú ¾ó¸¶³ª ±ÃÇÕÀÌ ¸ÂÀ»Áö°¡ Á» °ÆÁ¤ÀÌ¿©¼­ CDDL °ü·Ã Á¤º¸¸¦ ã¾ÆºÃ´Ù. ¿ø¹®À» ÀбⰡ ±ÍÂú¾Æ¼­ http://openlook.org:625/blog/2005/06/16/cb-938/ ÀÇ Á¤¸®µÈ ¹®¼­¸¦ Àоú´Ù. ±×³É °ÆÁ¤¾øÀÌ »ç¿ëÇØµµ µÉ °Í °°´Ù. ±×·¯´Ï ¸®´ª½º¿¡ Æ÷ÇԵưÚÁö ?

¸®´ª½º¿¡¼­ ZFS´Â µÎ °¡Áö ÇüÅ·Π°³¹ßµÇ°í ÀÖ´Ù. Çϳª´Â ZFS-FUSEÀÌ´Ù. À¯Àú ·¹º§ ÆÄÀÏ ½Ã½ºÅÛÀÎ FuseÀÀ¿ëÀÌ´Ù. À¯Àú ·¹º§¿¡¼­ ZFS¸¦ °æÇèÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ±â´Â Çѵ¥, ±â´ÉÀÌ Á¦ÇÑÀûÀÌ°í ¹«¾ùº¸´Ù ¼º´ÉÀÌ ³Ê¹« ¶³¾îÁø´Ù. ±×³É °æÇè»ï¾Æ »ç¿ëÇØº¸´Â Á¤µµÀÇ ¿Ï¼ºµµ´Ù.

´Ù¸¥ Çϳª´Â ¿À´Ã ´Ù·ê native zfs ¸ðµâÀÌ´Ù. ÇöÀç 0.6 ¹öÀüÀε¥, ZFSÀÇ ±â´Éµµ ´ëºÎºÐ Áö¿øÇÏ°í ¼º´Éµµ ±¦ÂúÀº °ÍÀ¸·Î º¸°íµÇ¼­ Å×½ºÆ® ÇØº¸±â·Î Çß´Ù.

2 native zfs ¸ðµâ ¼³Ä¡

2.1 ¼³Ä¡ ȯ°æ

¼³Ä¡ ȯ°æÀº ´ÙÀ½°ú °°´Ù.
  • Host ¿î¿µÃ¼Á¦ : Ubuntu 11.10
  • Guest ¿î¿µÃ¼Á¦ : Ubuntu 11.10
    • virtualbox·Î VMÀ» ¸¸µé¾î¼­ Å×½ºÆ® Çß´Ù.
    • kernel 3.0.9

2.2 native zfs ¼³Ä¡

http://zfsonlinux.org¿¡¼­ spl-0.6.0-rc6¿Í zfs-0.6.0-rc6 ´Ù¿î·Îµå ¹ÞÀº ¼Ò½ºÄڵ带 ÄÄÆÄÀÏ ÇØ¼­ ¼³Ä¡Çß´Ù.

¸ÕÀú ¸î °³ ÇÊ¿äÇÑ ÆÐŰÁö¸¦ ÀνºÅç ÇÑ´Ù.
# apt-get install zlib1g-dev uuid-dev libblkid-dev libselinux-dev parted lsscsi 
 

splÀ» ÄÄÆÄÀÏÇØ¼­ ¼³Ä¡ÇÑ´Ù.
# ./configure 
# make 
# sudo make install 
 

zfsµµ °°Àº ¹æ¹ýÀ¸·Î ÄÄÆÄÀÏÈÄ ¼³Ä¡ÇÑ´Ù.
# ./configure 
# make 
# sudo make install 
 

À̰ɷΠ³¡. lsmod·Î È®ÀÎ ÇØº¸ÀÚ.
# lsmod | grep zfs 
zfs                  1032995  2  
zcommon                46636  1 zfs 
znvpair                52918  2 zfs,zcommon 
zavl                   15010  1 zfs 
zunicode              331186  1 zfs 
spl                   126473  5 zfs,zcommon,znvpair,zavl,zunicode 
 

2.3 native zfs Å×½ºÆ®

Å×½ºÆ® ubuntu vm¿¡ SATA disk¸¦ 4°³ Ãß°¡ ÇÑ ´ÙÀ½ ºÎÆÃÇß´Ù. fdisk·Î È®ÀÎÇÑ µð½ºÅ© Á¤º¸´Â ´ÙÀ½°ú °°´Ù.
  • /dev/sdb : 8 Gbyte
  • /dev/sdc : 8 Gbyte
  • /dev/sdd : 8 Gbyte
  • /dev/sde : 8 Gbyte

zpool create, zfs create µîµîÀº ´ç¿¬È÷ Àß µÈ´Ù.
# zpool create -f tank /dev/sdb /dev/sdc /dev/sdd /dev/sde 
# zfs create tank/fish 
 

2.3.1 ¾ÐÃà

¾ÐÃàÀº Àß µÉ±î. Å×½ºÆ® ÇØºÃ´Ù.
# zfs set compression=gzip tank/fish 
 

Á¤¸» ¾ÐÃàÀÌ µÇ´Â Áö¸¦ Å×½ºÆ® ÇØº¸±â À§Çؼ­ dd·Î 500M ÆÄÀÏÀ» Çϳª ¸¸µé¾ú´Ù.
# cd /tank/fish 
# dd if=/dev/zero of=dd.dat bs=1M count=500 
500+0 records in 
500+0 records out 
524288000 bytes (524 MB) copied, 1.12752 s, 465 MB/s 
 

du·Î ÆÄÀÏÀÇ Å©±â¸¦ È®ÀÎÇß´Ù.
# du -h 
2.0K 
 
2.0 K·Î ¾ÐÃàµÆ´Ù.

ls·Î ÆÄÀÏÀ» º¸¸é
# ls -al dd.dat  
-rw-r--r-- 1 root root 524288000 2011-12-07 22:57 dd.dat 
 
¿ø·¡ ÆÄÀÏ Å©±â·Î º¸ÀδÙ. ÆÄÀÏÀÇ ½ÇÁ¦ ¹°¸®Àû Å©±â°¡ ¾Æ´Ñ ¸ÞŸ Á¤º¸¸¦ º¸¿©Áֱ⠶§¹®ÀÌ´Ù.

2.3.2 raidz

raidzÀ¸·Î Ç®À» ¸¸µé¾ú´Ù. ÃÖ¼Ò 2°³ÀÇ µð½ºÅ©°¡ ÇÊ¿äÇÏ´Ù.
# zpool create tank raidz /dev/sdb /dev/sdc /dev/sdd /dev/sde 
# zpool status 
  pool: tank 
 state: ONLINE 
 scan: none requested 
config: 
 
        NAME        STATE     READ WRITE CKSUM 
        tank        ONLINE       0     0     0 
          raidz1-0  ONLINE       0     0     0 
            sdb     ONLINE       0     0     0 
            sdc     ONLINE       0     0     0 
            sdd     ONLINE       0     0     0 
            sde     ONLINE       0     0     0 
 
 
raidzÀº single parity¸¦ Áö¿øÇϹǷΠÇϳªÀÇ µð½ºÅ©¿¡ ¹®Á¦°¡ »ý±â´õ¶óµµ µ¥ÀÌÅÍ ¼Õ½ÇÀÌ ¾ø¾î¾ß ÇÑ´Ù. ¹°¸®ÀûÀÎ µð½ºÅ©·Î zpoolÀ» ±¸¼ºÇß´Ù¸é µð½ºÅ©¸¦ Á¦°ÅÇÏ´Â °ÍÀ¸·Î Å×½ºÆ®°¡ °¡´ÉÇϰڴµ¥, °¡»ó ȯ°æ¿¡¼­´Â Å×½ºÆ®°¡ Á» ¾Ö¸Å¸ðÈ£ ÇÏ´Ù. ³ªÁß¿¡ ¹°¸®ÀûÀΠȯ°æÀÌ ±¸¼ºµÇ¸é ±×´ë Á¦´ë·Î Å×½ºÆ® ÇØºÁ¾ß °Ú´Ù.

raidz2 Ç®À» ¸¸µé¾ú´Ù. ÃÖ¼Ò 3°³ÀÇ µð½ºÅ©°¡ ÇÊ¿äÇÏ´Ù.
# zpool create tank raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde 
 
double parity¸¦ Áö¿øÇϹǷΠµÎ°³ µð½ºÅ©¿¡ ¹®Á¦°¡ »ý°Üµµ µ¥ÀÌÅÍ ¼Õ½Ç ¾øÀÌ ¿î¿ëÇÒ ¼ö ÀÖ´Ù.

raid3 Ç®µµ Àß ¸¸µé¾îÁø´Ù.

2.3.3 spare

spare Áö¿øµµ Å×½ºÆ® ÇØºÃ´Ù. 3°³ÀÇ µð½ºÅ©¸¦ raidz·Î ¹­°í, µð½ºÅ© Çϳª¸¦ spare·Î ¹­¾ú´Ù.
# zpool create tank raidz /dev/sdb /dev/sdc /dev/sdd spare /dev/sde 
# zpool status 
  pool: tank 
 state: ONLINE 
 scan: none requested 
config: 
 
        NAME        STATE     READ WRITE CKSUM 
        tank        ONLINE       0     0     0 
          raidz1-0  ONLINE       0     0     0 
            sdb     ONLINE       0     0     0 
            sdc     ONLINE       0     0     0 
            sdd     ONLINE       0     0     0 
        spares 
          sde       AVAIL    
 
ÀÌÁ¦ raidz1 poolÀÇ µð½ºÅ© Áß Çϳª°¡ FAILURE°¡ µÇ¸é sparesÀÇ µð½ºÅ©°¡ FAILURE µð½ºÅ©¸¦ ´ë½ÅÇØ¼­ ÀÛµ¿ÇÒ °Å´Ù.

¿ª½Ã ¹°¸®Àû ȯ°æÀ» ±¸¼ºÇØ¾ß Á¦´ë·Î Å×½ºÆ®ÇÒ ¼ö ÀÖÀ» °Í °°´Ù. ±â´ÉÀº ±¸ÇöµÈ °Í °°À¸´Ï, ¾î¼­ ¹ß¸® ¹°¸®Àû ȯ°æÀ» ¸¸µé¾î¼­ ½ÇÁ¦·Î Å×½ºÆ® ÇØº¸°í ½Í´Ù.

2.3.4 nfs

zfs´Â nfs¿Í smb¼­ºñ½º¿Í ÅëÇյŠÀÖ´Ù. zfs ¸í·ÉÀ¸·Î °£´ÜÇÏ°Ô Æú´õ¸¦ °øÀ¯ÇÒ ¼ö ÀÖ´Ù. ¹°·Ð nfs ¼­¹ö´Â ¼³Ä¡µÅ ÀÖ¾î¾ß ÇÑ´Ù.
# zfs set sharenfs=on tank/home 
# nfsstat  
Server rpc stats: 
calls      badcalls   badclnt    badauth    xdrcall 
1          0          0          0          0        
 
Server nfs v3: 
null         getattr      setattr      lookup       access       readlink      
1       100% 0         0% 0         0% 0         0% 0         0% 0         0%  
read         write        create       mkdir        symlink      mknod         
0         0% 0         0% 0         0% 0         0% 0         0% 0         0%  
remove       rmdir        rename       link         readdir      readdirplus   
0         0% 0         0% 0         0% 0         0% 0         0% 0         0%  
fsstat       fsinfo       pathconf     commit        
0         0% 0         0% 0         0% 0         0%  
 


2.3.5 ±âŸ

¾Æ·¡ ±â´Éµµ Áö¿øÇÑ´Ù. Áß¿äÇÑ°Ç ¹°¸®Àû ȯ°æ¿¡¼­ÀÇ Å×½ºÆ®°¡ µÉ µí.
  • mirror
  • log
  • cache
  • snapshot
  • import, export
  • ±âŸµîµî...

3 Âü°í ¹®Çå

4 °á·Ð

  • ¹°¸®Àû ȯ°æ¿¡¼­ Å×½ºÆ® ÇÏ°í ½Í´Ù. JBODÀ¸·Î.
  • nexentastor °°Àº ¸®´ª½º ±â¹Ý º¼·ý ¸Þ´ÏÀú ¼ÒÇÁÆ®¿þ¾î ã¾ÆºÁ¾ß °Ú´Ù.

ÅÂ±× :

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