XNUMX ã€ã®ãã£ã¹ã¯ã«åãŸããªãã»ã©å€ãã®ããŒã¿ãããå Žåã¯ãRAID ã«ã€ããŠæ€èšããå¿ èŠããããŸãã åäŸã®é ãç§ã¯å¹Žé·è ããããã€ã RAID ã¯éå»ã®ãã®ã«ãªãããªããžã§ã¯ã ã¹ãã¬ãŒãžãäžçã«æ°Ÿæ¿«ããCEPH ãäœãªã®ãããç¥ããªãã§ãããããšããèããŠããŸãããç¬èªã®ã¯ã©ã¹ã¿ãŒãäœæããŠããŸããã å®éšã®ç®çã¯ãceph ã®å éšæ§é ãç¥ãããã®å¿çšç¯å²ãç解ããããšã§ããã äžèŠæš¡äŒæ¥ã§ã¯ãããŸãããå°èŠæš¡äŒæ¥ã§ã¯ ceph ãå°å ¥ããããšã¯ã©ã®çšåºŠæ£åœåãããŸãã? æ°å¹Žéã®éçšãšæ°åã®åãè¿ãã®ã€ããªãããŒã¿æ倱ãçµãŠããã¹ãŠãããã»ã©åçŽã§ã¯ãªããšãã埮åŠãªç¹ãç解ã§ããããã«ãªããŸããã CEPH ã®æ©èœã¯åºãé åžããäžã§é害ãšãªãããã®ããã«å®éšã¯åæ¢ããŠããŸãã 以äžã«ãå®è¡ããããã¹ãŠã®æé ãåŸãããçµæãããã³å°ãåºãããçµè«ã«ã€ããŠèª¬æããŸãã ç¥èã®ããæ¹ãçµéšãå ±æããããã€ãã®ç¹ã説æããŠããã ããã°å¹žãã§ãã
泚: ã³ã¡ã³ããŒã¿ãŒã¯ãããã€ãã®åæã«ãããé倧ãªèª€ããææããŠãããèšäºå
šäœã®æ¹èšãå¿
èŠã§ãã
CEPHæŠç¥
CEPH ã¯ã©ã¹ã¿ãŒã¯ãä»»æã®ãµã€ãºã®ä»»æã®æ° K ã®ãã£ã¹ã¯ãçµã¿åãããŠãåéšå (ããã©ã«ãã§ã¯ 4 MB) ãæå®ãããåæ° N åè€è£œããŠããããã®ãã£ã¹ã¯ã«ããŒã¿ãä¿åããŸãã
1 ã€ã®åäžã®ãã£ã¹ã¯ãããæãåçŽãªã±ãŒã¹ãèããŠã¿ãŸãããã ããããã RAID 2 ãŸã㯠N=2 ã®ã¯ã©ã¹ã¿ãŒãçµã¿ç«ãŠãããšãã§ããŸãããçµæã¯åãã«ãªããŸãã ãã£ã¹ã¯ã 1 ã€ããããããã®ãµã€ãºãç°ãªãå ŽåãN=2 ã§ã¯ã©ã¹ã¿ãçµã¿ç«ãŠãã®ã¯ç°¡åã§ããããŒã¿ã®äžéšã¯ãã£ã¹ã¯ 1 ãš 3 ã«ãäžéšã¯ãã£ã¹ã¯ 2 ãš 3 ã«ãäžéšã¯ãã£ã¹ã¯ 5 ãš 5 ã«ååšããŸãã ãäžæ¹ãRAIDã¯ããã§ã¯ãããŸããïŒãã®ãããªRAIDãåéããããšã¯ã§ããŸãããããã¯åé¯ã«ãªããŸãïŒã ããã«å€ãã®ãã£ã¹ã¯ãããå Žåã¯ãRAID 3 ãäœæããããšãã§ããŸããCEPH ã«ã¯é¡äŒŒã® Erasure_code ããããŸãããããã¯éçºè ã®åæã®æŠå¿µãšççŸãããããèæ ®ãããŸããã RAID XNUMX ã¯ããã£ã¹ã¯ã®æ°ãå°ãªãããã¹ãŠãè¯å¥œãªç¶æ ã§ããããšãåæãšããŠããŸãã XNUMX ã€ã«é害ãçºçããå Žåããã£ã¹ã¯ã亀æãããããŒã¿ãããã«åŸ©å ããããŸã§ãæ®ãã®ãã®ãæã¡ããããå¿ èŠããããŸãã CEPH ã§ã¯ãN>=XNUMX ã®å Žåãå€ããã£ã¹ã¯ã®äœ¿çšãæšå¥šãããŸããç¹ã«ãããŒã¿ã® XNUMX ã€ã®ã³ããŒãä¿åããããã«è€æ°ã®æ£åžžãªãã£ã¹ã¯ãä¿æããæ®ãã® XNUMX ã€ãŸã㯠XNUMX ã€ã®ã³ããŒãå€æ°ã®å€ããã£ã¹ã¯ã«ä¿åããå Žåããã®æ å ±ã¯çŸæç¹ã§ã¯æ°ãããã£ã¹ã¯ãçããŠããã®ã§å®å šã§ããåé¡ã¯ãããŸããããã®ãã¡ã® XNUMX ã€ãå£ãããšããŠããèçšå¹Žæ°ã XNUMX 幎ãè¶ ãã XNUMX ã€ã®ãã£ã¹ã¯ (ã§ããã°å¥ã®ãµãŒããŒãã) ãåæã«æ éããå¯èœæ§ã¯éåžžã«äœãã§ããã€ãã³ãã
ã³ããŒã®é åžã«ã¯åŸ®åŠãªç¹ããããŸãã ããã©ã«ãã§ã¯ãããŒã¿ãããã«å€ãã® (ãã£ã¹ã¯ãããæ倧 100) PG é åžã°ã«ãŒãã«åå²ããããããããããã€ãã®ãã£ã¹ã¯ã«è€è£œãããããšãæ³å®ãããŠããŸãã K=6ãN=2 ãšä»®å®ãããšãããããã® 100 ã€ã®ãã£ã¹ã¯ã«é害ãçºçããå ŽåãããŒã¿ã¯ç¢ºå®ã«å€±ãããŸããããã¯ã確çè«ã«ããã°ãããã 3 ã€ã®ãã£ã¹ã¯äžã«å°ãªããšã 15 ã€ã® PG ãé 眮ãããããã§ãã ãŸãã12 ã€ã®ã°ã«ãŒãã倱ããããšãããŒã«å ã®ãã¹ãŠã®ããŒã¿ã«ã¢ã¯ã»ã¹ã§ããªããªããŸãã ãã£ã¹ã¯ã 20 ã€ã®ãã¢ã«åå²ãããXNUMX ã€ã®ãã¢å ã®ãã£ã¹ã¯ã«ã®ã¿ããŒã¿ãä¿åã§ããå Žåããã®ãããªåæ£ã¯ããããã®ãã£ã¹ã¯ã®é害ã«ãèæ§ããããŸãããXNUMX ã€ã®ãã£ã¹ã¯ã«é害ãçºçããå ŽåãããŒã¿æ倱ã®ç¢ºç㯠XNUMX% ã§ã¯ãããŸãããããããXNUMX/XNUMXã ãããããŠããšãXNUMXæã®ãã£ã¹ã¯ãæ éããå Žåã§ããXNUMX/XNUMXã ãã§ãã ãããã£ãŠãããŒã¿åæ£ã«ããããšã³ããããŒã¯èé害æ§ã«å¯äžããŸããã ãŸãããã¡ã€ã« ãµãŒããŒã®å Žåã空ã RAM ã«ãã£ãŠå¿çæ§ãå€§å¹ ã«åäžããããšã«ã泚æããŠãã ããã åããŒãã®ã¡ã¢ãªãå€ãã»ã©ããŸããã¹ãŠã®ããŒãã®ã¡ã¢ãªãå€ãã»ã©é«éã«ãªããŸãã ããã¯ééããªããåäžãµãŒããŒãããã«ã¯éåžžã«å°éã®ã¡ã¢ãªãçµã¿èŸŒãŸããŠããããŒããŠã§ã¢ NAS ã«å¯Ÿããã¯ã©ã¹ã¿ãŒã®å©ç¹ã§ãã
ãããã£ãŠãCEPH ã¯ãå€ãæ©åšãæå°éã®æè³ã§æ¡åŒµã§ãããæ°å TB ã®ä¿¡é Œæ§ã®é«ãã¹ãã¬ãŒãž ã·ã¹ãã ãäœæããè¯ãæ¹æ³ã§ãããšããããšã«ãªããŸã (ãã¡ããã³ã¹ãã¯ããããŸãããåçšã¹ãã¬ãŒãž ã·ã¹ãã ã«æ¯ã¹ãã°å°èŠæš¡ã§ã)ã
ã¯ã©ã¹ã¿ãŒã®å®è£
å®éšã§ã¯ãå»æ¢ãããã³ã³ãã¥ãŒã¿ãŒ Intel DQ57TM + Intel core i3 540 + 16 GB RAM ã䜿çšããŠã¿ãŸãããã 2 ã€ã® 10 TB ãã£ã¹ã¯ã RAIDXNUMX ãªã©ã«ç·šæãããã¹ããæåããåŸãXNUMX çªç®ã®ããŒããšåãæ°ã®ãã£ã¹ã¯ãè¿œå ããŸãã
Linuxãã€ã³ã¹ããŒã«ããŸãã ãã£ã¹ããªãã¥ãŒã·ã§ã³ã¯ã«ã¹ã¿ãã€ãºå¯èœã§å®å®ããŠããå¿ èŠããããŸãã Debian ãš Suse ã¯èŠä»¶ãæºãããŠããŸãã Suse ã«ã¯ãä»»æã®ããã±ãŒãžãç¡å¹ã«ã§ãããããæè»ãªã€ã³ã¹ããŒã©ãŒããããŸãã æ®å¿µãªãããã·ã¹ãã ã«æå·ãäžããã«ã©ããå»æ£ã§ããã®ãç解ã§ããŸããã§ããã debootstrap Buster çµç±ã§ Debian ãã€ã³ã¹ããŒã«ããŸãã min-base ãªãã·ã§ã³ã¯ããã©ã€ããŒãäžè¶³ããŠããåäœããªãã·ã¹ãã ãã€ã³ã¹ããŒã«ããŸãã 補åçãšã®ãµã€ãºã®éãã¯æ°ã«ãªãã»ã©ã§ââã¯ãããŸããã äœæ¥ã¯ç©çãã·ã³äžã§è¡ããããããä»®æ³ãã·ã³ãšåæ§ã«ã¹ãããã·ã§ãããååŸããããšèããŠããŸãã LVM ãŸã㯠btrfs (ãŸã㯠xfsããŸã㯠zfs - éãã¯å€§ãããããŸãã) ã®ããããããã®ãããªæ©äŒãæäŸããŸãã ã¹ãããã·ã§ããã¯LVMã®åŸæåéã§ã¯ãããŸããã btrfsãã€ã³ã¹ããŒã«ããŸãã ãããŠããŒãããŒããŒã¯MBRã«ãããŸãã 50 MB ã®ãã£ã¹ã¯ã 1 MB ã®ããŒãã£ã·ã§ã³ ããŒãã«é åã«ããã·ã¥ããŠã·ã¹ãã ã®ãã¹ãŠã®é åãå²ãåœãŠãããšãã§ããå ŽåãFAT ããŒãã£ã·ã§ã³ã§ 700 MB ã®ãã£ã¹ã¯ãè©°ãŸãã®ã¯æå³ããããŸããã ãã£ã¹ã¯ã« 1.1 MB å¿ èŠã§ããã SUSE ã®åºæ¬ã€ã³ã¹ããŒã«ã®å®¹éã¯ã©ããããã§ãã - èŠããŠããŸããããçŽ 1.4 GB ã XNUMX GB ã®ããã§ãã
CEPHãã€ã³ã¹ããŒã«ããŸãã debian ãªããžããªã®ããŒãžã§ã³ 12 ãç¡èŠãããµã€ã 15.2.3 ããçŽæ¥æ¥ç¶ããŸãã ãCEPH ã®æåã€ã³ã¹ããŒã«ãã»ã¯ã·ã§ã³ã®æ瀺ã«åŸããŸããã次ã®ç¹ã«æ³šæããŠãã ããã
- ãªããžããªã«æ¥ç¶ããåã«ãgnupg wget ca-certificates ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸã
- ãªããžããªã«æ¥ç¶ããåŸãã¯ã©ã¹ã¿ãŒãã€ã³ã¹ããŒã«ããåã«ãããã±ãŒãžã®ã€ã³ã¹ããŒã«ã¯çç¥ãããŸã: apt -y --no-install-recommends install ceph-common ceph-mon ceph-osd ceph-mds ceph-mgr
- CEPH ã®ã€ã³ã¹ããŒã«æã«ãçç±ã¯äžæã§ãããlvm2 ã®ã€ã³ã¹ããŒã«ãè©Šè¡ãããŸãã ååãšããŠãããã¯æ®å¿µã§ã¯ãããŸããããã€ã³ã¹ããŒã«ã倱æãããããCEPH ãã€ã³ã¹ããŒã«ãããŸããã
ãã®ãããã¯æ¬¡ã®ç¹ã«åœ¹ç«ã¡ãŸããã
cat << EOF >> /var/lib/dpkg/status Package: lvm2 Status: install ok installed Priority: important Section: admin Installed-Size: 0 Maintainer: Debian Adduser Developers <[email protected]> Architecture: all Multi-Arch: foreign Version: 113.118 Description: No-install EOF
ã¯ã©ã¹ã¿ãŒã®æŠèŠ
ceph-osd - ãã£ã¹ã¯äžã«ããŒã¿ãä¿åãã圹å²ãæãããŸãã ãã£ã¹ã¯ããšã«ããªããžã§ã¯ãã®èªã¿åããŸãã¯æžã蟌ã¿èŠæ±ãåãå ¥ããŠå®è¡ãããããã¯ãŒã¯ ãµãŒãã¹ãéå§ãããŸãã ãã£ã¹ã¯äžã« 1 ã€ã®ããŒãã£ã·ã§ã³ãäœæãããŸãã ãããã® 100 ã€ã«ã¯ãã¯ã©ã¹ã¿ãŒããã£ã¹ã¯çªå·ãããã³ã¯ã©ã¹ã¿ãŒ ããŒã«é¢ããæ å ±ãå«ãŸããŠããŸãã ãã® 16KB ã®æ å ±ã¯ããã£ã¹ã¯ãè¿œå ãããšãã«äžåºŠäœæãããå床å€æŽãããããšã¯ãããŸããã XNUMX çªç®ã®ããŒãã£ã·ã§ã³ã«ã¯ãã¡ã€ã« ã·ã¹ãã ããªããCEPH ãã€ã㪠ããŒã¿ãä¿åãããŸãã 以åã®ããŒãžã§ã³ã®èªåã€ã³ã¹ããŒã«ã§ã¯ããµãŒãã¹æ å ±çšã« XNUMXMB ã® xfs ããŒãã£ã·ã§ã³ãäœæãããŸããã ãã£ã¹ã¯ãMBRã«å€æããXNUMXMBã ããå²ãåœãŠãŸãããããµãŒãã¹ã¯æå¥ãèšããŸããã§ããã åé¡ãªããxfs ã ext ã«çœ®ãæããããšãã§ãããšæããŸãã ãã®ããŒãã£ã·ã§ã³ã¯ /var/lib/⊠ã«ããŠã³ãããããµãŒãã¹ã¯ OSD ã«é¢ããæ å ±ãèªã¿åãããã€ã㪠ããŒã¿ãä¿åãããŠããããã㯠ããã€ã¹ãžã®ãªã³ã¯ãèŠã€ããŸãã çè«çã«ã¯ãããã«è£å©çãªãã®ã / var / lib / ... ã«é 眮ãããã£ã¹ã¯å šäœãããŒã¿ã«å²ãåœãŠãããšãã§ããŸãã ceph-deploy çµç±ã§ OSD ãäœæãããšã/var/lib/⊠ã«ããŒãã£ã·ã§ã³ãããŠã³ãããã«ãŒã«ãèªåçã«äœæãããå¿ èŠãªããã㯠ããã€ã¹ãèªã¿åãæš©éã ceph ãŠãŒã¶ãŒã«å²ãåœãŠãããŸãã æåã€ã³ã¹ããŒã«ã®å Žåã¯ããããèªåã§è¡ãå¿ èŠããããŸãããããã¥ã¡ã³ãã«ã¯ããã«ã€ããŠèšèŒãããŠããŸããã ååãªç©çã¡ã¢ãªãããããã«ãosd ã¡ã¢ãª ã¿ãŒã²ãã ãã©ã¡ãŒã¿ãæå®ããããšããå§ãããŸãã
ã»ã-MDSã äœã¬ãã«ã§ã¯ãCEPH ã¯ãªããžã§ã¯ã ã¹ãã¬ãŒãžã§ãã ããã㯠ã¹ãã¬ãŒãžæ©èœã¯ãèŠçŽãããšãå 4MB ãããã¯ããªããžã§ã¯ããšããŠä¿åããŸãã ãã¡ã€ã« ã¹ãã¬ãŒãžãåãåçã§æ©èœããŸãã XNUMX ã€ã®ããŒã«ãäœæãããŸããXNUMX ã€ã¯ã¡ã¿ããŒã¿çšããã XNUMX ã€ã¯ããŒã¿çšã§ãã ãããã¯ãã¡ã€ã« ã·ã¹ãã ã«çµåãããŸãã ãã®æç¹ã§ãäœããã®ã¬ã³ãŒããäœæãããããããã¡ã€ã« ã·ã¹ãã ãåé€ããŠãäž¡æ¹ã®ããŒã«ãä¿åããå Žåã埩å ããããšã¯ã§ããŸããã ãã¡ã€ã«ããããã¯åäœã§æœåºããæé ããããŸãããç§ã¯ããããã¹ãããŠããŸããã ceph-mds ãµãŒãã¹ã¯ããã¡ã€ã« ã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãæ åœããŸãã åãã¡ã€ã« ã·ã¹ãã ã«ã¯ããµãŒãã¹ã®åå¥ã®ã€ã³ã¹ã¿ã³ã¹ãå¿ èŠã§ãã è€æ°ã®ãã¡ã€ã« ã·ã¹ãã ã XNUMX ã€ã«ãŸãšããŠäœæã§ãããã€ã³ããã¯ã¹ããªãã·ã§ã³ããããŸãããããããã¹ããããŠããŸããã
ceph-mon - ãã®ãµãŒãã¹ã¯ã¯ã©ã¹ã¿ãŒã®ããããä¿æããŸãã ããã«ã¯ããã¹ãŠã® OSD ã«é¢ããæ å ±ãOSD å ã® PG é åžã¢ã«ãŽãªãºã ããããŠæãéèŠãªããšã«ããã¹ãŠã®ãªããžã§ã¯ãã«é¢ããæ å ±ãå«ãŸããŠããŸã (ãã®ã¡ã«ããºã ã®è©³çŽ°ã¯ç§ã«ã¯ããããŸããã/var/lib/ceph/mon/âŠ/ ããããŸã)ã store.db ãã£ã¬ã¯ããªã«ã¯ã26MB ã®å€§ããªãã¡ã€ã«ãå«ãŸããŠããã105K ãªããžã§ã¯ãã®ã¯ã©ã¹ã¿ãŒã§ã¯ããªããžã§ã¯ãããšã« 256 ãã€ããå°ãè¶ ããããšãããããŸããã¢ãã¿ãŒã¯ãã¹ãŠã®ãªããžã§ã¯ããš PG ã®ãªã¹ããä¿æããŠãããšæããŸãã圌ãã¯ãããã€ããŸãïŒã ãã®ãã£ã¬ã¯ããªãæå·ãããšãã¯ã©ã¹ã¿ãŒå ã®ãã¹ãŠã®ããŒã¿ã倱ãããŸãã ãããããCRUSH ã¯ãOSD ã«åŸã£ãŠ PG ãã©ã®ããã«é 眮ãããããããã³ PG ã«åŸã£ãŠãªããžã§ã¯ããã©ã®ããã«é 眮ããããã瀺ããŠãããšçµè«ä»ããããŸãããéçºè ããã®èšèãã©ã®ããã«é¿ããŠãããªããžã§ã¯ãã¯ããŒã¿ããŒã¹å ã«éäžçã«ä¿åãããŸãã ãã®çµæã第äžã«ãããŒã¿ããŒã¹ã«åžžã«æžã蟌ãŸãããããã·ã¹ãã ã RO ã¢ãŒãã§ãã©ãã·ã¥ ãã©ã€ãã«ã€ã³ã¹ããŒã«ããããšãã§ãããè¿œå ã®ãã£ã¹ã¯ (1 GB ãã»ãšãã©è¶ ããªã) ãå¿ èŠã«ãªããŸãããŸãã第äºã«ããã®ããŒã¹ããªã¢ã«ã¿ã€ã ã«ã³ããŒããŸãã è€æ°ã®ã¢ãã¿ãŒãããå Žåããã©ãŒã«ã ãã¬ã©ã³ã¹ã¯èªåçã«æäŸãããŸããããã®å Žåã¯ã¢ãã¿ãŒã XNUMX ã€ã ããæ倧 XNUMX ã€ã§ãã OSD ããŒã¿ã«åºã¥ããŠã¢ãã¿ãŒã埩å ããããã®çè«çãªæé ããããããŸããŸãªçç±ã§ XNUMX åãã®æ¹æ³ã«é ŒããŸããããXNUMX åãšããšã©ãŒ ã¡ãã»ãŒãžã¯è¡šç€ºããããããŒã¿ã埩å ãããŸããã§ããã æ®å¿µãªããããã®ã¡ã«ããºã ã¯æ©èœããŸããã å°åã® OSD ããŒãã£ã·ã§ã³ãæäœããããŒã¿ããŒã¹ãä¿åããããã« RAID ãæ§ç¯ããã (ããã¯ããããããã©ãŒãã³ã¹ã«éåžžã«æªåœ±é¿ãåãŒããŸã)ãããŒããå æãããªãããã«å°ãªããšã XNUMX ã€ã®ä¿¡é Œã§ããç©çã¡ãã£ã¢ (ã§ããã° USB) ãå²ãåœãŠãŸãã
rados-gw - S3 ãããã³ã«ãªã©ã䜿çšããŠãªããžã§ã¯ã ã¹ãã¬ãŒãžããšã¯ã¹ããŒãããŸãã å€æ°ã®ããŒã«ãäœæãããŸããããã®çç±ã¯äžæã§ãã å®éã«ã¯å®éšããŸããã§ããã
ceph-mgr - ãã®ãµãŒãã¹ãã€ã³ã¹ããŒã«ãããšãããã€ãã®ã¢ãžã¥ãŒã«ãéå§ãããŸãã ãã®ãã¡ã® 0 ã€ã¯ãç¡å¹ã«ãªã£ãŠããªãèªåã¹ã±ãŒã«ã§ãã PG/OSD ã®æ£ããæ°ãç¶æããããåªããŸãã æ¯çãæåã§å¶åŸ¡ãããå Žåã¯ãåããŒã«ã®ã¹ã±ãŒãªã³ã°ãç¡å¹ã«ããããšãã§ããŸããããã®å Žåãã¢ãžã¥ãŒã«ã¯ XNUMX ã«ããé€ç®ã«è©²åœããã¯ã©ã¹ã¿ãŒã®ã¹ããŒã¿ã¹ã¯ ERROR ã«ãªããŸãã ãã®ã¢ãžã¥ãŒã«ã¯ Python ã§æžãããŠãããå¿ èŠãªè¡ãã³ã¡ã³ãã¢ãŠããããšã·ã£ããããŠã³ãããŸãã 詳现ãæãåºãã®ãé¢åã§ãã
䜿çšããããœãŒã¹ã®ãªã¹ã
ã¹ã¯ãªããã®ãªã¹ã:
ãããŒãã¹ãã©ããã«ããã·ã¹ãã ã®ã€ã³ã¹ããŒã«
blkdev=sdb1
mkfs.btrfs -f /dev/$blkdev
mount /dev/$blkdev /mnt
cd /mnt
for i in {@,@var,@home}; do btrfs subvolume create $i; done
mkdir snapshot @/{var,home}
for i in {var,home}; do mount -o bind @${i} @/$i; done
debootstrap buster @ http://deb.debian.org/debian; echo $?
for i in {dev,proc,sys}; do mount -o bind /$i @/$i; done
cp /etc/bash.bashrc @/etc/
chroot /mnt/@ /bin/bash
echo rbd1 > /etc/hostname
passwd
uuid=`blkid | grep $blkdev | cut -d """ -f 2`
cat << EOF > /etc/fstab
UUID=$uuid / btrfs noatime,nodiratime,subvol=@ 0 1
UUID=$uuid /var btrfs noatime,nodiratime,subvol=@var 0 2
UUID=$uuid /home btrfs noatime,nodiratime,subvol=@home 0 2
EOF
cat << EOF >> /var/lib/dpkg/status
Package: lvm2
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 0
Maintainer: Debian Adduser Developers <[email protected]>
Architecture: all
Multi-Arch: foreign
Version: 113.118
Description: No-install
Package: sudo
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 0
Maintainer: Debian Adduser Developers <[email protected]>
Architecture: all
Multi-Arch: foreign
Version: 113.118
Description: No-install
EOF
exit
grub-install --boot-directory=@/boot/ /dev/$blkdev
init 6
apt -yq install --no-install-recommends linux-image-amd64 bash-completion ed btrfs-progs grub-pc iproute2 ssh smartmontools ntfs-3g net-tools man
exit
grub-install --boot-directory=@/boot/ /dev/$blkdev
init 6
ã¯ã©ã¹ã¿ãŒãäœæãã
apt -yq install --no-install-recommends gnupg wget ca-certificates
echo 'deb https://download.ceph.com/debian-octopus/ buster main' >> /etc/apt/sources.list
wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add -
apt update
apt -yq install --no-install-recommends ceph-common ceph-mon
echo 192.168.11.11 rbd1 >> /etc/hosts
uuid=`cat /proc/sys/kernel/random/uuid`
cat << EOF > /etc/ceph/ceph.conf
[global]
fsid = $uuid
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
mon allow pool delete = true
mon host = 192.168.11.11
mon initial members = rbd1
mon max pg per osd = 385
osd crush update on start = false
#osd memory target = 2147483648
osd memory target = 1610612736
osd scrub chunk min = 1
osd scrub chunk max = 2
osd scrub sleep = .2
osd pool default pg autoscale mode = off
osd pool default size = 1
osd pool default min size = 1
osd pool default pg num = 1
osd pool default pgp num = 1
[mon]
mgr initial modules = dashboard
EOF
ceph-authtool --create-keyring ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
ceph-authtool --create-keyring ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
cp ceph.client.admin.keyring /etc/ceph/
ceph-authtool --create-keyring bootstrap-osd.ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
cp bootstrap-osd.ceph.keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
ceph-authtool ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
ceph-authtool ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
monmaptool --create --add rbd1 192.168.11.11 --fsid $uuid monmap
rm -R /var/lib/ceph/mon/ceph-rbd1/*
ceph-mon --mkfs -i rbd1 --monmap monmap --keyring ceph.mon.keyring
chown ceph:ceph -R /var/lib/ceph
systemctl enable ceph-mon@rbd1
systemctl start ceph-mon@rbd1
ceph mon enable-msgr2
ceph status
# dashboard
apt -yq install --no-install-recommends ceph-mgr ceph-mgr-dashboard python3-distutils python3-yaml
mkdir /var/lib/ceph/mgr/ceph-rbd1
ceph auth get-or-create mgr.rbd1 mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-rbd1/keyring
systemctl enable ceph-mgr@rbd1
systemctl start ceph-mgr@rbd1
ceph config set mgr mgr/dashboard/ssl false
ceph config set mgr mgr/dashboard/server_port 7000
ceph dashboard ac-user-create root 1111115 administrator
systemctl stop ceph-mgr@rbd1
systemctl start ceph-mgr@rbd1
OSDã®è¿œå ïŒäžéšïŒ
apt install ceph-osd
osdnum=`ceph osd create`
mkdir -p /var/lib/ceph/osd/ceph-$osdnum
mkfs -t xfs /dev/sda1
mount -t xfs /dev/sda1 /var/lib/ceph/osd/ceph-$osdnum
cd /var/lib/ceph/osd/ceph-$osdnum
ceph auth get-or-create osd.0 mon 'profile osd' mgr 'profile osd' osd 'allow *' > /var/lib/ceph/osd/ceph-$osdnum/keyring
ln -s /dev/disk/by-partuuid/d8cc3da6-02 block
ceph-osd -i $osdnum --mkfs
#chown ceph:ceph /dev/sd?2
chown ceph:ceph -R /var/lib/ceph
systemctl enable ceph-osd@$osdnum
systemctl start ceph-osd@$osdnum
ãµããªãŒ
CEPH ã®äž»ãªããŒã±ãã£ã³ã°äžã®å©ç¹ã¯ãããŒã¿ã®å Žæãèšç®ããã¢ã«ãŽãªãºã ã§ãã CRUSH ã§ãã ã¢ãã¿ãŒã¯ãã®ã¢ã«ãŽãªãºã ãã¯ã©ã€ã¢ã³ãã«äŒæãããã®åŸã¯ã©ã€ã¢ã³ãã¯ç®çã®ããŒããšç®çã® OSD ãçŽæ¥èŠæ±ããŸãã CRUSH ã¯éäžç®¡çãæäŸããŸããã å°ããªãã¡ã€ã«ãªã®ã§ãå°å·ããŠå£ã«é£Ÿãããšãã§ããŸãã å®éã«ãã£ãŠã¿ããšãCRUSH ã¯ç¶²çŸ çãªãããã§ã¯ãªãããšãããã£ãŠããŸãã ãã¹ãŠã® OSD ãš CRUSH ãä¿æãããŸãŸã¢ãã¿ãŒãç Žæ£ããŠåäœæããã ãã§ã¯ãã¯ã©ã¹ã¿ãŒã埩å ããã®ã«ååã§ã¯ãããŸããã ãã®ããšãããåã¢ãã¿ãŒã¯ã¯ã©ã¹ã¿ãŒå šäœã«é¢ããäœããã®ã¡ã¿ããŒã¿ãä¿åããŠãããšçµè«ä»ããããŸãã ãã®ã¡ã¿ããŒã¿ã®éã¯ãããã§ãããããã¯ã©ã¹ã¿ãŒã®ãµã€ãºã«å¶éã¯èª²ãããŸããããå®å šæ§ãå¿ èŠãšãªããããã·ã¹ãã ããã©ãã·ã¥ ãã©ã€ãã«ã€ã³ã¹ããŒã«ããããšã«ãããã£ã¹ã¯ã®ç¯çŽããªããªããããŒãã XNUMX ã€æªæºã®ã¯ã©ã¹ã¿ãŒã¯é€å€ãããŸãã ãªãã·ã§ã³æ©èœã«é¢ããç©æ¥µçãªéçºè ããªã·ãŒã ããããªãºã ãšã¯çšé ãã ã¬ãã«ã®ããã¥ã¡ã³ã: ãå 容ã«ã€ããŠã¯æè¬ããŠããŸãããéåžžã«è²§åŒ±ã§ããã äœã¬ãã«ã§ãµãŒãã¹ãšå¯Ÿè©±ããæ©èœãæäŸãããŠããŸããããã®ãããã¯ã«é¢ããããã¥ã¡ã³ãã¯ããŸãã«ãè¡šé¢çã§ããããããã¯ããããããããããã®å¯èœæ§ãé«ããªããŸãã ç·æ¥äºæ ããããŒã¿ãå埩ããå¯èœæ§ã¯äºå®äžãããŸããã
ãããªãã¢ã¯ã·ã§ã³ã®ãªãã·ã§ã³: CEPH ãæŸæ£ããŠããããããªãã«ããã£ã¹ã¯ btrfs (ãŸã㯠xfsãzfs) ã䜿çšãããæå®ãããæ¡ä»¶ã§åäœã§ããããã«ãã CEPH ã«é¢ããæ°ããæ
å ±ãåŠã¶ãé«åºŠãªãã¬ãŒãã³ã°ãšããŠç¬èªã®ã¹ãã¬ãŒãžãäœæããŠã¿ãã
åºæïŒ habr.com