ከ CEPH ጋር ልምድ

በአንድ ዲስክ ላይ ከሚመጥነው በላይ ብዙ ውሂብ ሲኖር ስለ RAID ማሰብ ጊዜው አሁን ነው። በልጅነቴ፣ ከሽማግሌዎቼ ብዙ ጊዜ እሰማ ነበር፡- “አንድ ቀን RAID ያለፈ ነገር ይሆናል፣ የቁሳቁስ ማከማቻ አለምን ያጥለቀልቃል፣ እና CEPH ምን እንደሆነ እንኳን አታውቁም” ስለዚህ በገለልተኛ ህይወት ውስጥ የመጀመሪያው ነገር የራስዎን ዘለላ እየፈጠረ ነበር። የሙከራው አላማ ከሴፍ ውስጣዊ መዋቅር ጋር ለመተዋወቅ እና የአተገባበሩን ወሰን ለመረዳት ነበር. ሴፍ በመካከለኛ ንግድ ውስጥ ማስተዋወቅ ምን ያህል ትክክል ነው ፣ ግን በትንሽ ውስጥ? ከበርካታ አመታት ቀዶ ጥገና እና ሁለት የማይቀለበስ የውሂብ መጥፋት በኋላ ፣ ሁሉም ነገር በጣም ቀላል እንዳልሆነ ስለ ጥቃቅን ነገሮች ግንዛቤ ተነሳ። የ CEPH ባህሪያት በሰፊው ስርጭቱ ላይ እንቅፋት ይፈጥራሉ, እና በእነሱ ምክንያት, ሙከራዎች ቆመዋል. ከታች የተዘረዘሩት ሁሉም እርምጃዎች, የተገኘው ውጤት እና መደምደሚያዎች መግለጫ ነው. እውቀት ያላቸው ሰዎች ልምዳቸውን ቢያካፍሉ እና አንዳንድ ነጥቦችን ካብራሩ እኔ አመሰግናለሁ።

ማሳሰቢያ፡ አስተያየት ሰጪዎች በአንዳንድ ግምቶች ላይ ከባድ ስህተቶችን ጠቁመዋል፣ ይህም ሙሉውን መጣጥፍ መከለስ ያስፈልገዋል።

CEPH ስትራቴጂ

የCEPH ክላስተር የዘፈቀደ ቁጥር K የዘፈቀደ መጠን ያላቸውን ዲስኮች በማጣመር መረጃን በእነሱ ላይ ያከማቻል፣ እያንዳንዱን ቁራጭ (በነባሪ 4 ሜባ) በማባዛት የተሰጠውን ቁጥር N ጊዜ።

ከሁለት ተመሳሳይ ዲስኮች ጋር ቀላሉን ጉዳይ አስቡበት። RAID 1 መገንባት ወይም ከነሱ N=2 ጋር ክላስተር መገንባት ትችላለህ - ውጤቱ አንድ አይነት ይሆናል። ሶስት ዲስኮች ካሉ እና የተለያዩ መጠኖች ካላቸው N = 2 ጋር ክላስተር መሰብሰብ ቀላል ነው-አንዳንዶቹ መረጃ በዲስክ 1 እና 2 ፣ አንዳንዶቹ በ 1 እና 3 ፣ እና አንዳንዶቹ በ 2 እና 3 ላይ ይሆናሉ። RAID ባይሆንም (እንዲህ ዓይነቱን RAID መሰብሰብ ይችላሉ, ግን ጠማማ ይሆናል). ተጨማሪ ዲስኮች ካሉ, ከዚያም RAID 5 መፍጠር ይቻላል, CEPH አንድ አናሎግ አለው - erasure_code, ይህም ገንቢዎች ቀደምት ፅንሰ የሚቃረን ነው, እና ስለዚህ ከግምት አይደለም. RAID 5 አነስተኛ ቁጥር ያላቸው ዲስኮች እንዳሉ ይገምታል, እና ሁሉም በጥሩ ሁኔታ ላይ ናቸው. አንዱ ካልተሳካ ቀሪው ዲስኩ እስኪተካ እና ውሂቡ ወደነበረበት እስኪመለስ ድረስ መቆየት አለበት። CEPH ከ N> = 3 ጋር የድሮ ዲስኮችን መጠቀምን ያበረታታል በተለይም ብዙ ጥሩ ዲስኮች አንድ ቅጂ ለማከማቸት እና የቀሩትን ሁለት ወይም ሶስት ቅጂዎች በበርካታ አሮጌ ዲስኮች ላይ ካከማቹ ከዚያም መረጃው ደህና ይሆናል ፣ ምክንያቱም በአሁኑ ጊዜ አዳዲስ ዲስኮች በሕይወት አሉ - ምንም ችግሮች የሉም ፣ እና አንዱ ከተሰበሩ ፣ ከአምስት ዓመት በላይ የአገልግሎት ሕይወት ያላቸው የሶስት ዲስኮች በተመሳሳይ ጊዜ አለመሳካቱ ፣ በተለይም ከተለያዩ አገልጋዮች ፣ በጣም የማይታሰብ ነው ። ክስተት.

