मैं स्वचालित रूप से क्लाउड स्टोरेज सर्वरों को हाइबरनेट कैसे कर सकता हूं?


13

मेरे पास क्लाउड स्टोरेज डेटा सेंटर हैं जो Ubuntu 16.04 lts और NextCloud / OwnCloud चला रहे हैं जिन्हें 24/7 उपलब्ध होने की कोई आवश्यकता नहीं है, और पावर प्रबंधन समाधान की आवश्यकता है। सर्वर Dell PowerEdge 1950 Gen II और Dell PowerEdge 2950 Gen II हैं

कुल उद्देश्य

हाइबरनेट क्लाउड स्टोरेज सर्वर 20 मिनट के लिए एक निष्क्रिय समय से पहले होते हैं और WOL के साथ ऐसे डी-हाइबरनेट होते हैं जो हमारे डेटा सेंटर से प्रति वर्ष 6680kw होने पर प्रति वर्ष 6272.09 किलो कार्बन डाइऑक्साइड को कम करते हैं, एक विस्तृत ऊर्जा ऑडिट के दौरान प्राप्त मैट्रिक्स।

अप्रभावी समाधान की कोशिश की

परिदृश्य

परिसर / क्रोन नौकरियों पर लैंडस्केप केवल अनुसूचित स्टार्टअप और शटडाउन की पेशकश करते हैं, जिससे हमारे प्राप्त करने के लिए अप्रभावी है।

झपकी

powernap जाने का रास्ता लगता है लेकिन सेवा Ubuntu 16.04 पर शुरू नहीं हो रही है

XXXXXXX ~ $ sudo सेवा पावरनैप स्थिति
● powernap.service - पावरनैप
   भरी हुई: भरी हुई (/lib/systemd/system/powernap.service; अक्षम; विक्रेता पूर्व निर्धारित
   सक्रिय: निष्क्रिय (मृत)

ponwernap नेटवर्क की तरह मूल्यह्रास सेवाओं का उपयोग करने लगता है। सेवा जो अब Ubuntu 16.04 में उपलब्ध नहीं है

प्राप्त करने योग्य उद्देश्य

LAN पर जागो (WOL)

इस लिंक पर मैनुअल सेटअप का पालन करके WOL को सक्षम करना सीधा है । या पाउडर के उपयोग के साथ

सर्वर हाइबरनेशन

अब तक, मैं केवल सर्वर का उपयोग करके हाइबरनेट करने में कामयाब रहा हूं sudo systemctl hibernateऔरsudo systemctl hibernate-sleep

  1. powernap - मैं खराब निर्भरता को दूर करने के लिए बग रिपोर्ट दाखिल कर रहा हूं
  2. systemctl - कहीं ले जा सकता है
  3. दोपहर-बर्तन - कहीं भी ले जा सकते हैं

हार्डवेयर उन्नयन

मैंने डेल 1950 जेन II डुअल एक्सोन E5335 के सीपीयू को एक्सोन एक्स 5365 सीपीयू के साथ अपग्रेड किया है। X5365 BIOS से पावर प्रबंधन और पावर मैनेजमेंट सेट करने में सक्षम बनाता है। सभी ईमानदारी से, मैं इस तरह के उन्नयन के पक्ष में नहीं था क्योंकि X5365 ई 5335 से अधिक सीपीयू प्रति 70 वाट की खपत करता था, लेकिन हाइबरनेशन परीक्षण के पक्ष में ऐसा किया।

अपडेट १

इस समय में निक पर pm-utilsस्थापित करने के अलावा जाने का एकमात्र तरीका है wol। वर्तमान में मैं निष्क्रिय समय के लिए एसी सेटिंग्स के लिए एक पावर हुक बनाने के लिए इष्टतम कॉन्फ़िगरेशन की खोज कर रहा हूं।

किसी भी सिफारिश कृपया।


1
उबंटू पूछने के लिए आपका स्वागत है। कृपया, आपका प्रश्न क्या है? कृपया और अधिक विशिष्ट बनें
मैडमाइक

हाइबरनेट क्लाउड सर्वर एक निष्क्रिय समय से गुजरते हैं और WOL के साथ ऐसे डी-हाइबरनेट होते हैं। अतिरिक्त विस्तार एक कार्य परिदृश्य उदाहरण देने के लिए है।
Fab

1
मैं काफी समझ नहीं सका कि आपके ठोकर का हिस्सा क्या है / हैं। आपने क्या कोशिश की है जो काम नहीं कर रही है और / या आपको विशेष रूप से समझने में मदद की क्या आवश्यकता है?
ज़न्ना

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

1
मैं बाइट कमांडर के साथ सहमत हूं। डेटा सेंटर ऑपरेशन में वास्तविक अनुभव वाले लोगों से इनपुट के लिए आपको संभवतः सर्वर फॉल्ट पर पूछना चाहिए ।
डेविड फ़ॉस्टर

जवाबों:


0

मैंने एक छोटी स्क्रिप्ट को एक साथ रखा, जिसे आप क्रोनजोब में हर 15 मिनट में चला सकते हैं या सिस्टमड टाइमर का उपयोग कर सकते हैं:

#/bin/bash

NActiveUsers=$(who -q | awk -F'#' '{printf $2}' | awk -F'=' '{printf $2}')
AvgLoad15Min=$(cat /proc/loadavg | awk -F' ' '{print $3}')

ActiveUsersThresh=2
AvgLoadThresh=0.15

if [ "$NActiveUsers" -lt "$ActiveUsersThresh" ]
then
    LoadBelowThresh=$(echo $AvgLoad15Min'<'$AvgLoadThresh | bc -l)
    if [ "$LoadBelowThresh" -eq 1 ]
    then
        systemctl hibernate
    fi
fi

यह पहले उन उपयोगकर्ताओं की संख्या प्राप्त करता है जो सिस्टम में लॉग इन होते हैं और पिछले 15 मिनट के दौरान औसत लोड। आपको अपने निष्क्रिय औसत सिस्टम लोड का पता लगाने में सक्षम होना चाहिए cat /proc/loadavg। तीसरा फ्लोटिंग पॉइंट नंबर पिछले 15 मिनट में औसत देता है। यह मान चर में निर्धारित दहलीज को परिभाषित करने में सहायक है AvgLoadThresh। यह निश्चित रूप से ट्यूनिंग की आवश्यकता होगी। दूसरी बात जो आप परिभाषित कर सकते हैं कि उपयोगकर्ताओं को कितने में लॉग इन करने की अनुमति है और सिस्टम किसी भी तरह हाइबरनेट हो जाता है। इसमें सेट किया गया है ActiveUsersThresh। बस यह सुनिश्चित करने के लिए कि सिस्टम हमेशा हाइबरनेट नहीं हो रहा है जब आप रखरखाव या कुछ कर रहे हैं।

मुझे लगता है कि एक और अधिक बुद्धिमान जांच के साथ आ सकता है, इसलिए इसे पहले सरल-मन के दृष्टिकोण के रूप में देखें। उदाहरण के लिए, मुझे नहीं पता कि आपके स्वयं के इंस्टॉलेशन में कौन से डेटाबेस या वेबसर्वर का उपयोग किया गया है, लेकिन आप हाइबरनेट कमांड से पहले उन्हें इनायत से रोकने की कोशिश कर सकते हैं, इसलिए कोई भी अचानक कनेक्शन ढीला नहीं करेगा।

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