Làm cách nào tôi có thể tự động ngủ đông máy chủ lưu trữ đám mây?


13

Tôi có các trung tâm dữ liệu lưu trữ đám mây chạy Ubuntu 16.04 lts và NextCloud / ownCloud không cần có sẵn 24/7 và cần các giải pháp quản lý năng lượng. Máy chủ là Dell PowerEdge 1950 Gen II và Dell PowerEdge 2950 Gen II

Mục tiêu tổng thể

Các máy chủ lưu trữ đám mây ngủ đông đã qua thời gian nhàn rỗi, ví dụ 20 phút và đã ngừng hoạt động với WOL để giảm 6272,09 kg carbon dioxide mỗi năm chỉ bằng 6680kw từ trung tâm dữ liệu của chúng tôi, số liệu đạt được trong quá trình kiểm tra năng lượng chi tiết.

Giải pháp không hiệu quả đã thử

Phong cảnh

Cảnh quan trên cơ sở / công việc định kỳ chỉ cung cấp khởi động và tắt máy theo lịch trình, do đó không hiệu quả để chúng tôi có thể đạt được.

NAP điện

powernap có vẻ là hướng đi nhưng dịch vụ không bắt đầu trên Ubuntu 16.04

XXXXXXX ~ $ sudo trạng thái powernap dịch vụ
● powernap.service - PowerNap
   Đã tải: đã tải (/lib/systemd/system/powernap.service; bị vô hiệu hóa; cài đặt sẵn của nhà cung cấp
   Hoạt động: không hoạt động (đã chết)

ponwernap dường như sử dụng các dịch vụ không dùng nữa như network.service không còn khả dụng trong Ubuntu 16.04

Mục tiêu đạt được

Thức dậy trên mạng LAN (WOL)

Việc kích hoạt WOL rất đơn giản bằng cách làm theo thiết lập thủ công trên liên kết này . hoặc với việc sử dụng bột

Ngủ đông máy chủ

Cho đến bây giờ, tôi chỉ quản lý để ngủ đông các máy chủ sử dụng sudo systemctl hibernatesudo systemctl hibernate-sleep

  1. powernap - Tôi đang nộp báo cáo lỗi để loại bỏ các phụ thuộc đã cạn kiệt
  2. systemctl - có thể dẫn đến một nơi nào đó
  3. pm-utils - cũng có thể dẫn đến một nơi nào đó

Nâng cấp phần cứng

Tôi đã nâng cấp CPU của Xeon E5335 kép Dell 1950 Gen II với CPU Xeon X5365. X5365 cho phép quản lý năng lượng và thiết lập quản lý năng lượng từ BIOS. Thành thật mà nói, tôi không ủng hộ việc nâng cấp như vậy vì X5365 tiêu thụ 70 watt trên mỗi cpu hơn E5335, nhưng đã ủng hộ thử nghiệm ngủ đông.

Cập nhật 1

Tại thời điểm này pm-utilslà cách duy nhất để tách rời khỏi việc thiết lập woltrên nic. Hiện tại tôi đang khám phá cấu hình tối ưu để tạo ra một móc nguồn cho các cài đặt ac trong thời gian rảnh.

Mọi khuyến nghị xin vui lòng.


1
Chào mừng bạn đến hỏi Ubuntu. Xin hỏi, câu hỏi của bạn là gì? Xin hãy cụ thể hơn .
MadMike

Các máy chủ đám mây ngủ đông đã qua một thời gian nhàn rỗi và đã ngừng hoạt động như vậy với WOL. Các chi tiết bổ sung là để đưa ra một ví dụ kịch bản làm việc.
Fab

1
Tôi không thể nắm bắt được (các) khối vấp ngã của bạn là gì. Những gì bạn đã cố gắng mà không làm việc và / hoặc cụ thể những gì bạn cần giúp đỡ để hiểu?
Zanna

3
Không ngủ đông không thực tế? Tùy thuộc vào kích thước RAM và tốc độ đọc / ghi đĩa của bạn, việc ngủ đông và tiếp tục có thể mất đến vài phút. Làm thế nào được yêu cầu xử lý trong thời gian đó? Người dùng của bạn sẽ muốn chờ đợi lâu? Đơn giản chỉ cần đình chỉ có thể là một sự thỏa hiệp tốt hơn để tiết kiệm năng lượng trong khi vẫn nhanh nhẹn hơn. Và có thể ảo hóa máy chủ của bạn và lưu trữ chúng trên một máy mạnh mẽ hoặc cụm cho phép bạn tạm dừng / tiếp tục các bộ phận trong khi cân bằng tải trên các máy khác cũng có thể giúp tiết kiệm năng lượng. Lưu ý rằng tôi không có kinh nghiệm với các hệ thống máy chủ quy mô lớn, chỉ cần đoán.
Chỉ huy Byte

1
Tôi đồng tình với Chỉ huy Byte. Đối với đầu vào từ những người có kinh nghiệm thực tế trong hoạt động của trung tâm dữ liệu, có lẽ bạn nên hỏi về Server Fault .
David Foerster

Câu trả lời:


0

Tôi tập hợp một tập lệnh nhỏ mà bạn có thể chạy trong một cronjob cứ sau 15 phút hoặc sử dụng bộ định thời 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

Đầu tiên, nó nhận được số lượng người dùng đăng nhập vào hệ thống và tải trung bình trong 15 phút qua. Bạn sẽ có thể tìm ra tải hệ thống trung bình nhàn rỗi của bạn bằng cách sử dụng cat /proc/loadavg. Các số dấu phẩy động thứ ba cho trung bình trong 15 phút qua. Giá trị này hữu ích để xác định ngưỡng được đặt trong biến AvgLoadThresh. Điều này chắc chắn sẽ cần điều chỉnh. Một điều khác mà bạn có thể xác định là số lượng người dùng được phép đăng nhập và hệ thống sẽ chuyển sang chế độ ngủ đông bằng mọi cách. Điều này được đặt trong ActiveUsersThresh. Chỉ để đảm bảo hệ thống không phải lúc nào cũng ngủ đông khi bạn đang bảo trì hoặc làm gì đó.

Tôi đoán người ta có thể đưa ra các kiểm tra thông minh hơn, vì vậy hãy xem nó như một cách tiếp cận đơn giản đầu tiên. Ví dụ: tôi không biết cơ sở dữ liệu hoặc máy chủ web nào được sử dụng trong cài đặt riêng của bạn nhưng bạn có thể cố gắng ngăn chặn chúng một cách duyên dáng trước lệnh ngủ đông, vì vậy không ai có thể đột ngột mất kết nối.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.