በቅጂዎች ስርጭት ውስጥ ስውርነት አለ። በነባሪ, ውሂቡ ወደ ተጨማሪ (~ 100 በዲስክ) ፒጂ ማከፋፈያ ቡድኖች እንደተከፋፈለ ይገመታል, እያንዳንዳቸው በአንዳንድ ዲስኮች ላይ ይባዛሉ. K=6, N=2 እንበል, ከዚያም ማንኛቸውም ሁለት ዲስኮች ካልተሳኩ መረጃው እንደሚጠፋ ዋስትና ተሰጥቶታል, ምክንያቱም እንደ ፕሮባቢሊቲ ንድፈ ሃሳብ መሰረት, በእነዚህ ሁለት ዲስኮች ላይ ቢያንስ አንድ ፒጂ ይኖራል. እና የአንድ ቡድን መጥፋት በገንዳው ውስጥ ያለውን መረጃ ሁሉ ተደራሽ ያደርገዋል። ዲስኮች በሶስት ጥንድ የተከፋፈሉ እና መረጃዎችን በአንድ ጥንድ ውስጥ በዲስኮች ላይ ብቻ እንዲያከማቹ ከተፈቀደላቸው እንዲህ ያለው ስርጭትም የአንድ ዲስክ ውድቀትን ይቋቋማል, ነገር ግን ሁለቱ ካልተሳኩ የውሂብ መጥፋት እድሉ 100% አይደለም. ግን 3/15 ብቻ, እና ሌላው ቀርቶ ውድቀት ቢከሰት ሶስት ዲስኮች - 12/20 ብቻ. ስለዚህ በመረጃ ስርጭት ውስጥ ኢንትሮፒ ለስህተት መቻቻል አስተዋጽኦ አያደርግም። እንዲሁም ለፋይል አገልጋይ ነፃ RAM ምላሽ ሰጪነትን በእጅጉ እንደሚጨምር ልብ ይበሉ። በእያንዳንዱ መስቀለኛ መንገድ የበለጠ ማህደረ ትውስታ, እና በሁሉም አንጓዎች ውስጥ የበለጠ ማህደረ ትውስታ, የበለጠ ፈጣን ይሆናል. ይህ በአንድ አገልጋይ ላይ ያለው የክላስተር ጥቅም እና፣ በተጨማሪም የሃርድዌር NAS፣ በጣም ትንሽ መጠን ያለው ማህደረ ትውስታ በተሰራበት ላይ ያለ ጥርጥር ነው።

ይህ CEPH ጊዜ ያለፈበት መሣሪያዎች በትንሹ ኢንቨስትመንት ጋር ልኬት ዕድል ጋር በአስር ቲቢ የሚሆን አስተማማኝ የማከማቻ ሥርዓት ለመፍጠር ጥሩ መንገድ ነው (እዚህ እርግጥ ነው, ወጪ ያስፈልጋል, ነገር ግን የንግድ ማከማቻ ስርዓቶች ጋር ሲነጻጸር አነስተኛ).

የክላስተር ትግበራ

ለሙከራ ያህል፣ የተቋረጠ ኮምፒውተር Intel DQ57TM + Intel core i3 540+ 16GB RAM እንውሰድ። አራት 2 ቲቢ ዲስኮችን እንደ RAID10 ወደ አንድ ነገር እናደራጃለን, ከተሳካ ሙከራ በኋላ ሁለተኛ መስቀለኛ መንገድ እና ተመሳሳይ የዲስክ ብዛት እንጨምራለን.

