æåã®ã¹ãã¬ãŒãžãã£ã¬ã¯ãã£ãïŒééã£ãããŒã¿ãè¿ããªãã§ãã ããïŒ
ZFSé©åœã 2006幎é
FreeNASã«é¢ããç§ã®èšäºã§ã¯ããZFSãæé«ã®ãã¡ã€ã«ã·ã¹ãã ã§ããããšç¹°ãè¿ãè¿°ã¹ãŸãããããœãŒã·ã£ã«ã¡ãã£ã¢ã§ã®ç§ã®æçš¿ãèŠãã°ãç§ã¯ããããŸã£ãã奜ãã§ã¯ãªãããšãæããã«ãªããŸãã ãã®ãããªççŸã«ã¯èª¬æãšæèãå¿ èŠã§ãããšããçµè«ã«éããŸããã®ã§ãZFSãã¡ã³ãæ··ä¹±ããããªã¹ã¯ãåããŠããããå®è¡ããŸãããã
ZFSã2005幎ã«æåã«ç»å Žãããšããããã¯å®å šã«ã¿ã€ã ãªãŒã§ãããããŸã ããã«æ®ã£ãŠããŸãã ZFSéçºè ã¯ãVolume Managerã®æé«ã®æ©èœãSolaris 10ã®zettabyteã¹ã±ãŒã«ã®ãã¡ã€ã«ã·ã¹ãã ãšçµã¿åãããããšã«ãããå€ãã®æ£ããããšãè¡ããŸããã
- ZFSã¯ãããŒã¿ãšã¡ã¿ããŒã¿ã®éãšãã¡ã€ã«ãµã€ãºã«å®è³ªçã«å¶éããªããçŸä»£ã®ãã¹ãŠã®ãã¡ã€ã«ã·ã¹ãã ãæã€ã¹ãã¹ã±ãŒã©ããªãã£ã®ã¬ãã«ã«éããŸããã
- ZFSã¯ãç Žæãæ€åºããããã«ãã¹ãŠã®ããŒã¿ãšã¡ã¿ããŒã¿ã®ãã§ãã¯ãµã ããã§ãã¯ããŸã;ããã¯ãé·æã®å€§èŠæš¡ããŒã¿ã¹ãã¬ãŒãžã«äžå¯æ¬ ãªæ©èœã§ãã
- ZFSã¯ãšã©ãŒãæ€åºãããšããã©ãŒãããªãã£ãããã¯ããŸãã¯ä»£æ¿ã¹ãã¬ãŒãžã®å ŽæããããŒã¿ãèªåçã«å埩ã§ããŸãã
- ãã©ãŒãªã³ã°ãšRAID-Zãã·ã¹ãã ã«çµã¿èŸŒãŸããŠãããããè€æ°ã®ãã©ã€ããææ©çã«1ã€ã®è«çããªã¥ãŒã ã«çµåãããŸãã
- ZFSã«ã¯ãä»ã®ããªã¥ãŒã ã®ããŒã¿ã段éçã«æŽæ°ããæ©èœãªã©ãã¹ãããã·ã§ãããšãã©ãŒãæºåããããã®ä¿¡é Œã§ããæ©èœããããŸãã
- ããŒã¿ã¯ãã®å Žã§å§çž®ã§ããéè€æé€ããµããŒããããŠããŸãã
ZFSãç»å Žãããšããå€ãããªã¥ãŒã ãããŒãžã£ãŒããã¡ã€ã«ã·ã¹ãã ã«æ¯ã¹ãŠé©æ°çãªã·ã¹ãã ã§ãã ã ãŸããSunã¯ZFSãœãŒã¹ã³ãŒãã®ã»ãšãã©ãå ¬éããä»ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ç§»æ€ã§ããããã«ããŸããã æ¥çã§æã人æ°ã®ããããã¡ããšããŠãZFSã¯Linuxããã³FreeBSDã§ããã«ç»å ŽããAppleã§ããMac OS Xã®æ¬¡äžä»£ãã¡ã€ã«ã·ã¹ãã ã®äžéšãšããŠå®è£ ãå§ããŸããã æªæ¥ã¯ãšãŠãæããããã«èŠããŸããïŒ
ãŠãŒã¶ãŒããŒã¿ã®ãã§ãã¯ãµã ãå¿ èŠã§ããããããªããšãå¿ ç¶çã«ããŒã¿ã倱ãããŸããã 倧ããªãã£ã¹ã¯ã§ããŒã¿æŽåæ§ãã§ãã¯ãå¿ èŠãªçç± ãããã³ã æåã®ã¹ãã¬ãŒãžãã£ã¬ã¯ãã£ãïŒããŒã¿ã倱ããªã ã
2007幎ãã2010幎ïŒZFSã¯è±ç·ãã
ããããZFSã®åå©ã®éäžã§æãããããšãèµ·ãããŸããïŒèšŽèšãã©ã€ã»ã³ã¹ãšFUDã®åé¡-æªè ããã®å¿ççæäœã®æŠè¡ã
æåã®ã¯ã©ãŠãã¯ãZFSãWAFLç¹èš±ã䟵害ãããšããçç±ã§ãNetAppãSunã«å¯ŸããŠèšŽèšãèµ·ããã2007幎ã«ç»å ŽããŸããã å幎ããµã³ã¯å蚎ãæèµ·ããæ³ç蚎èšãç¶ããã ZFSã«ã¯ééããªãNetAppã³ãŒãããããŸããã§ããããã¹ãããã·ã§ããã«æžã蟌ãããã®ã³ããŒã¡ã«ããºã ã¯WAFLã«é¡äŒŒããŠãããæ¥çã®äžéšã®äººã ã¯NetAppã®èšŽèšãZFSãªãŒãã³ãœãŒã¹ã®å¯çšæ§ã«åœ±é¿ããããšãå¿é ããŠããŸããã ãããã®ãªã¹ã¯ã¯ãAppleããã®OSã®ãªãªãŒã¹çŽåã«Mac OS X 10.6ãSnow Leopardãã§ZFSãµããŒããæŸæ£ããã®ã«ååã§ããã
äŒç€Ÿã§ãã®ãããžã§ã¯ãã«æºãã£ãAdam Leventhalã«ããZFSãšAppleã«é¢ããçŽ æŽãããããã°ããããŸãïŒ ZFSïŒAppleã®æ°ãããã¡ã€ã«ã·ã¹ãã
ãã®åŸããµã³ã¯å°é£ãªææãçµéšãããªã©ã¯ã«ã¯äŒç€Ÿãè²·åããç¬éãæããŸããã ãªã©ã¯ã«ã¯ç¡æãããžã§ã¯ãã«å¯Ÿããå¹ åºãäžè¬æ¯æã®å€§ãã¡ã³ã§ã¯ãªããããããã¯ZFSã®å°æ¥ã«ã€ããŠæ°ããªçåãæããããŸããã ãŸããOracleãZFSã³ãŒãã«é©çšããCDDLã©ã€ã»ã³ã¹ã¯ãLinuxã§äœ¿çšãããŠããGPLv2 ãšäºææ§ããªããšèªèãããŠãããããäžçã§æã人æ°ã®ãããµãŒããŒOSã§ZFSã䜿çšã§ããŸããã
OpenSolarisãããžã§ã¯ãã¯Oracleã®è²·ååŸãç¶ç¶ããŠããŸããããZFSã¯FreeBSDã«å«ãŸããŠããŸãããã倧éšåã¯äŒæ¥ã»ã¯ã¿ãŒã®å€ã«ãããŸããã ãã¡ãããNexentaStorãšGreenBytesã¯ãšã³ã¿ãŒãã©ã€ãºã»ã¯ã¿ãŒã§ZFSãä¿é²ããã®ã«åœ¹ç«ã¡ãŸããããOracleã®SunãµãŒããŒãµããŒãã®æ¬ åŠãç¶æ³ã«åœ±é¿ãäžãå§ããŸããã
ZFSã®çŸåšã®åé¡ã¯äœã§ããïŒ
OpenZFSã¯ã10幎åã®ãã¡ã€ã«ã·ã¹ãã ãšã»ãšãã©å€ãããŸããã
å€ãã®ãŠãŒã¶ãŒãéè€æé€ã«æççã§ãããå€ãã®é«äŸ¡ãªã¡ã¢ãªãå¿ èŠã§ãã ãããŠãæ¬åœã«å€§åãªããšã§ããã»ãŒãã¹ãŠã®ZFS FAQã«ã¯ãECCã¡ã¢ãªãšæäœ8 GBããå¿ èŠãããŸããã FreeNASã§ã®ç§èªèº«ã®çµéšã§ã¯ãZFSãåããã¢ã¯ãã£ããªå°åãµãŒããŒã«ã¯32 GBã§ååã§ãããä»æ¥ã®äŸ¡æ Œã§ã200ã300ãã«ããããŸãã
ãŸããZFSã¯ãã©ãã·ã¥ã¡ã¢ãªã«å®éã«ã¯é©å¿ããŠãããããã©ãã·ã¥ã¡ã¢ãªã¯çŸåšã©ãã§ã䜿çšãããŠããŸãã ãã©ãã·ã¥ã¯ZILããã³L2ARCãã£ãã·ã¥ã«äœ¿çšã§ããŸãããããã¯ååãªRAMãåããã·ã¹ãã ã«ãšã£ãŠçãããå©ç¹ã§ãããZFSã«ã¯çã®ãã€ããªããã¹ãã¬ãŒãžæ©èœããããŸããã ãã§ã«æ°ãã©ãã€ãã®3D NANDãã©ã€ããåžå Žã«åºåã£ãŠããã®ã«ãZFSã®ããã¥ã¡ã³ããè³ãæã§æ°ã®ã¬ãã€ãã®SLCãã©ãã·ã¥ã¡ã¢ãªã«èšåããŠããã®ã¯ã°ãããŠããŸãã NVMeã«ã€ããŠã¯èª°ãèªããŸããããããã¯ãã€ãšã³ãPCã®æšæºã§ãã
ãããŠãæè»æ§ã®åé¡ããŸãã¯ãããååšããªããšããåé¡ããŸã ãããŸãã ZFSããªã¥ãŒã ãäœæããå Žåãããã¯å®è³ªçã«åºå®ãããŠããŸãã ã¹ãã¬ãŒãžããŒã«ãæ¡åŒµããæ¹æ³ã¯3ã€ãããããŸããã
- ããŒã«å ã®ãã¹ãŠã®ãã£ã¹ã¯ã絶察ã«å€§å®¹éã®ãã£ã¹ã¯ã«äº€æããŸãïŒããã¯ã¯ãŒã«ã§ãããé«äŸ¡ã§ãïŒã
- ç°ãªããã£ã¹ã¯ã®ã»ããã䜿çšããŠãã£ã¹ã¯ã·ãŒã±ã³ã¹ãäœæããŸãïŒããã©ãŒãã³ã¹ã®äžåè¡¡ãåé·æ§ãããã³ãã®ä»ã®å€æ°ã®æœåšçã«æããªãšã©ãŒã«ã€ãªããå¯èœæ§ããããŸãïŒã
- æ°ããããŒã«ãäœæãã
zfs send
ã³ãã³ãã䜿çšããŠããã«ããŒã¿ã»ããã転éããŸãïŒããã§ã¯ããªãã¯ããããŸããããããè¡ããŸãïŒã
3çªç®ã®æ¹æ³ã«å ããŠãZFSããŒã«ãåæžããæ¹æ³ã¯ãããŸããã ããã«æªãããšã«ã2çªç®ãš3çªç®ã®ããªãã£ãã£ã¹ã¯ãè¿œå ãããªã©ãããŒã«å šäœãåæ§ç¯ããã«ããŒã¿ä¿è·ã®çš®é¡ãå€æŽããããšã¯ã§ããŸããã FreeNASã¯ãæ°èŠåå ¥è ãRAID-Z1ã䜿çšããã®ãæããšã©ãŸãããããã«ãéåžžã«é·ãæéãè²»ãããŠããŸã[1] ããŸã ãã®ãããªã¹ããŒã ãéžæããŠããå Žåã¯æå¥ãèšããŸãã
ãããã¯ãã¹ãŠãå°ãããŠåãã«è¶³ããªããã®ã®ããã«æãããããããŸããããDroboãSynologyããŸãã¯ææ°ã®ã¯ã©ãŠãã¹ãã¬ãŒãžã·ã¹ãã ã䜿çšããåŸãéåçã«äžäžã«ZFSã䞻芳çã«éä¿¡ããŸãã ZFSã䜿çšããå Žåãããã£ã¹ã¯ã倧éã®ã¡ã¢ãªãè³Œå ¥ããRAIDã¢ã¬ã€ãäœæããäºåºŠãšã¢ã¯ã»ã¹ããªããå¿ èŠããããŸããããã¯ãã¹ãã¬ãŒãžã·ã¹ãã ã®çŸä»£çãªäœ¿çšã«ã¯ãŸã£ãã察å¿ããŠããŸãã[2] ã
ãªãã·ã§ã³ã¯äœã§ããïŒ
ç§ã¯ZFSãæªãå ã§æ瀺ãããšæããŸãã ãã€ãŠã¯é©æ°çã§ããããä»ã§ã¯éçã瀺ãå§ãããã©ãã·ã¥ããŒã¿ã¹ãã¬ãŒãžãåããçŸä»£ã®äžçã®æèããå€ããŠããŸãã 代æ¿æ段ã¯ãããŸããïŒ
Linuxã«ã¯é©åãªããªã¥ãŒã ããã³ãã¡ã€ã«ã·ã¹ãã ãããŒãžã£ãŒããããã»ãšãã©ãLVMãŸãã¯MDãšext4ã䜿çšããŠããŸãã ãã¡ã€ã«ã·ã¹ãã ã®ã¹ãã·ã£ãªã¹ãã¯ãããªã¥ãŒã ãããŒãžã£ãŒãšZFSã¹ã¿ã€ã«ã®ãã¡ã€ã«ã·ã¹ãã ã®æ©èœãçµã¿åãããBtrfsã«éåžžã«æºè¶³ããŠããŸããããReiserFSãå°å ¥ãã以äžã®æè»æ§ãåããŠããŸãã ãããŠãBtrfsã¯æ¬åœã«ãLinuxçšã®ZFSãã«ãªãå¯èœæ§ããããŸãããããã»ã©åã®ããšã§ã¯ãããŸããããæšå¹Žã®RAID 5ããã³6襲æã«ããããŒã¿æ倱ãšããã²ã©ããã°ã®åŸã«éçºãã€ãŸãããŸããã ãããã5幎åŸã«ã¯ãç¹ã«ã³ã³ãããŒã§äœ¿çšã§ãã匷åãªå¯èœæ§ããããããLinuxãŠãŒã¶ãŒã«Btrfsã®äœ¿çšãæšå¥šãããšãŸã èããŠããŸã[3]ã ã
Windowsã®å ŽåãMicrosoftã¯ãB +ããªãŒïŒBtrfsã«é¡äŒŒïŒã䜿çšããŠç¬èªã®æ°äžä»£ReFSãã¡ã€ã«ã·ã¹ãã ãå±éããã¯ã¬ã€ãžãŒãªã¹ã±ãŒãªã³ã°ãšèä¹ æ§ãããŒã¿ä¿è·æ©èœãåããŠããŸã[4] ã èšæ¶åã¹ããŒã¹ãšçµã¿åãããããšã§ãMicrosoftã¯ãSSDãš3D-XPointãéå±€ãŸãã¯ãã£ãã·ã¥ãšããŠäœ¿çšããããšãã§ãããWindows Serverçšã®æ¬¡äžä»£ã®å®è¡å¯èœãªã¹ãã¬ãŒãžã·ã¹ãã ãæäŸããŸãã
ãŸããã¢ããã«ã¯ã APOSã«èœã¡çãåã«ã¹ãã¬ãŒãžã·ã¹ãã ãæ°åå€æŽãããšåãããŠãããAPOSã¯ä»å¹ŽmacOS High Sierraã§ãªãªãŒã¹ãããŸããã APFSã¯Btrfsããã³ReFSãšéåžžã«äŒŒãŠããŸãããå®å šã«ç°ãªãæ¹æ³ã§å®è£ ãããŠããããŠãŒã¶ãŒã«éç¹ã眮ããŠããŸãã äžéšã®é åã§å€±ãããïŒãŠãŒã¶ãŒããŒã¿ã¯ãã§ãã¯ãµã ã§ãã§ãã¯ããããå§çž®ã¯ãµããŒããããªãïŒãããAPFSã¯iOSããã³macOSã«å¿ èŠãªã·ã¹ãã ã§ãã ãããŠãAPFSã¯ãMac OS Xäžã®ZFSãã®ã¢ã€ãã¢ã®coã®æåŸã®éã§ãã
3ã€ã®äž»èŠãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ã¯ãããããæ°äžä»£ã®ãã¡ã€ã«ã·ã¹ãã ïŒããã³ããªã¥ãŒã ãããŒãžã£ãŒïŒããããŸãã Linuxã«ã¯BtrfsããããWindowsã«ã¯ReFSãšStorage SpacesããããmacOSã«ã¯APFSããããŸãã FreeBSDã¯ZFSãžã®ã³ãããã¡ã³ããç¶æããŠããããã§ãããããã¯åžå Žã®ã»ãã®äžéšã§ãã ãŸãããã¹ãŠã®ãšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®ã·ã¹ãã ã¯ãSunãNexentaãããã³iXsystemsã®ZFSããã³ZFSããŒã¹ã®ãšã³ã¿ãŒãã©ã€ãºã·ã¹ãã ãå®è¡ã§ããèœåãã¯ããã«è¶ ããŠãã§ã«é²æ©ããŠããŸãã
ããããZFSã¯ãããŒã ãŠãŒã¶ãŒã®å€ããã¡ã€ã«ã·ã¹ãã ãããã¯ããã«åªããŠããŸãã æŽåæ§ãã§ãã¯ãåé·æ§ããã³ãšã©ãŒå埩ã®æ¬ åŠã®ãããNTFSïŒWindowsïŒãHFS +ïŒmacOSïŒããã³ext3 / 4ïŒLinuxïŒã¯é·æããŒã¿ã¹ãã¬ãŒãžã«ã¯çµ¶å¯Ÿã«é©ããŠããŸããã ãŸããæŽåæ§ãã§ãã¯ããªãããReFSãšAPFSã§ãããããŒã¿ã®æ倱ã蚱容ã§ããªãå Žåã«ã¯é©ããŠããŸããã
èè ã®äœçœ®ïŒZFSã䜿çšããïŒä»ã®ãšããïŒ
èªããã®ã¯æ²ããã§ããã2017幎ã«ã¯ãZFSã¯é·æã®å€§èŠæš¡ããŒã¿ã¹ãã¬ãŒãžã«æé©ãªãã¡ã€ã«ã·ã¹ãã ã§ãã ïŒFreeBSDãSolarisãããã³ç¹æ®ãªããã€ã¹ãé€ããŠïŒäœ¿çšããã®ãé£ããå ŽåããããŸããããã®ä¿¡é Œæ§ãšä¿¡é Œæ§ã«ãããZFSã¯äŒæ¥ã®ã¹ãã¬ãŒãžã·ã¹ãã ã®å€éšã«ããŒã¿ãä¿åããå¯äžã®ä¿¡é Œã§ããããŒã«ã«ãªããŸãã çµå±ã ãã¡ã€ã«ã·ã¹ãã ãæ¬åœã«å¿ èŠãªã®ã¯ ã ä¿¡é Œã§ããããŒã¿ã¹ãã¬ãŒãžã ãã§ã ã ç§ã®éèŠãªããŒã¿ã¯ãã¹ãŠãåçããé³æ¥œãæ ç»ãããªãã£ã¹ãã¡ã€ã«ãŸã§ãããã«ZFSã«éãããŸãã ããã«ãZFS以å€ã®ãã®ãä¿¡é ŒããŸãïŒ
è泚
1.ææ°ã®å€§å®¹éãã£ã¹ã¯ã§ã¯ãåé·æ§ã®é«ãRAID-Z2ããã³RAID-Z3ãæãŸããã§ãã â
2.å¥åŠãªããšã«ãè€æ°ã®ããŒã«ãšãªã ãŒããã«ãã©ã€ãã¯ZFSã§æ£åžžã«åäœããŸããããã®ãŠãŒã¹ã±ãŒã¹ã«ã€ããŠã¯ã»ãšãã©èª°ãèšåããŠããŸããã ã·ã¹ãã å ã®ãã¹ãŠã®ãã£ã¹ã¯ãå«ããã¿ã³ã¯ããšåŒã°ãã1ã€ã®ããŒã«ã«ã€ããŠåžžã«è©±ããŸãã â
3. Btrfsã«å®éã«æ¬ ããŠããããšã®1ã€ã¯ããã©ãã·ã¥ãµããŒããç¹ã«ãã€ããªããã¹ãã¬ãŒãžã·ã¹ãã ã§ãã ããããå人çã«ã¯ãæåã«RAID-6ã®ãµããŒããå®è£ ããããšã奜ã¿ãŸãã â
4. ReFSã®ããŒã¿ã®ãã§ãã¯ãµã ã¯ãããã©ã«ãã§ã¯ãŸã ç¡å¹ã«ãªã£ãŠããŸããã â