åèš#
æ³è±¡ããŠã¿ãŠãã ãããããããªãã®ããŒã¿ããŒã¹ã Git ã®ããã«ãã©ã³ã管çã§ãããšããããã©ããªæãã«ãªãã§ããããïŒæ°ããéçºç°å¢ãäœæããã®ã«æ°æéã®ããŒã¿ã³ããŒãåŸ ã€å¿ èŠã¯ãªããGit ãã©ã³ããäœæããã®ãšåãããã«æ°ç§ã§å®äºããŸãã
åŸæ¥ã®éçºããã»ã¹ã§ã¯ãç§ãã¡ã¯ã³ãŒãã®ããŒãžã§ã³ç®¡çã«æ £ããŠããŸãïŒfeature ãã©ã³ããhotfix ãã©ã³ããå®éšçãã©ã³ã... ããããããŒã¿ããŒã¹ã«é¢ããŠã¯ãç§ãã¡ïŒç§ã®ããŒã ãå«ããŠãããã§çããã«è¬çœªããŸã ðïŒã¯ãã°ãã°
ã巚倧ãªçç£ããŒã¿ããŒã¹ã
ã®ãžã¬ã³ãã«é¥ããŸããéçºè ã¯å°ããªãµã³ãã«ããŒã¿ã䜿çšãããïŒãªã¢ãªãã£ãæ¬ ããŠããïŒãé·ãããŒã¿ããã¯ã¢ãã埩å ããã»ã¹ãåŸ ã€ãïŒéå¹ççïŒã§ãã
ðª ãã°ã«ãã¡ããZFS ãšã¯äœãç¥ã£ãŠããŸããïŒ#
ä»ã®ããã°ã©ããŒã¯ã²ã©ãé£äºãããŠããŸããå ¥éãããšããã«
- ext4
- xfs
- btrfs
æ¯ãè¿ã£ãŠã¿ããšãç§ãã¡ã®ãã€ãŠã®ç¥ã
Solaris ãš BSD ããç¥ã
ãããªãã®è³å
ã§åããŠããŸã: ã¯ãã¥ã«ãðã¯ãã¥ã«ãðã¯ãã¥ã«ã
ZFS ã䜿ãããšãèããããšããããŸããïŒ
ZFSïŒãŒã¿ãã€ããã¡ã€ã«ã·ã¹ãã ïŒã¯ Sun Microsystems ã«ãã£ãŠéçºããããã®åŸ Oracle ã«è²·åãããŸãããOpenSolaris ã«ãã£ãŠæ¡ä»¶ä»ãã§ãªãŒãã³ãœãŒã¹åãããFreeBSD ã§åºãŸããŸãããZFS ã¯åãªããã¡ã€ã«ã·ã¹ãã ã§ã¯ãªããããŒã¿ã¹ãã¬ãŒãžãšç®¡çã«å¯Ÿããç§ãã¡ã®èªèãæ ¹æ¬çã«å€ããé©åœçãªã¹ãã¬ãŒãžãœãªã¥ãŒã·ã§ã³ã§ãã
Copy-on-Write ç¥ã㊠COW ð#
ZFS ã®æ žå¿çãªéæ³ã¯ Copy-on-Write (COW) æè¡ã«ãããŸããåŸæ¥ã®ãã¡ã€ã«ã·ã¹ãã ã¯ãã¡ã€ã«ã倿Žãããšå ã®ããŒã¿ãçŽæ¥äžæžãããŸãããZFS ã¯ããè³¢ãæ¹æ³ãæ¡çšããŠããŸãïŒ
- å ã®ããŒã¿ã¯æ±ºããŠå€æŽãããªãïŒããŒã¿ã倿Žããå¿ èŠããããšããZFS ã¯æ°ããå Žæã«å€æŽãããããŒã¿ãæžã蟌ã¿ãŸã
- ã¹ãããã·ã§ããã¯ç¬æã«äœæãããïŒã¹ãããã·ã§ãããäœæããããšã¯ãããŒã¿ã®ã³ããŒã䌎ãããããæç¹ãèšé²ããã ãã§ã
- ã¯ããŒã³ã¯ã»ãŒç¡æïŒæ°ããã¯ããŒã³ã¯å ã®ããŒã¿ãšåãããŒã¿ãããã¯ãå ±æãã倿Žãçºçãããšãã®ã¿ååããŸã
ããã¯ãèšç®æ©ã¹ãã¬ãŒãžã«ãããå¹³è¡å®å®çè«ã®å ·çŸåã®ãããªãã®ã§ãïŒãã¹ãŠã®ããã©ã³ããã¯åãç©ç空éã«ååšããå¿ èŠãªãšãã ãç¬ç«ããå®äœã«ååããŸãã
ããŒã¿æŽåæ§ã®ä¿èšŒ ð#
ZFS ã®ããäžã€ã®æ®ºãå±çãªç¹åŸŽã¯ ãã©ã³ã¶ã¯ã·ã§ã³ãã¡ã€ã«ã·ã¹ãã ã§ãããã¹ãŠã®æžãèŸŒã¿æäœã¯ååçã§ãå®å šã«æåããããå®å šã«å€±æããŸããããã¯ããŒã¿ããŒã¹ã«ãšã£ãŠéåžžã«éèŠã§ãããªããªããã¹ãããã·ã§ããã®æŽåæ§ãä¿èšŒããããã§ã ââ ããªãã¯æ±ºããŠãå補åãã®ããŒã¿ããŒã¹ç¶æ ãåŸãããšã¯ãããŸããã
ãªãããŒã¿ããŒã¹ã¯ããã©ã³ãããå¿ èŠãšããã®ãïŒ#
ä»ã®ç§ãã¡ã®ããŒã åŸæ¥ã®ããŒã¿ããŒã¹ç®¡çã®çç¹#
åŸæ¥ã®éçºç°å¢ã§ã¯ãããŒã¿ããŒã¹ã¯ãã°ãã°æå€§ã®ããã«ããã¯ã§ãïŒ
- ãªãœãŒã¹ç«¶äºïŒè€æ°ã®éçºè ãåããã¹ãããŒã¿ããŒã¹ãå ±æããäºãã«åœ±é¿ãäžããŸã
- ããŒã¿æ±æïŒãã¹ãããã»ã¹äžã®ããŒã¿å€æŽãä»ã®ãã¹ãã«åœ±é¿ãäžããŸã
- ç°å¢ã®äžè²«æ§ïŒçç£ç°å¢ãšéçºç°å¢ã®ããŒã¿ã®éãããã°ãåŒãèµ·ãããŸã
- 埩å ã®é£ããïŒç Žå£çãªãã¹ãã®åŸã«æéã®ãããããŒã¿åŸ©å ãå¿ èŠã§ã
ãã©ã³ãåããŒã¿ããŒã¹ã®äŸ¡å€#
ããŒã¿ããŒã¹ã®ãã©ã³ãåã¯ãããã®æ ¹æ¬çãªåé¡ã解決ããŸãïŒ
é颿§ïŒåéçºè ã¯ç¬ç«ããããŒã¿ããŒã¹ã€ã³ã¹ã¿ã³ã¹ãæã¡ãäºãã«å¹²æžããŸããã
ãªã¢ãªãã£ïŒçç£ããŒã¿ã®ã¹ãããã·ã§ããã«åºã¥ããŠéçºç°å¢ãäœæã§ããããŒã¿ã®ãªã¢ãªãã£ãä¿èšŒããŸãã
å¯åŸ©å æ§ïŒç Žå£çãªæäœã¯ãã©ã³ããåé€ããããšã§è¿ éã«åŸ©å ã§ããŸãã
äžŠè¡æ§ïŒè€æ°ã®æ©èœéçºã䞊è¡ããŠè¡ãããäºãã«ãããã¯ããŸããã
æè¡ã¢ãŒããã¯ãã£ã®å²åŠ#
Git ããåŠãã ç¥æµ#
Git ã®æåã¯ãã®æè¡çå®è£ ã ãã§ãªãããã®èšèšå²åŠã«ããããŸãïŒ
- 忣åïŒåéçºè ã¯å®å šãªå±¥æŽãæã£ãŠããŸã
- 軜éãã©ã³ãïŒãã©ã³ãã®äœæã¯ã»ãŒã³ã¹ããããããŸãã
- 䞊è¡éçºïŒè€æ°ã®æ©èœãåæã«éçºã§ããŸã
- ããŒãžã§ã³å±¥æŽïŒä»»æã®å±¥æŽç¶æ ã«æ»ãããšãã§ããŸã
ç§ãã¡ã¯ãããã®ç念ãããŒã¿ããŒã¹ç®¡çã«é©çšããŸãïŒ
ã¹ãã¬ãŒãžã¢ãŒããã¯ãã£ã®é²å#
åŸæ¥ã®ããŒã¿ããŒã¹ããã¯ã¢ããæ¹æ¡ïŒ
ZFS ã«åºã¥ããã©ã³ãæ¹æ¡ïŒ
å®éã®ã¢ããªã±ãŒã·ã§ã³ã·ãŒã³#
ã·ãŒã³ 1ïŒæ©èœéçºã®äžŠè¡å#
åŸæ¥ã®æ¹æ³ïŒ
- éçºè A ããã¹ãããŒã¿ããŒã¹ã§æ°æ©èœããã¹ã
- éçºè B 㯠A ãå®äºããã®ãåŸ ããªããã°ãªããªã
- ãã¹ãããŒã¿ã¯ A ã®æäœã«ãã£ãŠæ±æãããB ã¯ããŒã¿ãåæºåããå¿ èŠããã
ãã©ã³ãæ¹åŒïŒ
- éçºè A ã feature-a ãã©ã³ãããŒã¿ããŒã¹ãäœæ
- éçºè B ã feature-b ãã©ã³ãããŒã¿ããŒã¹ãäœæ
- äºäººã¯äžŠè¡ããŠéçºããäºãã«åœ±é¿ãäžããªã
- ãã¹ããå®äºããããçŽæ¥ãã©ã³ããåé€
ã·ãŒã³ 2ïŒããŒã¿åæã®å®å šæ§#
ããŒã¿ã¢ããªã¹ãã¯ãã°ãã°çç£ããŒã¿ã«å¯ŸããŠè€éãªã¯ãšãªãå®è¡ããå¿ èŠããããŸãããçç£ã·ã¹ãã ã«åœ±é¿ãäžããããšã¯ã§ããŸããïŒ
ã·ãŒã³ 3ïŒçœå®³åŸ©æ§ã®æ°ããèãæ¹#
åŸæ¥ã®çœå®³åŸ©æ§ã¯ããã¯ã¢ãã埩å ã«äŸåããŠãããæéããããäžç¢ºå®æ§ãé«ãã§ããZFS ã®ã¹ãããã·ã§ããæè¡ã«åºã¥ããŠã次ã®ããšãå¯èœã§ãïŒ
- è¿ éãªããŒã«ããã¯ïŒåé¡ãçºèŠãããããã«åã®ã¹ãããã·ã§ããã«ããŒã«ããã¯
- 䞊è¡åŸ©å ïŒçŸåšã®ã·ã¹ãã ã«åœ±é¿ãäžããã«åŸ©å ãã©ã³ããã¹ã
- 段éç埩å ïŒåæç¹ã®ããŒã¿å®å šæ§ã段éçã«æ€èšŒ
ããã©ãŒãã³ã¹é©åœ#
æéã³ã¹ãã®æ¯èŒ#
åŸæ¥ã®æ¹æ¡ïŒ
- ãã¹ãç°å¢ã®äœæïŒ2-4 æéïŒããŒã¿éã«ããïŒ
- ç°å¢ã®åŸ©å ïŒ1-2 æé
- ç°å¢ã®ã¯ãªãŒã³ã¢ããïŒ30 å
ZFS ãã©ã³ãæ¹æ¡ïŒ
- ãã¹ãç°å¢ã®äœæïŒ30 ç§
- ç°å¢ã®åŸ©å ïŒåé€ããŠåæ§ç¯ã30 ç§
- ç°å¢ã®ã¯ãªãŒã³ã¢ããïŒç¬æã«å®äº
ã¹ãã¬ãŒãžã³ã¹ãã®æé©å#
100GB ã®çç£ããŒã¿ããŒã¹ã䜿çšããŠåŸæ¥ã®æ¹æ¡ã§ 5 ã€ã®ãã¹ãç°å¢ãäœæããã«ã¯ 500GB ã®ã¹ãã¬ãŒãžã¹ããŒã¹ãå¿ èŠã§ãã
ZFS ãã©ã³ãæ¹æ¡ã䜿çšãããšïŒ
- åå§ããŒã¿ïŒ100GB
- 5 ã€ã®ãã©ã³ãã®å¢åããŒã¿ïŒéåžž 20GB æªæº
- ç·ã¹ãã¬ãŒãžéèŠïŒçŽ 120GB
ã¹ãã¬ãŒãžã¹ããŒã¹ã®ç¯çŽïŒ76%
éçšå²åŠã®è»¢æ#
ãç¶æããããåµé ããž#
åŸæ¥ã®éçšã¯ãæ¢åã®ã·ã¹ãã ã®å®å®æ§ãç¶æããããšãå€ãã§ããããã©ã³ãåããŒã¿ããŒã¹ã«ããéçšæ åœè ã¯ïŒ
- è¿ éãªå®éšïŒæ°ããæ§æã®æé©åãã¯ããŒã³ç°å¢ã§å®å šã«ãã¹ãã§ããŸã
- ããŒãžã§ã³ç®¡çïŒããŒã¿ããŒã¹ã®ç¶æ ã«ãããŒãžã§ã³å±¥æŽããããŸã
- ããŒã«ããã¯èœåïŒä»»æã®å€æŽãè¿ éã«ããŒã«ããã¯ã§ããŸã
éçºããã»ã¹ã®åæ§ç¯#
ãã©ã³ãåããŒã¿ããŒã¹ã¯ DevOps æåã®æ·±åãä¿é²ããŸããïŒ
ä¿ºã¯æãã«ãä»åŸã®ããŒã¿ããŒã¹ç£æ¥ã¯#
ããŒã¿ããŒã¹ã®ãã©ã³ãåã¯åãªãæè¡çæ¹åã§ã¯ãªããããŒã¿ç®¡ççå¿µã®æ ¹æ¬çãªè»¢æã衚ããŠããŸãïŒ
- ããŒã¿ã¯ã³ãŒãïŒããŒã¿ããŒã¹ã®ç¶æ ã¯ã³ãŒãã®ããã«ããŒãžã§ã³ç®¡çã§ããŸã
- ç°å¢ã¯ãµãŒãã¹ïŒéçºç°å¢ã®äœæã¯ãµãŒãã¹ãèµ·åããã®ãšåããããç°¡åã§ã
- ãã¹ãã¯å®å šïŒã©ããªãã¹ããçç£ããŒã¿ã«ãªã¹ã¯ãäžããŸãã
俺ãæäœãããæè¡ã¯ããŒã¿ããŒã¹ç®¡çã®ããŒãã«ãäžããŸããããã€ãŠã¯çç·Žã® DBA ã ããè¡ããè€éãªæäœããä»ã§ã¯æ®éã®éçºè ã§ãç°¡åã«è¡ããããã«ãªããŸããã