ሊኑክስን ይጫኑ። ስርጭቱ ሊበጅ እና የተረጋጋ እንዲሆን ያስፈልጋል። ዴቢያን እና ሱሴ መስፈርቶቹን ያሟላሉ። Suse ማንኛውንም ጥቅል እንዲያሰናክሉ የሚያስችልዎ የበለጠ ተለዋዋጭ ጫኝ አለው; እንደ አለመታደል ሆኖ በስርአቱ ላይ ጉዳት ሳይደርስ የትኛዎቹ ሊጣሉ እንደሚችሉ ሊገባኝ አልቻለም። ዴቢያንን በዲቡትስትራፕ ባስተር በኩል ጫን። የ min-base አማራጭ አሽከርካሪዎች የሌሉትን የማይሰራ ስርዓት ይጭናል። ከሙሉ ስሪት ጋር ሲነፃፀር የመጠን ልዩነት ለመጨነቅ ያን ያህል ትልቅ አይደለም. ስራው የሚከናወነው በአካላዊ ማሽን ላይ ስለሆነ ልክ እንደ ምናባዊ ማሽኖች ቅጽበተ-ፎቶዎችን ማንሳት እፈልጋለሁ. ወይ LVM ወይም btrfs (ወይም xfs፣ ወይም zfs - ልዩነቱ ትልቅ አይደለም) እንደዚህ አይነት እድል ይሰጣል። ቅጽበተ-ፎቶዎች የኤልቪኤም forte አይደሉም። btrfs ን ይጫኑ። እና ቡት ጫኚው በ MBR ውስጥ ነው። ወደ 50 ሜጋ ባይት ክፍልፋይ የጠረጴዛ አካባቢ መግፋት እና ለስርዓቱ ሁሉንም ቦታ መመደብ ሲችሉ 1 ሜባ ዲስክን ከ FAT ክፍል ጋር መዝጋት ምንም ትርጉም የለውም። በዲስክ ላይ 700 ሜባ ወስዷል. የ SUSE መሰረታዊ ጭነት ምን ያህል አለው - አላስታውስም ፣ ይመስላል ፣ ወደ 1.1 ወይም 1.4 ጊባ።

CEPH ን ጫን። በዲቢያን ማከማቻ ውስጥ ያለውን ስሪት 12 ን ችላ ብለን ከጣቢያው በቀጥታ እንገናኛለን 15.2.3. ከሚከተሉት ማስጠንቀቂያዎች ጋር "CEPH ን በእጅ መጫን" የሚለውን ክፍል መመሪያዎችን እንከተላለን.

  • ማከማቻውን ከማገናኘትዎ በፊት gnupg wget ca-certificates መጫን አለቦት
  • ማከማቻውን ካገናኙ በኋላ፣ ግን ክላስተር ከመጫንዎ በፊት፣ የጥቅል ጭነት ቀርቷል፡ apt -y --no-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 ኪባ መረጃ ዲስክ ሲጨመር አንድ ጊዜ ይፈጠራል እና እንደገና ሲቀየር አላስተዋለም። ሁለተኛው ክፍልፋይ የፋይል ስርዓት የለውም እና የ CEPH ሁለትዮሽ መረጃዎችን ያከማቻል. በቀደሙት ስሪቶች ውስጥ በራስ-ሰር መጫን ለአገልግሎት መረጃ 100MB xfs ክፍልፍል ፈጠረ። ዲስኩን ወደ MBR ቀይሬ 16 ሜባ ብቻ መደብኩ - አገልግሎቱ አያጉረመርምም። እንደማስበው፣ ያለችግር፣ xfs በ ext ሊተካ ይችላል። ይህ ክፍልፋይ በ /var/lib/… ውስጥ አገልግሎቱ ስለ OSD መረጃ በሚያነብበት እና እንዲሁም የሁለትዮሽ ውሂቡ ወደ ሚከማችበት የማገጃ መሳሪያ የሚያገናኝ ነው። በንድፈ ሀሳብ ፣ ረዳት የሆኑትን ወዲያውኑ በ / var / lib / ... ውስጥ ማስቀመጥ እና ሙሉውን ዲስክ ለመረጃ መመደብ ይችላሉ። OSD በ ceph-deploy በኩል ሲፈጥሩ በ/var/lib/… ውስጥ ክፍልፍልን ለመጫን ህግ በራስ ሰር ይፈጠራል፣ እና የ ceph ተጠቃሚ መብቶች የሚፈለገውን የማገጃ መሳሪያ ለማንበብ ተሰጥተዋል። በእጅ መጫኛ, ይህንን እራስዎ ማድረግ ያስፈልግዎታል, ሰነዱ ስለእሱ አይናገርም. በቂ አካላዊ ማህደረ ትውስታ እንዲኖር የ osd ማህደረ ትውስታ ኢላማ መለኪያን መግለፅም ጥሩ ነው.

