SSD कैश HDD स्पिन-अप समय को कम करने के लिए?


8

लघु संस्करण पहले : मैं लिनक्स संगत सॉफ्टवेयर की तलाश कर रहा हूं जो एसएसडी का उपयोग करके एचडीडी को पारदर्शी रूप से कैश करने में सक्षम है। हालाँकि, मैं केवल दिन में एक या दो बार एचडीडी को स्पिन करना चाहता हूं (एचडीडी को कैश्ड डेटा लिखने के लिए)। बाकी समय, शोर की चिंताओं के कारण एचडीडी को कताई नहीं करना चाहिए।

अब लंबा संस्करण : मैंने एक पूरी तरह से मूक कंप्यूटर का निर्माण किया है जो जुबांटु चल रहा है। इसमें A10-6700T APU, विशाल फैनलेस कूलर, फैनलेस PSU, SSD है। समस्या यह है: यह भी (और जरूरतों) एक शोर HDD है और मैं इसे रात के दौरान कताई मना करना चाहता हूं। सभी लेखन को एसएसडी पर कैश किया जाना चाहिए, रात में रीड्स की आवश्यकता नहीं है।

हर दिन के दौरान, यह कंप्यूटर स्वचालित रूप से लगभग 5 जीबी डेटा डाउनलोड करेगा, जो लगभग एक वर्ष के लिए 2 टीबी से कम की कुल आवश्यक डिस्क क्षमता देगा। यह डेटा वर्तमान में 3 टीबी शोर हार्ड डिस्क ड्राइव पर संग्रहीत है जो दिन-रात घूम रहा है। कभी-कभी, मुझे कई महीनों पहले से कुछ डेटा एक्सेस करने की आवश्यकता होगी। हालांकि, ज्यादातर बार मुझे केवल पिछले 14 दिनों के डेटा की आवश्यकता होगी, जो एसएसडी पर फिट होगा। आदर्श रूप से, मैं एक पारदर्शी समाधान (एक फाइलसिस्टम पर सभी डेटा) चाहूंगा, जो सभी को एसएसडी को लिखता है, दिन में केवल एक बार एचडीडी को लिखता है। यदि वे अभी भी एसएसडी पर थे, तो कैश द्वारा सेवा दी जाएगी, अन्यथा एचडीडी को स्पिन करना होगा।

मैंने बहुत सफलता के बिना bcache की कोशिश की है (cache_mode = writeback, writeback_running = 0, writeback_delay = 86400, sequential_cutoff = 0, congested_write_thresholdus -us = 0 - कुछ भी याद आ रही है?) और मैंने ZFS ZIL / L2ARC के बारे में पढ़ा है, लेकिन मुझे यकीन नहीं है कि मैं इसे हासिल कर रहा हूं, लेकिन मुझे यकीन नहीं है। ZFS के साथ मेरा लक्ष्य। कोई संकेत?

यदि अन्य सभी विफल रहता है, तो मैं एसएसडी से सबसे पुरानी फाइलों को हटाते हुए फ़ाइलों को स्वचालित रूप से बड़ी ड्राइव पर स्वचालित रूप से कॉपी करने के लिए उपयोग करूंगा।

संपादित करें : कैश वास्तव में मैं क्या चाहता था के लिए गलत शब्द है। ऐसा लगता है कि मूल उद्देश्य समाधान इस समय मेरे लिए संभव नहीं है। हर उस व्यक्ति को धन्यवाद जिसने योगदान दिया!


1
आप SSD पर डेटा के लायक सिर्फ 14 दिन (या बहुत अधिक फिट) क्यों नहीं रखते हैं और एक स्क्रिप्ट लिखते हैं जो दिन में एक बार चलती है और HDD की तुलना में कुछ भी पुरानी है? इस तरह अगर आप 14 दिनों से कम की किसी भी चीज का उपयोग कर रहे हैं तो आप एसएसडी का उपयोग करेंगे और एचडीडी केवल एक दिन में एक बार लिखेंगे। यदि आपको कुछ पुराने की जरूरत है तो आपको HDD का उपयोग करना होगा।
रिचर्ड पॉवेल

