ฉันจะจำศีลในเซิร์ฟเวอร์จัดเก็บข้อมูลบนคลาวด์โดยอัตโนมัติได้อย่างไร


13

ฉันมีศูนย์ข้อมูลระบบจัดเก็บข้อมูลบนคลาวด์ที่ใช้ Ubuntu 16.04 lts และ NextCloud / OwnCloud ที่ไม่จำเป็นต้องใช้งานได้ตลอด 24/7 และต้องการโซลูชันการจัดการพลังงาน เซิร์ฟเวอร์คือ Dell PowerEdge 1950 Gen II และ Dell PowerEdge 2950 Gen II

วัตถุประสงค์โดยรวม

เซิร์ฟเวอร์จัดเก็บข้อมูลบนคลาวด์ไฮเบอร์เนตใช้เวลาว่างเป็นเวลานานเป็นเวลา 20 นาทีและยกเลิกการจำศีลด้วย WOL เพื่อลดก๊าซคาร์บอนไดออกไซด์ 6272.09 กิโลกรัมต่อปีเป็น 6680kw จากศูนย์ข้อมูลของเราเพียงอย่างเดียว

พยายามแก้ปัญหาไม่ได้ผล

ภูมิประเทศ

แนวนอนในสถานที่ / งาน cron เพียงเสนอเริ่มต้นและปิดที่กำหนดดังนั้นจึงไม่ประสบความสำเร็จสำหรับเราทำได้

PowerNap

powernap ดูเหมือนหนทางที่จะไป แต่บริการไม่ได้เริ่มใน Ubuntu 16.04

XXXXXXX ~ $ sudo สถานะ powernap ของบริการ
● powernap.service - PowerNap
   โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/powernap.service; ปิดใช้งาน; ตั้งค่าล่วงหน้าของผู้จัดจำหน่าย
   ใช้งาน: ไม่ได้ใช้งาน (ตาย)

ดูเหมือนว่า ponwernap จะใช้บริการที่คิดค่าเสื่อมราคาเช่น network.service ซึ่งไม่มีใน Ubuntu 16.04 อีกต่อไป

บรรลุวัตถุประสงค์

Wake on LAN (WOL)

การเปิดใช้งาน WOL นั้นตรงไปตรงมาโดยทำตามการตั้งค่าด้วยตนเองในลิงค์นี้ หรือด้วยการใช้ powewake

เซิร์ฟเวอร์ไฮเบอร์เนต

จนถึงตอนนี้ฉันได้จัดการเพื่อจำศีลเซิร์ฟเวอร์ที่ใช้sudo systemctl hibernateและsudo systemctl hibernate-sleep

  1. powernap - ฉันกำลังยื่นรายงานข้อผิดพลาดเพื่อลบการอ้างอิงที่หมดแล้ว
  2. systemctl - อาจนำไปสู่บางแห่ง
  3. pm-utils - อาจนำไปสู่ที่ใดที่หนึ่งเช่นกัน

การอัพเกรดฮาร์ดแวร์

ฉันได้อัพเกรดซีพียูของ Dell 1950 Gen II dual Xeon E5335 ด้วย Xeon X5365 ซีพียู X5365 เปิดใช้งานการจัดการพลังงานและตั้งค่าการจัดการพลังงานจาก BIOS ในความจริงแล้วฉันไม่ชอบการอัพเกรดเช่นนี้เพราะ X5365 กินไฟ 70 วัตต์ต่อซีพียูมากกว่า E5335 แต่ใช้การทดสอบไฮเบอร์เนตเช่นนี้

อัปเดต 1

ในช่วงเวลาpm-utilsนี้เป็นหนทางเดียวที่จะแยกออกจากwolนิค ขณะนี้ฉันกำลังสำรวจการกำหนดค่าที่เหมาะสมที่สุดเพื่อสร้าง power hook สำหรับการตั้งค่า ac เป็นเวลาว่าง

ข้อเสนอแนะใด ๆ โปรด


1
ยินดีต้อนรับสู่ถาม Ubuntu ได้โปรดคำถามของคุณคืออะไร กรุณาระบุข้อมูลเพิ่มเติม
MadMike

เซิร์ฟเวอร์คลาวด์ไฮเบอร์เนตผ่านช่วงเวลาว่างและยกเลิกการจำศีลเช่น WOL รายละเอียดเพิ่มเติมคือการให้ตัวอย่างสถานการณ์การทำงาน
Fab

1
ฉันไม่สามารถเข้าใจได้ว่าบล็อกของคุณเป็นอะไร คุณลองทำอะไรที่ไม่ได้ผลและ / หรือคุณต้องการความช่วยเหลือในการทำความเข้าใจอะไรเป็นพิเศษ
Zanna

3
การจำศีลไม่ได้ช่วยอะไร? ขึ้นอยู่กับขนาด RAM และความเร็วในการอ่าน / เขียนดิสก์ของคุณการจำศีลและการดำเนินการต่ออาจใช้เวลาถึงสองสามนาที คำขอถูกจัดการในช่วงเวลานั้นอย่างไร ผู้ใช้ของคุณต้องการรอนานไหม? การระงับเพียงอย่างเดียวอาจเป็นการประนีประนอมที่ดีกว่าเพื่อประหยัดพลังงานในขณะที่ยังคงความคล่องตัวมากขึ้น และบางทีการทำเวอร์ชวลเซิร์ฟเวอร์ของคุณและโฮสต์ไว้ในเครื่องทรงพลังเครื่องเดียวหรือคลัสเตอร์ที่ช่วยให้คุณสามารถหยุดชั่วคราว / เรียกคืนส่วนต่าง ๆ ในขณะที่สมดุลภาระกับผู้อื่นอาจช่วยประหยัดพลังงานได้ โปรดทราบว่าฉันไม่มีประสบการณ์กับระบบเซิร์ฟเวอร์ขนาดใหญ่ แต่คาดเดา
ผู้บัญชาการไบต์

1
ฉันเห็นด้วยกับผู้บัญชาการ Byte สำหรับการป้อนข้อมูลจากผู้ที่มีประสบการณ์จริงในการดำเนินงานของศูนย์ข้อมูลคุณอาจจะถามไปบนเซิร์ฟเวอร์ผิดพลาด
David Foerster

คำตอบ:


0

ฉันรวบรวมสคริปต์เล็กน้อยที่คุณสามารถเรียกใช้ใน cronjob ทุก ๆ 15 นาทีหรือใช้ตัวจับเวลา systemd:

#/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แห่งนี้ตั้งอยู่ใน เพียงเพื่อให้แน่ใจว่าระบบไม่จำศีลเสมอเมื่อคุณทำการบำรุงรักษาหรืออะไร

ฉันเดาว่าจะมีเช็คที่ฉลาดกว่านี้ได้ดังนั้นให้คิดว่ามันเป็นวิธีการง่ายๆ ตัวอย่างเช่นฉันไม่ทราบว่ามีการใช้ฐานข้อมูลหรือเว็บเซิร์ฟเวอร์ใดในการติดตั้งของคุณเอง แต่คุณสามารถลองหยุดมันได้อย่างสง่างามก่อนคำสั่งจำศีลดังนั้นจึงไม่มีใครหลุดออกจากการเชื่อมต่อทันที

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.