ceph-mds. በዝቅተኛ ደረጃ፣ CEPH የነገር ማከማቻ ነው። የማገጃ ማከማቻ አቅሙ እያንዳንዱን 4 ሜባ ብሎክ እንደ ዕቃ ለማዳን ይቀንሳል። የፋይል ማከማቻ በተመሳሳይ መርህ ላይ ይሰራል. ሁለት ገንዳዎች ተፈጥረዋል: አንዱ ለሜታዳታ, ሌላኛው ለመረጃ. እነሱ በፋይል ስርዓት ውስጥ ይጣመራሉ. በዚህ ጊዜ አንድ ዓይነት መዝገብ ይፈጠራል, ስለዚህ የፋይል ስርዓቱን ከሰረዙ, ነገር ግን ሁለቱንም ገንዳዎች ካስቀመጡ, ከዚያ ወደነበረበት መመለስ አይችሉም. በብሎኮች ውስጥ ፋይሎችን የማውጣት ሂደት አለ ፣ አልሞከርኩትም። የ ceph-mds አገልግሎት የፋይል ስርዓቱን የመድረስ ሃላፊነት አለበት። እያንዳንዱ የፋይል ስርዓት የተለየ የአገልግሎቱን ምሳሌ ይፈልጋል። በአንድ ውስጥ የበርካታ የፋይል ስርዓቶች ተመሳሳይነት እንዲፈጥሩ የሚያስችልዎ "ኢንዴክስ" አማራጭ አለ - እንዲሁም አልተሞከረም.

ceph-mon - ይህ አገልግሎት የክላስተር ካርታ ይይዛል። ስለ ሁሉም ኦኤስዲዎች፣ በ OSD ውስጥ ያለው የPG ስርጭት አልጎሪዝም፣ እና ከሁሉም በላይ ደግሞ ስለ ሁሉም ነገሮች መረጃን ያካትታል (የዚህ ዘዴ ዝርዝሮች ለእኔ ግልጽ አይደሉም፡ /var/lib/ceph/mon/…/ አለ)። store.db ማውጫ ፣ ትልቅ መጠን ያለው ፋይሉ 26 ሜባ ነው ፣ እና በ 105 ኪ ነገሮች ስብስብ ውስጥ ፣ በአንድ ነገር ከ 256 ባይት ትንሽ በላይ ይወጣል - መቆጣጠሪያው የሁሉንም ዕቃዎች ዝርዝር እና ፒጂ የሚይዝ ይመስለኛል ። ይዋሻሉ)። በዚህ ማውጫ ላይ የሚደርስ ጉዳት በክላስተር ውስጥ ያለውን ሁሉንም ውሂብ መጥፋት ያስከትላል። ከዚህ በመነሳት CRUSH PGs በኦኤስዲ መሰረት እንዴት እንደሚገኙ እና እቃዎች በPG መሰረት እንዴት እንደሚገኙ ያሳያል - ምንም እንኳን ገንቢዎቹ ይህንን ቃል ቢርቁ በማዕከላዊው የውሂብ ጎታ ውስጥ ተከማችተዋል ። በውጤቱም ፣ በመጀመሪያ ፣ ስርዓቱን በ RO ሞድ ላይ በፍላሽ አንፃፊ ላይ መጫን አንችልም ፣ የውሂብ ጎታው በቋሚነት ስለሚፃፍ ፣ ለእነዚህ ተጨማሪ ዲስክ ያስፈልጋል (ከ 1 ጂቢ አይበልጥም) እና ሁለተኛ ፣ አስፈላጊ ነው ። ይህንን መሠረት የእውነተኛ ጊዜ ቅጂ። ብዙ ተቆጣጣሪዎች ካሉ ፣ እንግዲያውስ የስህተት መቻቻል በራስ-ሰር ይሰጣል ፣ ግን በእኛ ሁኔታ አንድ ማሳያ ብቻ ነው ፣ ከፍተኛው ሁለት። በ OSD መረጃ ላይ በመመስረት ሞኒተሩን ወደነበረበት ለመመለስ ቲዎሬቲካል ሂደት አለ ፣ ለተለያዩ ምክንያቶች ሶስት ጊዜ ተጠቅሜበታለሁ ፣ እና ሶስት ጊዜ ምንም የስህተት መልእክት የለም ፣ እንዲሁም መረጃም እንዲሁ። በሚያሳዝን ሁኔታ, ይህ ዘዴ አይሰራም. ወይ ትንሽ የኦኤስዲ ክፋይ እናሰራለን እና ዳታቤዙን ለማከማቸት RAID እንሰበስባለን ፣ይህም ምናልባት በአፈፃፀም ላይ በጣም መጥፎ ተጽእኖ ይኖረዋል ፣ወይም ወደቦች እንዳይያዙ ቢያንስ ሁለት አስተማማኝ አካላዊ ሚዲያ በተለይም ዩኤስቢ እንመድባለን።