जैसा कि मैंने प्रश्न के अंतिम वाक्य में सुझाया था, वैसा ही करूँगा :) मैंने जिन कारणों से सवाल पूछा था उनमें से (केवल छोटे रूप से) परेशान होने से बचने और मैन्युअल रूप से ड्राइव का माउंट करने की आवश्यकता के विपरीत था एक पारदर्शी फाइल सिस्टम होना।
सिरप्रीज

जवाबों:


3

Thats वास्तव में कैसे या क्यों नहीं कैशिंग काम करता है - कैशिंग का मतलब है तेज गति और SSD या अन्य मेमोरी के बेहतर यादृच्छिक अभिगम का फायदा उठाना, बजाय इसके कि hdd को कम से कम लिखा जाए। कैशिंग को गति को अधिकतम करने के लिए डिज़ाइन किया गया है, लिखने को कम न करें, एक छोटे, तेज बफर के साथ एक बड़े, धीमी गति से भंडारण डिवाइस का समर्थन करते हुए।

वास्तव में, bcache, जो कि मेनलाइन लिनक्स कर्नेल का एक हिस्सा है, बस SSD के लिए अनुक्रमिक लिखों पर पास करेगा, बजाय SSD के इसे पारित करने के बजाय क्योंकि इसमें कोई प्रदर्शन लाभ नहीं है।

ZIL / L2Arc SSD का उपयोग लॉग (ZIL के मामले में) और आमतौर पर इस्तेमाल किए जाने वाले फ़ाइल क्लस्टर (L2Arc के साथ) को संग्रहीत करने के लिए करता है। जब तक वे सभी लिखने के लिए तैयार नहीं हो जाते, तब तक उन्हें संग्रहीत करके ZIL सिंक्रोनाइज़ लिखता है। L2Arc स्टोरेज को आमतौर पर तेज स्टोरेज पर एक्सेस करता है। इनमें से कोई भी आपको वह नहीं करने देगा जो आपको चाहिए।

फ्यूजन ड्राइव भी उपयोग करता है एक एसएसडी और एक HDD पारदर्शी रूप से तेजी से के लिए SSD पर आमतौर पर इस्तेमाल किया फ़ाइलें रखने पढ़ता है, और कम अक्सर इस्तेमाल किया फ़ाइलों के थोक भंडारण के लिए हार्ड ड्राइव। यह भी आपको खरोंच स्थान के रूप में SSD का उपयोग करने की अनुमति नहीं देता है, और फ़ाइलों को मुख्य ड्राइव पर हर बार बैकअप देता है

आप जिस चीज को देख रहे हैं वह बिल्कुल भी कैशिंग नहीं है, बल्कि सिस्टम के आवधिक बैकअप के लिए HDD है। मैं अनुमान लगा रहा हूँ कि Aufs के साथ मिलकर कुछ करने में सक्षम हो सकता है -बड़ी फ़ाइलों के साथ HDD पर पहली शाखा (इसलिए यह पूर्वधारणा लेता है), और SSD पर एक शाखा, फिर एक स्क्रिप्ट चलाएँ जो SSD से फ़ाइलों को स्थानांतरित करती है HDD समय-समय पर, उसी स्थान से पहुंच योग्य होने के दौरान। मैंने अभी तक इसका परीक्षण नहीं किया है, लेकिन कैशिंग के विपरीत, समय-समय पर फ़ाइलों को स्थानांतरित करना और एफ़यूएस का उपयोग करना बिल्कुल वैसा ही होगा जैसा आप चाहते हैं।

उम्र के हिसाब से फाइलों को छांटने का सबसे सरल तरीका है ls -tr - t Sort by time (सबसे पुरानी से पुरानी) और r ऑर्डर को उलट देता है। (यदि आपके मन में एक विशिष्ट सीमा है, तो find . -mtime nकाम करता है महान एन के रूप में एक विशिष्ट संख्या आपको n दिन पहले संशोधित फ़ाइलें देती है, -n आपको पिछले n दिनों में संशोधित फ़ाइलें देता है और + n आपको कुछ दिन पहले संशोधित फ़ाइलें देता है)। आप यह कैसे उपयोग करने पर कुछ विचार प्राप्त कर सकते हैं यहां

