bcache पर md या md पर bcache


11

bcache एक या अधिक फास्ट डिस्क ड्राइव जैसे फ्लैश-आधारित सॉलिड स्टेट ड्राइव (SSDs) को एक या अधिक धीमी हार्ड डिस्क ड्राइव के लिए कैश के रूप में कार्य करने की अनुमति देता है

अगर मे ठीक समझता हूँ,

  • एक SSD * को कई बैकिंग HDD को कैश करने के लिए सौंपा जा सकता है, और फिर परिणामस्वरूप कैश्ड डिवाइसेस को madadad
    या के साथ RAID किया जा सकता है
  • कई HDD को एक सिंगल बैकिंग md डिवाइस में RAID किया जा सकता है और SSD को कैश करने के लिए असाइन किया जाता है

मैं सोच रहा हूँ कि कौन सा पवित्र दृष्टिकोण है। यह मेरे लिए होता है कि एक RAID5 / 6 को बढ़ाना एक या अन्य तकनीक के साथ सरल हो सकता है, लेकिन मुझे यकीन नहीं है कि कौन सा!

क्या दूसरे कारणों पर एक दृष्टिकोण चुनने के लिए (वीएम बैकिंग फ़ाइलों वाले एक बड़े गैर-रूट फाइल सिस्टम के लिए) अच्छे कारणों (जैसे बैकिंग स्टोरेज या कुछ और बढ़ रहा है) हैं?


* "एक एसएसडी" से मेरा मतलब है कि कुछ प्रकार के निरर्थक एसएसडी डिवाइस, जैसे दो भौतिक एसएसडी के एक RAID1


या तो सभी डिस्क के bcacheसाथ बैकस् को फॉर्मेट करना होगा bcache- इसलिए आपको या तो एक mdएरे तैयार करना होगा, सिंगल रिक्वेस्ट डिस्क को पूरी तरह से एक bcacheसमर्थित पार्टीशन के रूप में फॉर्मेट करें , इसे अपने कैश ड्राइव से लिंक करें और वहां से जाएं, या कई फॉर्मेट करें डिस्क के साथ bcache, उन्हें अपने कैश ड्राइव से लिंक करें, फिर एक डिस्क के रूप में कई डिस्क को प्रारूपित करें। या तो मामले में संभावित विफलता के कई बिंदु हैं, जिनमें से सभी दो फाइल सिस्टम के बीच अंतर पर निर्भर करते हैं - अंतिम एफएस का उल्लेख नहीं करना। देखने के लिए यहाँ : नीचे स्क्रॉल
मिकसेव

Github.com/g2p/blocks के लिए धन्यवाद , आप इसे इन-प्लेस में बदल सकते हैं, हालांकि इसके लिए कुछ सीमाएँ हैं।
एडम रिक्ज़ोस्की

@ mikeserv मैं यह सब समझता हूं, यह एक उद्देश्य से निर्मित सर्वर के लिए है इसलिए यह सब अच्छा है। आपका क्या मतलब है "दो फाइल सिस्टम"? bcache एक फाइलसिस्टम नहीं है - एकमात्र फाइल सिस्टम जो मेरे पास होगा वह अंतिम bcache या mdadm डिवाइस पर XFS होगा (मैं कौन सा विकल्प चुनूं)।

धन्यवाद @ अदम, इन-प्लेस रूपांतरण मेरे लिए कोई समस्या नहीं है।

@mikeserv नहीं यह नहीं है। फाइलसिस्टम (जैसे btrfs, xfs, extN आदि) ब्लॉक डिवाइस के शीर्ष पर रहते हैं। mdadm और bcache फाइल सिस्टम स्तर पर ब्लॉक डिवाइस के स्तर पर काम नहीं करता है (btrfs इस समस्या को भ्रामक उल्लंघन के साथ भ्रमित करता है, लेकिन यह एक पूरी तरह से अलग वार्तालाप है)।

जवाबों:


4

मुझे लगता है कि पूरे md डिवाइस को कैशिंग करने से सबसे ज्यादा फायदा होता है।

पूरे md डिवाइस को कैश करने के लिए bcache रखना, छापे जाने के पूरे विचार को त्याग देता है, क्योंकि यह विफलता का एक और बिंदु पेश करता है।

  • SSD डिस्क के OTH फेलियर अपेक्षाकृत दुर्लभ हैं, और bcache को writethrough/ writearoundमोड (मोड के विपरीत writeback) में रखा जा सकता है , जहां केवल कैश डिवाइस में संग्रहीत कोई डेटा नहीं है, और कैश की विफलता जानकारी को नहीं मारती है छापे इसे एक अपेक्षाकृत सुरक्षित विकल्प बनाता है।

  • अन्य तथ्य यह है कि नरम RAID -5 का महत्वपूर्ण कम्प्यूटेशनल ओवरहेड है; जब प्रत्येक कताई छापे वाले सदस्य को अलग से कैशिंग करते हैं, तो कंप्यूटर को अभी भी सभी हिट्स की गणना करना पड़ता है, यहां तक ​​कि कैश हिट पर भी

  • यदि आप प्रत्येक कताई ड्राइव को अलग से कैश करते हैं, तो जाहिर है, आप कुछ महंगे ssd स्पेस का त्याग करेंगे। - जब तक आप छापे गए एसएसडी कैश का उपयोग करने की योजना नहीं बनाते हैं।

  • दोनों विकल्प अपेक्षाकृत बढ़ती प्रक्रिया के समय को प्रभावित नहीं करते हैं - हालांकि कताई ड्राइव के विकल्प को अलग से कैश किया जाता है क्योंकि अधिक बस यातायात के कारण धीमी होने की संभावना है ।