rados-gw - የ S3 ፕሮቶኮልን እና የመሳሰሉትን በመጠቀም የነገሮችን ማከማቻ ወደ ውጭ ይልካል። ብዙ ገንዳዎችን ይፈጥራል, ለምን እንደሆነ ግልጽ አይደለም. በእርግጥ ሙከራ አላደረገም።

ceph-mgr - ይህን አገልግሎት መጫን ብዙ ሞጁሎችን ይጀምራል. ከመካከላቸው አንዱ የአካል ጉዳተኛ ያልሆነ አውቶሜትር ነው. ትክክለኛውን የፒጂ/ኦኤስዲ ቁጥር ለመጠበቅ ይጥራል። ሬሾውን እራስዎ ለመቆጣጠር ከፈለጉ ለእያንዳንዱ ገንዳ ማመጣጠንን ማሰናከል ይችላሉ፣ ነገር ግን በዚህ ሁኔታ ሞጁሉ በ 0 ክፍፍል ይወድቃል እና የክላስተር ሁኔታ ስህተት ይሆናል። ሞጁሉ በፓይቶን ውስጥ ተጽፏል, እና በውስጡ አስፈላጊውን መስመር አስተያየት ከሰጡ, ይህ ወደ መዘጋቱ ይመራል. ዝርዝሮቹን ለማስታወስ በጣም ሰነፍ።

ያገለገሉ ምንጮች ዝርዝር፡-

የ CEPH ጭነት
ከተሟላ ሞኒተር ውድቀት ማገገም

የስክሪፕት ዝርዝሮች፡-

ስርዓቱን በዲቦስትራፕ በኩል በመጫን ላይ

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 እየጠበቁ ተቆጣጣሪዎቹን ማጥፋት እና እንደገና መፍጠር ክላስተርን ወደነበረበት ለመመለስ በቂ አይደለም። ከዚህ በመነሳት እያንዳንዱ ተቆጣጣሪ ስለ አጠቃላይ ክላስተር የተወሰነ ሜታዳታ ያከማቻል ብሎ ይደመድማል። የዚህ ሜታዳታ አነስተኛ መጠን በክላስተር መጠን ላይ ገደቦችን አይጥልም, ነገር ግን ደህንነታቸውን ይጠይቃል, ይህም ስርዓቱን በፍላሽ አንፃፊ ላይ በመጫን ምክንያት የዲስክ ቁጠባዎችን ያስወግዳል እና ከሶስት አንጓዎች ያነሱ ስብስቦችን አያካትትም. የአማራጭ ባህሪያትን በተመለከተ ኃይለኛ የገንቢ ፖሊሲ። ከዝቅተኛነት የራቀ። ደረጃ ላይ ያሉ ሰነዶች፡ "ለሆነ ነገር አመሰግናለሁ፣ ግን በጣም፣ በጣም ትንሽ።" በዝቅተኛ ደረጃ ከአገልግሎቶች ጋር የመገናኘት ችሎታ ቀርቧል፣ ነገር ግን ሰነዱ በዚህ ርዕስ ላይ በጣም ላይ ላዩን ነው፣ ስለዚህ ከአዎን በላይ ሊሆን ይችላል። ከድንገተኛ ሁኔታ መረጃን መልሶ የማግኘት ዕድል የለም ማለት ይቻላል።

ለተጨማሪ እርምጃ አማራጮች: CEPH ን ይተው እና ባናል ባለብዙ ዲስክ btrfs (ወይም xfs, zfs) ይጠቀሙ, ስለ CEPH አዲስ መረጃ ይወቁ, ይህም በተጠቀሱት ሁኔታዎች ውስጥ እንዲሰሩ ያስችልዎታል, የራስዎን ማከማቻ እንደ የላቀ ስልጠና ለመጻፍ ይሞክሩ. .

ምንጭ: hab.com

አስተያየት ያክሉ