çŽXNUMX幎ã®éçºæéãçµãŠ
Linux äžã® ZFS ã®äžéšãšããŠããã¡ã€ã« ã·ã¹ãã ã®æäœãšããªã¥ãŒã ãããŒãžã£ãŒã®æ©èœã®äž¡æ¹ã«é¢é£ãã ZFS ã³ã³ããŒãã³ãã®å®è£ ãæºåãããŠããŸãã ç¹ã«ãSPA (ã¹ãã¬ãŒãž ããŒã« ã¢ãã±ãŒã¿ãŒ)ãDMU (ããŒã¿ç®¡çãŠããã)ãZVOL (ZFS ãšãã¥ã¬ãŒã ããªã¥ãŒã )ãããã³ ZPL (ZFS POSIX ã¬ã€ã€ãŒ) ã®ã³ã³ããŒãã³ããå®è£ ãããŠããŸãã ããã«ããã®ãããžã§ã¯ãã¯ãLustre ã¯ã©ã¹ã¿ãŒ ãã¡ã€ã« ã·ã¹ãã ã®ããã¯ãšã³ããšã㊠ZFS ã䜿çšããæ©èœãæäŸããŸãã ãã®ãããžã§ã¯ãã®äœæ¥ã¯ãOpenSolaris ãããžã§ã¯ãããã€ã³ããŒãããããªãªãžãã«ã® ZFS ã³ãŒãã«åºã¥ããŠãããIllumos ã³ãã¥ããã£ããã®æ¹åãšä¿®æ£ã«ãã£ãŠåŒ·åãããŠããŸãã ãã®ãããžã§ã¯ãã¯ãç±³åœãšãã«ã®ãŒçãšã®å¥çŽã«åºã¥ãããªãã¢ã¢åœç«ç 究æã®åŸæ¥å¡ã®åå ã«ããéçºãããŠããŸãã
ã³ãŒãã¯ç¡æã® CDDL ã©ã€ã»ã³ã¹ã®äžã§é åžãããŸãããGPLv2 ãšäºææ§ããããŸãããGPLv2 ã©ã€ã»ã³ã¹ãš CDDL ã©ã€ã»ã³ã¹ã®äžã§ã³ãŒããæ··åããããšã¯èš±å¯ãããŠããªããããLinux äžã® ZFS ã Linux ã«ãŒãã«ã®ã¡ã€ã³ ãã©ã³ãã«çµ±åããããšã¯ã§ããŸããã ãã®ã©ã€ã»ã³ã¹ã®éäºææ§ãåé¿ããããã«ã補åå šäœããã³ã¢ãšã¯å¥ã«æäŸãããåå¥ã«ããŒãå¯èœãªã¢ãžã¥ãŒã«ãšã㊠CDDL ã©ã€ã»ã³ã¹ã«åºã¥ããŠé åžããããšã決å®ãããŸããã ZFS on Linux ã³ãŒãããŒã¹ã®å®å®æ§ã¯ãLinux ã®ä»ã®ãã¡ã€ã« ã·ã¹ãã ãšåçã§ãããšè©äŸ¡ãããŠããŸãã
äž»ãªå€æŽç¹ïŒ
- ãã¡ã€ã« ã·ã¹ãã ãšããŒãã£ã·ã§ã³ã®ã¬ãã«ã§ä¿åãããããŒã¿ã®æå·åã®çµã¿èŸŒã¿ãµããŒããè¿œå ãããŸããã ããã©ã«ãã®æå·åã¢ã«ãŽãªãºã 㯠aes-256-ccm ã§ãã ãzfs load-keyãã³ãã³ãã¯ãæå·åããŒãããŒãããããã«ææ¡ãããŠããŸãã
- ãzfs sendãããã³ãzfs acceptãã³ãã³ãã®å®è¡æã«æå·åãããããŒã¿ã転éããæ©èœãå®è£ ãããŸããã ã-wããªãã·ã§ã³ãæå®ãããšãããŒã«å ã§ãã§ã«æå·åãããŠããããŒã¿ãäžéã®åŸ©å·åãè¡ããã«ããã®ãŸãŸä»ã®ããŒã«ã«è»¢éãããŸãã ãã®ãããªã³ããŒã§ã¯ãããŒã¿ã¯éä¿¡è ã®ããŒã«ãã£ãŠä¿è·ããããŸãŸãšãªããããä¿¡é Œã§ããªãã·ã¹ãã ãžã®ããã¯ã¢ããã«ãã®ã¢ãŒãã䜿çšã§ããŸã (åä¿¡è ã䟵害ãããå Žåãæ»æè ã¯ããŒãªãã§ã¯ããŒã¿ã«ã¢ã¯ã»ã¹ã§ããŸãã)ã
- åå¥ããã³ãã©ãŒã®äžéšãšããŠæ¥ç¶ãããã¹ãã¬ãŒãž ããŒã«ãããã©ã€ã㪠ãã©ã€ããåé€ããããã®ãµããŒããè¿œå ãããŸããã åé€ã¯ãzpool deleteãã³ãã³ãã§è¡ããŸãã åé€ããã»ã¹ã§ã¯ãé€å€ããããã©ã€ãããããŒã«å ã®æ®ãã®ãã©ã€ã㪠ãã©ã€ãã«ããŒã¿ãã³ããŒãããŸãã
- ããŒã«ã®çŸåšã®ç¶æ ãä¿åããä¿åãããæç¹ãžã®ãããªãå€æŽãããŒã«ããã¯ããæ©èœãåãããzpool Checkpointãã³ãã³ããè¿œå ãããŸãã (ããŒã«å šäœã®ã¹ãããã·ã§ãããäœæãããŸã)ã ãã®æ©èœã¯ãéåžžã®ç¶æ ã§ã¯å ã«æ»ããªãå€æŽ (æ°ãã ZFS æ©èœã®ãã©ã°ã®ã¢ã¯ãã£ãåãããŒã¿ã®ã¯ãªã¢ãªã©) ã«ã€ãªãããæœåšçã«å±éºãªè€éãªç®¡çäœæ¥ãå®è¡ããããã»ã¹ã§åœ¹ç«ã¡ãŸãã
- ããŒã«å ã§äœ¿çšãããŠãããã©ã€ãã«ã䜿çšãããªããªã£ãã»ã¯ã¿ãŒãéç¥ãããzpoolrimãã³ãã³ããè¿œå ãããŸããã TRIM åäœãå©çšããããšã§ SSD ã®å¹çãé«ããæ§èœã®äœäžãé²ãããšãã§ããŸãã æ°ãããautotrimãããããã£ã¯ãTRIM ã³ãã³ããéä¿¡ããç¶ç¶çãªããã¯ã°ã©ãŠã³ã ããã»ã¹ãæå¹ã«ããããã«ææ¡ãããŠããŸãã
- ãã¹ãŠã®æªå²ãåœãŠã®ãã£ã¹ã¯é åãåæåãããzpool initializeãã³ãã³ããè¿œå ããŸãããããã«ãããæåã®ã¢ã¯ã»ã¹æã«ããã©ãŒãã³ã¹ãäœäžããããšãªããããã«äœ¿çšã§ããããã«ãªããŸã (ããšãã°ãVMware VMDK ãªã©ã®ä»®æ³åã¹ãã¬ãŒãžããã¹ãããå Žå)ã
- 以åã«å©çšå¯èœã§ãã£ããŠãŒã¶ãŒããã³ã°ã«ãŒãã¬ãã«ã®ã¯ã©ãŒã¿ã«å ããŠãã¢ã«ãŠã³ãã£ã³ã°ããã³ãããžã§ã¯ãã¬ãã«ã®ã¯ã©ãŒã¿ã®ãµããŒããè¿œå ãããŸããã æ¬è³ªçã«ããããžã§ã¯ãã¯ãå¥åã®èå¥å (ãããžã§ã¯ã ID) ã«é¢é£ä»ãããããªããžã§ã¯ãã®å¥åã®ç©ºéã§ãã ãã€ã³ãã£ã³ã°ã¯ããchattr -pãæäœãŸãã¯å±æ§ã®ç¶æ¿ã«ãã£ãŠå®çŸ©ãããŸãã ãããžã§ã¯ã管çã«ã€ããŠã¯ããzfs projectãã³ãã³ããšãzfs projectspaceãã³ãã³ããæäŸããããããžã§ã¯ãã®äœæã管çãããããžã§ã¯ãã®ãã£ã¹ã¯å®¹éå¶éãèšå®ã§ããŸãã
- ZFS ã§ã®ããŸããŸãªäœæ¥ãèªååãã Lua ã¹ã¯ãªãããäœæããæ©èœãè¿œå ãããŸããã ã¹ã¯ãªããã¯ããzpool ããã°ã©ã ãã³ãã³ãã䜿çšããŠãç¹å¥ã«éé¢ãããç°å¢ã§å®è¡ãããŸãã
- æ°ããã©ã€ãã©ãªãå®è£
ãããŸãã
pyzfs ãPython ã¢ããªã±ãŒã·ã§ã³ãã ZFS ã管çããããã®å®å®ãã API ãæäŸããŸãã ãã®ã©ã€ãã©ãªã¯ libzfs_core ã®ã©ãããŒã§ãããåäžã®é¢æ°ã»ãããæäŸããŸãããããè¿ã Python åã䜿çšããŸãã - arcstatãarcsummaryãããã³ dbufstat ãŠãŒãã£ãªãã£ã¯ãPython 3 ãšäºææ§ããããŸãã arcstat.pyãarc_summary.pyãããã³ dbufstat.py ãŠãŒãã£ãªãã£ã¯ãã.pyãæ¡åŒµåã®ãªãããŒãžã§ã³ã«ååå€æŽãããŸããã
- Linux Direct IO (O_DIRECT) ã«ãŒãã« ã€ã³ã¿ãŒãã§ã€ã¹ã®ãµããŒããè¿œå ãããŸãããããã«ããããããã¡ãªã³ã°ããã£ãã·ã¥ã®ãã€ãã¹ãè¡ããã«ããŒã¿ã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãã
- å°å
¥ãããããã©ãŒãã³ã¹ã®æé©å:
- ãscrubãã³ãã³ããšãresilverãã³ãã³ãã®äœæ¥ã¯ãXNUMX ã€ã®ãã§ãŒãºã«åå²ãããããšã«ããé«éåãããŸãã (ã¡ã¿ããŒã¿ã®ã¹ãã£ã³ãšããã£ã¹ã¯äžã®ããŒã¿ãå«ããããã¯ã®äœçœ®ã®ç¹å®ã«å¥ã®ãã§ãŒãºãå²ãåœãŠãããã·ãŒã±ã³ã·ã£ã« ããŒã¿ã䜿çšããŠããã«æ€èšŒã§ããããã«ãªããŸãã)èªãïŒ;
- å²ãåœãŠã¯ã©ã¹ã®ãµããŒããè¿œå ãããŸããã
æ¯èŒçå°ã㪠SSD ãããŒã«ããã¡ã¿ããŒã¿ãDDT ããŒã¿ãå°ããªãã¡ã€ã« ãããã¯ãªã©ãäžè¬çã«äœ¿çšãããç¹å®ã®ã¿ã€ãã®ãããã¯ã®ã¿ãä¿åããããã«äœ¿çšã§ããããã«ããŸãã - 次ã®ãããªç®¡çã³ãã³ãã®ããã©ãŒãã³ã¹ãåäžããŸããã
ãzfs listããšãzfs getãã¯ããã®æäœã«å¿ èŠãªã¡ã¿ããŒã¿ããã£ãã·ã¥ããŸãã - åã¡ã¿ã¹ã©ã ã°ã«ãŒãã«å¯ŸããŠåå¥ã®ã¢ãã±ãŒã¿ ããã»ã¹ãå®è¡ããããšã«ããããããã¯å²ãåœãŠæäœã®äžŠååã®ãµããŒããè¿œå ãããŸããã åŸæ¥ã®ã·ã¹ãã ã§ã¯ããã©ãŒãã³ã¹ã 5 ïœ 10% åäžããŸããã倧èŠæš¡ã·ã¹ãã (8 GB SSD 128 åºã24 ã³ã¢ NUMAã256 GB RAM) ã§ã¯ããããã¯å²ãåœãŠæäœã®å¢å ã 25% ã«éããå¯èœæ§ããããŸãã
- ãresilverãã³ãã³ãã®é 延å®è¡ã®å¯èœæ§ãè¿œå ããŸãã (ãã©ã€ãæ§æã®å€æŽãèæ ®ããŠããŒã¿åæ£ãåæ§ç¯ããŸã) - æ°ããæäœã®éå§æã«åã®ã³ãã³ãããŸã å®äºããŠããªãå Žåãæ°ãããã³ãã©ãŒã¯ãã®åŸã«ã®ã¿å®è¡ãéå§ããŸããåã®ãã®ãçµäºããŸããã
- ZIL (ZFS Intent Log) ã«æé©åãè¿œå ãããã¹ãã¬ãŒãžã«ãã£ãŠãŸã åŠçäžã®ãããã¯ãååšããå Žåã§ããããã¯ã®äœæãšåŠçãå¯èœã«ãªããŸããã
- ã·ã¹ãã å ã®ããŒãã£ã·ã§ã³ (zvol) ã®ç»é²æéãççž®ãããŸããã ããŒã«ã«å€æ°ã®ããŒãã£ã·ã§ã³ãå«ãŸããŠããå Žåããzpool importããå®è¡ãããšããã«ãããã®ããŒãã£ã·ã§ã³ã䜿çšã§ããããã«ãªããŸããã
- Intel QAT (Quick Assist Technology) ãããã䜿çšãã SHA256 ããã·ã¥ã®ããŒããŠã§ã¢ ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³èšç®ãš AES-GSM æå·åæäœã®ãµããŒããè¿œå ãããŸããã Intel C62x ãããã»ãããš CPU Atom C3000 ã®ããŒããŠã§ã¢ ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã®ãµããŒããè¿œå ãããŸããã
åºæïŒ ãªãŒãã³ããã.ru