यह ssd ड्राइव को हटाने के लिए bcache को कॉन्फ़िगर करने के लिए तेज़ और अपेक्षाकृत सरल प्रक्रिया है, जब आपको इसे बदलने की आवश्यकता होती है। ब्लॉकों के लिए धन्यवाद दोनों तरीकों से छापे सेटअप को स्थानांतरित करना संभव है।

आपको यह भी याद रखना चाहिए, कि इस समय सबसे अधिक (सभी?) लाइव-सीडी वितरण का समर्थन नहीं हैbcache , इसलिए आप अपने डेटा को ऐसे टूल के साथ एक्सेस नहीं कर सकते हैं bcache- mdraidआपके द्वारा चुने गए लेआउट विकल्प की परवाह किए बिना ।


1
मैंने यह स्पष्ट करने के लिए प्रश्न अपडेट किया है कि मैं एक गैर-निरर्थक एसएसडी कैश की योजना नहीं बना रहा हूं । आपका दूसरा बुलेट पॉइंट एक उत्कृष्ट बिंदु है, इसके लिए धन्यवाद। आप अंतरिक्ष के बारे में तीसरी गोली मारते हैं: क्या आपका मतलब है क्योंकि आप एसएसडी पर समानता का भंडारण कर रहे हैं? अपने आखिरी पैरा को फिर से इस्तेमाल कर रहा हूं, मैं एफ 20 का उपयोग कर रहा हूं, लेकिन अंततः आरएचईएल / सेंटोस 7 या डेबियन जेसी (यदि bcache-tools कटौती करता है) का उपयोग कर रहा होगा।

@JackDouglas Ad 3rd बुलेट: हाँ, बिलकुल। लेकिन जब से आप छापे ssd ड्राइव का उपयोग करने की योजना बनाते हैं, तो यह आपके लिए लागू नहीं होता है।
एडम रिक्ज़ोस्की

1
यह अभी भी करता है क्योंकि वे न केवल प्रतिबिंबित होंगे, बल्कि बैकिंग ड्राइव के लिए RAID समानता को संग्रहीत करने की आवश्यकता होगी। यह मामला नहीं है अगर RAID नीचे bcache किया जाता है जो मुझे लगा कि आपकी बात थी

मेरा मानना ​​है कि आप इसके विपरीत हैं: ssd मैट्रिक्स को कताई डिस्क की समानता को स्टोर करने की आवश्यकता नहीं है, अगर इसे पूरे mdraid ड्राइव को खिलाया जाता है।
एडम रिक्ज़ोस्की

1
हाँ, यही मेरा मतलब है!

1

मुझे लगता है कि परिणामी MD डिवाइस को कैश करना है।

bcache पास-गर्त अनुक्रमिक पढ़ने और लिखने के लिए डिज़ाइन किया गया है।

यदि आप प्रत्येक डिवाइस को अलग-अलग, तार्किक रूप से bcache करते हैं, तो bcache के नजरिए से, छापे या छीनने वाले MD, स्ट्रिप में कई डिवाइस, लगातार यादृच्छिक ब्लॉक लिख रहे हैं।

जबकि एक bcached MD वॉल्यूम सामान्य होगा, वॉल्यूम को फाइलें लिखना, बल्कि फिर कई उपकरणों को यादृच्छिक ब्लॉक।

हार्ड और सॉफ्टवेयर छापे का पूरा बिंदु बैकएंड में डेटा की स्ट्रिपिंग करना है ताकि परिणामस्वरूप फाइलसिस्टम सामान्य वॉल्यूम की तरह दिखे।

यह सही नहीं हो सकता है (क्योंकि bcache devs होशियार हो सकता है और उस तरह की स्थिति के लिए जिम्मेदार हो सकता है), लेकिन ऐसा करने के लिए तार्किक इष्टतम चीज वॉल्यूम को रोकना है, बल्कि फिर उपकरणों को ब्लॉक करना है।


यह भी एक बहुत अच्छी बात है

RAID5 / 6 के लिए एक बड़ा अनुक्रमिक लेखन सभी घटक उपकरणों के लिए अनुक्रमिक लिखता है। प्रत्येक घटक उपकरणों को हर N-1 डेटा ब्लॉक (या समता) मिलता है, लेकिन जो डेटा उसे मिलता है वह अनुक्रमिक है। लेकिन आप सही हैं कि यह चीजों को विकृत कर देगा। यदि कुछ अंश ऐसे होते हैं जो बार-बार आंशिक-धारी लिखते हैं, जिसके परिणामस्वरूप समता पट्टी का एक पठन-संशोधित-लेखन (भाग) होता है, जिसे bcache द्वारा कैश किया जा सकता है। इसे और अधिक कैशिंग करना, इससे पहले कि आंशिक-पट्टी लेखन ने कभी एमडी डिवाइस को हिट किया, हालांकि यह और भी बेहतर होगा।
पीटर कॉर्डेस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.