HDDs का उपयोग न करने वाले X मिनट के बाद HDDs को स्टैंडबाय में रखें


12

मैं एक घरेलू सर्वर पर Ubuntu 12.04 का उपयोग करता हूं। 5 हार्ड ड्राइव हैं: OS के साथ एक SSD और 4 HDD (सैमसंग HD204UI) को madadm का उपयोग करके RAID5 के रूप में कॉन्फ़िगर किया गया है।

मुझे बहुत बार RAID की आवश्यकता नहीं है (कहते हैं, औसतन प्रति दिन एक बार); इसमें मल्टीमीडिया डेटा और कुछ बैकअप शामिल हैं, इसलिए मैंने अधिकांश समय स्टैंडबाय को ड्राइव करने का निर्णय लिया।

मैंने 20 मिनट के बाद HDParm का उपयोग करके स्वचालित रूप से स्पिन-डाउन करने के लिए ड्राइव को कॉन्फ़िगर किया, यहां /dev/sdaएक उदाहरण के रूप में:

hdparm -S 240 /dev/sda

कमांड के आउटपुट ने इसकी पुष्टि की:

/dev/sdb:
 setting standby to 240 (20 minutes)

लेकिन समस्या यह है कि अंतिम पहुंच के बाद ड्राइव लगभग 5 सेकंड (20 मिनट के बजाय) और नीचे घूमती है

hdparm -C /dev/sdb

प्रदर्शित करता है:

/dev/sdb:
 drive state is:  standby

ड्राइव कॉन्फ़िगर किए जाने के 20 मिनट तक प्रतीक्षा क्यों नहीं करता है? क्या यह RAID सेटअप के साथ कुछ करना है? (मुझे ऐसा नहीं लगता ...)

यह बहुत कम समय समाप्त होने के बाद से समस्याग्रस्त है क्योंकि यह एक RAID5 है और जब मैं किसी फ़ाइल का उपयोग करता हूं, तो यह चार ड्राइव के चारों ओर ब्लॉक-वार फैलता है। चूँकि जब ड्राइव 2 को पढ़ा जाता है तो ड्राइव की जरूरत नहीं होती है, यह तब सो जाता है जब इसे अगली बार इस्तेमाल किया जाएगा (ड्राइव 3 को पढ़ने के बाद)। इसलिए ड्राइव पूरे समय तक घूमते रहते हैं जिसके परिणामस्वरूप शून्य के निकट एक थ्रूपुट होता है।

मेरे ड्राइव के जीवन के बारे में चिंतित लोगों के लिए: यह कोई समस्या नहीं होगी कि ड्राइव औसतन दिन में एक बार ऊपर और नीचे स्पिन की जाती है क्योंकि मैं ड्राइव के स्वास्थ्य पर ऊर्जा और गर्मी की बचत करना पसंद करता हूं (मैं RAID5 का उपयोग करता हूं और सामग्री isn 't बहुत महत्वपूर्ण है)।


3
खुशी है कि आपको अपना जवाब यहां मिल गया। शर्म करो ServerFault लोग बहुत picky थे। मैंने सोचा होगा कि किसी भी आगे की सोच वाले उद्यम परिदृश्य में ऊर्जा की बचत तकनीक बहुत महत्वपूर्ण होगी। इसके बजाय वे बाहर याद करेंगे।
१२:१२

1
@tomfanning खैर, मेरा मानना ​​है कि सर्वरफॉल्ट बड़े पैमाने के सर्वरों के लिए है जैसे डेटासेंटर में ही। लेकिन मुझे नहीं पता था, और मुझे उम्मीद थी कि एक घर सर्वर भी एक सर्वर के रूप में गिना जाता है। ठीक है, यदि नहीं, तो मुझे अपने सर्वर को अपने बगीचे में रखना चाहिए, इसलिए यह अब मेरे घर में नहीं है। जो मुझे वास्तव में समझ में नहीं आता है, वह यह है कि वे मुझे केवल उसी चीज के साथ नहीं जीते हैं जो मैं चाहता हूं और केवल इस प्रश्न का उत्तर देता हूं कि क्या मेरे प्रश्न के लिए उनके रचनात्मक उत्तर हैं, लेकिन इसके बजाय मैं चाहता हूं कि यह वही हो जो मैं करना चाहता हूं। [अन्य लोगों के लिए नहीं जानते हुए भी कि हम क्या बारे में बात कर रहे हैं: serverfault.com/q/389222/116951]
leemes

जवाबों:


11

क्या AHCI आपके BIOS में सक्षम है? यदि इसे चालू करने और पुन: प्रयास नहीं कर रहे हैं।

यदि वह अभी भी काम नहीं करता है, तो आपको कुछ अधिक जटिल कोशिश करनी पड़ सकती है, क्योंकि hdparmहमेशा SATA ड्राइव के साथ अच्छी तरह से नहीं खेलता है, जो कि मेरे पास है।

की जाँच करें यह पेज निम्नलिखित अपेक्षाकृत सरल समाधान के लिए कि का उपयोग करता है crontab:

sudo apt-get install sg3-utils
crontab -e

अब, इसे अपने कॉन्टैब के नीचे से जोड़ दें (एसडीएक्स को उस ड्राइव से बदलें जिसे आप स्टैंडबाय में रखना चाहते हैं):

0-59/15 * * * * ( if [ ! -f /dev/shm/1 ] ; then touch /dev/shm/1 /dev/shm/2; fi ; mv /dev/shm/1 /dev/shm/2; cat /proc/diskstats > /dev/shm/1 ) >/dev/null 2>&1
0-59/15 * * * * ( export HD="sdx "; if [ "$(diff /dev/shm/1 /dev/shm/2 | grep $HD )" =  "" ] ; then /usr/bin/sg_start --stop /dev/$HD; fi ) >/dev/null 2>&1

बेशक, इस के किसी भी प्रयास करने से पहले, यह आपके हार्ड ड्राइव की सामग्री का पूरा बैकअप करने के लिए अत्यधिक उचित है।


एक जादू की तरह काम किया। मैंने BIOS में AHCI को सक्षम किया। SATA मोड को RAID पर सेट किया गया था (मेरे मदरबोर्ड में एक RAID नियंत्रक है जो मैं उपयोग नहीं करता हूं)। मुझे नहीं पता था कि SATA ड्राइव के उचित SMART नियंत्रण के लिए AHCI की आवश्यकता है या यहाँ जो भी HDparm कर रहा है। धन्यवाद!
12:51

सर @SirCharlo, स्टैंडबाय मोड (उस का उपयोग करके sg3-utils) में hdd बनाने के लिए मूल कमांड क्या है ? क्या यह है /usr/bin/sg_start --stop /dev/sdx?
ओकी एरी रिनाल्डी

1

शायद एक बेहतर तरीका हो सकता है:

hdparm -B 1 -Y / dev / device
hdparm -B 255 / dev / डिवाइस

पहले HDparm ने डिवाइस को तुरंत स्टैंडबाय रखा। दूसरा एक APM को बंद कर देता है, इसलिए डिस्क अगले डिस्क एक्सेस तक स्टैंडबाय मोड में रहती है।


अच्छा सुझाव है, हालांकि यह कहा जाना चाहिए कि इन आदेशों का उपयोग स्क्रिप्ट के साथ किया जाना चाहिए जो क्रियाओं का समय है।
Rucent88
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.