चूँकि वैराग्य ही आपका वास्तविक लक्ष्य है, आप जाँच सकते हैं कि आपकी ड्राइव साइलेंट मोड का समर्थन करती है या नहीं hdparm -M /dev/sda- इसे कुछ इस तरह आउटपुट करना चाहिए acoustic = 254 (128=quiet ... 254=fast), जिस स्थिति में आप अपनी हार्ड ड्राइव को कमांड से शांत कर सकते हैं hdparm -M 128 /dev/sdahdparm -M 1254 /dev/sdaजब आपको अधिक गति की आवश्यकता हो, तो विपरीत कमांड चलाएँ ।


इनपुट के लिए धन्यवाद, यह मेरा पसंदीदा उत्तर है। मैं aufs के बारे में नहीं जानता था और इस पर गौर करूंगा।
सरप्राइज़

आपके जैसी एक बैच अप प्रक्रिया के लिए पारदर्शिता वास्तव में संभव नहीं है - मैं बैकअप प्रकार की नौकरी को ट्रिगर करने के बहुत सारे तरीकों के बारे में सोच सकता हूं, लेकिन आप वास्तव में स्क्रिप्टिंग को देख रहे हैं, कुछ sed / awk जो आपको आवश्यक फ़ाइलों का चयन करने के लिए, और आगे बढ़ रहे हैं फाइलें, शायद क्रोन के साथ। मुझे आधा संदेह है कि अकेले HDParm आपकी हार्ड ड्राइव के साथ 'लाउडनेस' समस्या को हल कर सकता है, और यह आपको ड्राइव को पावर देगा जब उपयोग में नहीं होगा, जो उपयोगी भी हो सकता है।
जर्नीमैन गीक

फिर से धन्यवाद, मैं प्रश्न के अंतिम वाक्य में सुझाए अनुसार कुछ बैश-फू, क्रॉन, एचडीप्रम, माउंट और rsync का उपयोग करूंगा। hdparm -M ने ड्राइव को थोड़ा शांत करने में मदद की, लेकिन मैं रात के दौरान डिस्क को स्पिन नहीं करना पसंद करता हूं।
सिरप्रीज़

3

चूंकि अन्य उत्तरों ने सॉफ्टवेयर बिंदु से समस्या का इलाज किया है, मैंने सोचा कि हार्डवेयर समाधानों के बारे में कुछ जानकारी शामिल की जाए।

आपके हार्ड ड्राइव का आलेख ध्वनि सबूत निम्नलिखित विकल्पों को सूचीबद्ध करता है:

  • अपनी हार्ड ड्राइव को डीफ्रैग्मेंट करें
  • कंपन कंपन करने के लिए रबर बैंड में हार्ड ड्राइव लपेटें
  • एक नई हार्ड ड्राइव के लिए जाएं: वर्तमान दिन की अधिकांश हार्ड ड्राइव द्रव डायनामिक बियरिंग से सुसज्जित होती हैं, जो बहुत ऊंची दर पर घूमने पर भी प्लैटर को लगभग चुप रहने देती हैं।

मैं अपने स्वयं के अनुभव से गवाही दे सकता हूं कि मैं अपनी नई 4 टीबी हार्ड डिस्क को कभी भी नहीं सुन सकता, यहां तक ​​कि बहुत बड़ी फ़ाइलों की नकल करते समय भी।

कुछ शोध के साथ, एक हार्ड डिस्क के लिए ध्वनिक भीगने वाली सामग्री जैसे कि साइलेंटड्राइव एचडी एनक्लोजर और ध्वनिक सामग्री या नॉइज़मॉजिक नोविबेस III साइलेंट हार्ड ड्राइव माउंटिंग सिस्टम भी पा सकता है । मुझे नहीं पता कि ये कहां बेचे जाते हैं, और ऊपर के रबर बैंड मुझे लगभग कुशल लगते हैं।

