नींद से द्वितीयक HDD को जगाने से लिनक्स कर्नेल को कैसे रोकें


11

क्या सिस्टम स्लीप / वेक-अप चक्र के बाद द्वितीयक HDD को नहीं जगाने के लिए (लिनक्स) कर्नेल को निर्देश देने का एक तरीका है? मैं पूछ रहा हूं क्योंकि मेरे लैपटॉप में मेरे पास एक एसएसडी है, जिसमें एक मूल ड्राइव है जिसमें सिस्टम रूट और एक माध्यमिक एचडीडी है जहां मैं एक बैकअप सिस्टम रखता हूं और फाइलें जो मैं छिटपुट रूप से एक्सेस करता हूं। चूंकि लैपटॉप आमतौर पर कई दिनों तक कई दैनिक नींद / वेक-अप साइकिल (मेरा मतलब सस्पेंड टू रैम, हाइबरनेशन नहीं होता है) के माध्यम से जाता है, इसलिए मैं माध्यमिक एचडीडी को मैन्युअल रूप से सोने के लिए रखना चाहूंगा और कर्नेल को सिस्टम नींद के साथ सोते रहने का निर्देश देता हूं। / वेक-अप साइकिल।


1
यदि आप अपनी हार्डडिस्क को मैन्युअल रूप से सोना चाहते हैं तो आप उपयोग कर सकते हैं hdparm -Y /dev/sdb। यदि आप सिस्टम को अपनी डिस्क तक पहुँचाते हैं तो यह स्वचालित रूप से फिर से स्पिन हो जाएगा। तुम भी में इस परिभाषित कर सकते हैं /etc/hdparm.confके साथ /dev/disk/by-label/DATA4 { spindown_time = 180 } मैं अपने डिस्क के लिए लेबल का उपयोग करने के रूप में आप भरोसा नहीं कर सकते हैं, जिस पर डिस्क आपके सिस्टम द्वारा पहले पता चला है की सलाह देते हैं। ध्यान रखें कि नींद के लिए लेबल के साथ डिस्क भेजने के लिए आपको hdparm (मेरा 9.43) का एक नया संस्करण चाहिए।
syss

जवाबों:


1

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

noauto विकल्प के साथ fstab लाइन का उदाहरण:

/dev/sdb1 /media/backup ext4 user,noauto 0 0

बैकअप के लिए बैश स्क्रिप्ट के साथ शुरू mount /media/backupऔर खत्म हो जाएगाumount /media/backup


यह कर्नेल को बूट पर डिस्क की जांच करने से नहीं रोकता है।
Marc.2377

0

मुझे नहीं लगता कि यह संभव है। ड्राइव बूट पर BIOS / UEFI द्वारा जांचा जाता है, न कि केवल कर्नेल पर।

हालाँकि मैं क्या करता हूँ, सिस्टम को निर्देश देता है कि सिस्टम बूट के ठीक बाद ड्राइव को स्लीप मोड में रखें। Https://wiki.archlinux.org/index.php/Hdparm#Putting_a_drive_to_sleep_directly_after_boot चेक करें

मेरे मामले में मेरे पास है:

/usr/local/lib/systemd/system/rsleephdd.service

[Unit]
Description="Ranolfi's script to sleep hard drives on boot"

[Service]
Type=oneshot
ExecStart=/usr/bin/hdparm -q -S 120 -Y /dev/sdc

[Install]
WantedBy=multi-user.target

इससे कोई फर्क नहीं पड़ता कि ड्राइव या उसके विभाजन fstab (या क्रिप्टैब द्वारा, उस मामले के लिए) पर माउंट किए गए हैं या नहीं।

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

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