एक पूरे कंप्यूटर को ध्वनि-प्रूफ भी कर सकता है। कुछ उदाहरण बेचने वाली वेबसाइटों ध्वनि प्रूफिंग सामग्री हैं चुप पीसी संयुक्त राज्य अमेरिका , AcousticPC या dynamat है, लेकिन कई ऐसे हैं।

कुछ कंप्यूटर मामलों को पहले से ही मूक संचालन के लिए डिज़ाइन किया गया है। उदाहरण के लिए देखें
छह कम-शोर, प्रदर्शन-उन्मुख मामले, परीक्षण किए गए

एक अंतिम टिप्पणी के रूप में, एक शोर हार्ड ड्राइव जो क्लर्क, क्लिक या स्केच एक संकेत हो सकता है कि आपकी हार्ड ड्राइव विफल होने लगी है, इसलिए ध्यान रखें।


आपकी प्रतिक्रिया के लिए धन्यवाद, एक उत्थान है। मैं पहले से ही विशेष हार्डवेयर का उपयोग कर रहा हूं - इस मामले में, ड्राइव को छोड़कर पूरी तरह से चुप हार्डवेयर। "शोर" द्वारा मैं एक स्वस्थ हार्ड ड्राइव की सामान्य ध्वनि की बात कर रहा हूं। मुझे ड्राइव को स्पिन करने के लिए क्रोन का उपयोग करना होगा, इसे माउंट करना होगा, बैकअप बनाना होगा, इसे अनमाउंट करना होगा और फिर नीचे स्पिन करना होगा।
१२:२० बजे सरप्राइज़

2

पिल्ला लिनक्स के कई रूप उबंटू पर आधारित हैं लेकिन Aufs का उपयोग कर रहे हैं

पिल्ला पूरी तरह से रैम से चलता है, सामान्य ऑपरेशन में कोई एचडीडी एक्सेस नहीं है।

यदि आप पिल्ला को बताते हैं कि आपका एचडीडी एक फ्लैश ड्राइव है, तो यह रैम फाइल सिस्टम को निरंतर के बजाय समय-समय पर डिस्क में डंप करेगा। यह फ्लैशड्राइव के लिए अक्सर लिखने के पहनने को कम करने के लिए डिज़ाइन किया गया था, लेकिन एचडीडी पर भी ठीक काम करता है।

पिल्ला के बारे में सब कुछ के साथ के रूप में, आप यह निर्धारित करने के लिए एक GUI का उपयोग कर सकते हैं कि आप कितनी बार RAM फाइल सिस्टम को सहेजना चाहते हैं। आमतौर पर, यह हर 10mins या तो होगा लेकिन उदाहरण के लिए प्रत्येक 720mins (12 घंटे) को डंप करने से रोकने के लिए कुछ भी नहीं है।

पिल्ला लिनक्स इवेंट मैनेजर

मेरी Grub4DOS बूटलोडर menu.lstफ़ाइल का यह अंश pmediaकर्नेल विकल्प के लिए सेटिंग दिखाता है जो कहता है कि यह HDD के बजाय फ्लैशड्राइव का उपयोग कर रहा है ...

# menu.lst produced by grub4dosconfig-v1.7.1
#
# 'kernel ... pmedia=ideflash'
#     Treat the HDD as a flashdrive: infrequent writes of filesystem to savefile

title Puppy Lupu 5.2.8 (sda3/puppy528lu) Cached\nUse SWAP; changes to RAM; flush to disk every 10min (fastest)
  find --set-root --ignore-floppies --ignore-cd /puppy528lu/initrd.gz
  kernel /puppy528lu/vmlinuz   psubdir=puppy528lu pmedia=ideflash pfix=copy,fsck
  initrd /puppy528lu/initrd.gz

पिल्ला लिनक्स "विविधताओं" के बारे में एक नोट ...
मैं पिल्ला लिनक्स 5.2.8 "लुपु" का उपयोग कर रहा हूं, जो कि (10% के नीचे निर्मित) उबंटू लिंक्स पर आधारित है। इस संस्करण को अक्सर इसकी उत्पत्ति के कारण "लुपु" के बजाय "ल्यूसिड" भी कहा जाता है। स्लैकवेयर और कुछ अन्य वितरणों पर आधारित संस्करण भी हैं। चूँकि आप पहले से ही Xubuntu का उपयोग कर रहे हैं, Puppy Linux Lupu सबसे अधिक परिचित होगा। यह बहुत तेज भी होगा। मैंने पिल्ला खोजने से पहले एक साल के लिए ज़ुबंटू का इस्तेमाल किया।

"उबंटू सटीक पैंगोलिन" पर आधारित एक नया संस्करण भी है, जिसे "पिल्ला लिनक्स प्रेसीज़" कहा जाता है। नए संस्करण में उपयोग किए गए कर्नेल में बड़े बदलाव हैं जो पुराने हार्डवेयर के साथ अच्छी तरह से काम नहीं कर सकते हैं। यदि आपकी मशीन 5yo से कम है, तो आप सटीक के साथ खुश हो सकते हैं। मेरा मानना ​​है कि ऊपर वर्णित तकनीक अभी भी सटीक पर काम करेगी, हालांकि सटीक विकल्प आदि अलग हो सकते हैं, लेकिन इसका परीक्षण करने में असमर्थ हैं।


0

लघु समाधान और जल्दी से लागू करने योग्य (लेकिन वास्तव में आप क्या चाहते हैं इसका जवाब नहीं है): भंडारण डिस्क को कहीं और स्थानांतरित करें। यह एक netowrk फ़ाइल सर्वर chassi (WD विश्व संस्करण की तरह) या USB3 डिस्क हो सकता है और आप इसे एक ही कमरे में शांत पीसी, या एक अलग कमरे में रख सकते हैं ताकि पूरी तरह से सुनने से बचें।

मेरे विचार में यह बेहतर है क्योंकि जब आप नेटवर्क पर डेटा ट्रांसफर करना चाहते हैं तो आप निश्चित रूप से केवल उस ड्राइव का उपयोग कर रहे होंगे - ओएस कुछ अन्य सुव्यवस्थित या फाइलसिस्टम ट्री रिबैलेंसिंग कर सकता है, जिनसे आप बच नहीं सकते और आपको परेशान करेंगे । इसलिए अलग कमरा एक बड़ा प्लस है।

कैशिंग पर्याप्त आसान होना चाहिए - बस बाहरी डिस्क पर दिन के डेटा का बैकअप लें, जिसे आप rsyncया जैसे समाधानों का उपयोग करके पूरा कर सकते हैं unison

लंबा समाधान फिर से आदर्श नहीं है (अर्थात कोई एकल अनुप्रयोग) लेकिन आप sdd के साथ एक ही बॉक्स में ड्राइव प्राप्त करेंगे और उच्च गति प्राप्त करेंगे (लेकिन क्या आपको केवल 5GB / दिन के लिए नेटवर्क की तुलना में उच्च गति की आवश्यकता है?)

आप smartctlअपने ड्राइव के स्पिन डाउन टाइम को सेट करने के लिए उपयोग कर सकते हैं और इस ड्राइव को एक अनमाउंट स्थिति में बनाए रख सकते हैं - ड्राइव पर OS करने के लिए सामान रखने से बचने के लिए। फिर mountआपको जिस डेटा की ज़रूरत है, उसके लिए (और ऊपर) एक स्क्रिप्ट लिखें ।


दुर्भाग्य से, वे सभी चीजें हैं जिनसे मैं बचना चाहता था। हालांकि अपने समय के लिए धन्यवाद!
सरप्राइज़

0

आप मेरे जवाब की तरह नहीं, लेकिन वास्तव में कैश शब्द का दुरुपयोग कर रहे हैं, आप वास्तव में एक बैकअप समाधान का वर्णन कर रहे हैं। यदि आप कुछ अधिक पूर्ण चाहते हैं, तो rsync पर एक नज़र डालें, या अन्य बैकअप समाधानों के लिए आगे खोजें।


यह बिल्कुल सच है, और क्या मैंने अपने जवाब में गहराई से कवर किया है :)
जर्नीमैन गीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.