Cách lập kế hoạch cho một máy chủ VPN yên tĩnh, tiết kiệm điện và luôn bật
Một chiếc hộp VPN yên tĩnh được đánh giá qua số watt khi nhàn rỗi, tiếng ồn của khối lượng công việc và việc nó có còn truy cập được hay không. Hãy đo toàn bộ hệ thống ở ba trạng thái trước khi mua linh kiện.
Nhàn rỗi là trạng thái mà một chiếc hộp VPN tại gia dành gần như toàn bộ vòng đời, nên đó chính là trạng thái đáng đo. Cỗ máy đó vẫn phải trả lời một kết nối, phục vụ một tệp và hoàn tất một bản sao lưu khi đường hầm đang mở, và ba công việc này kéo theo những hướng khác nhau. Yên tĩnh, tiết kiệm điện và luôn truy cập được là những thuộc tính riêng biệt, và bảng thông số không mô tả thuộc tính nào trong số đó. Đi qua các kiểm tra dưới đây theo thứ tự sẽ giúp một quyết định phần cứng không biến thành việc làm lại sau sáu tháng.
Bắt đầu từ vai trò, không phải linh kiện
Ghi lại mọi công việc mà chiếc hộp phải làm khi không ai nhìn. Một cổng WireGuard hoặc OpenVPN, một chia sẻ tệp, một đích sao lưu và một tác vụ lập chỉ mục có chi phí thường trực khác nhau, và một cỗ máy làm cả bốn việc có mức sàn cao hơn nhiều so với máy chỉ làm việc đầu tiên. Mức tiêu thụ khi nhàn rỗi là tổng của các mức sàn đó, không phải trung bình của chúng. Đó là lý do hai chiếc hộp cùng được mô tả là tiết kiệm điện có thể chênh nhau ba lần trong cùng một căn phòng.
Quyết định sớm xem dữ liệu có sống trên cùng máy chủ với đường hầm hay không sẽ ràng buộc mọi thứ còn lại. Máy chủ tách rời nghĩa là hai mức tiêu thụ khi nhàn rỗi, nhưng cổng vẫn thức trong khi kho lưu trữ ngủ; một máy chủ nghĩa là một mức tiêu thụ và một miền hỏng hóc. Cả hai đều không sai, nhưng câu trả lời phải được viết ra trước khi danh sách linh kiện tồn tại.
Đo toàn bộ chiếc hộp ở ba trạng thái
Một đồng hồ đo gắn tường giữa ổ cắm và nguồn điện là công cụ trung thực duy nhất ở đây, vì nó bao gồm tổn thất chuyển đổi, việc đĩa quay tăng tốc và mọi thiết bị USB mà bạn quên. Ghi lại ba con số: nhàn rỗi với đường hầm mở và không có gì khác chạy, cùng chiếc hộp đó dưới một lần truyền từ xa thực sự, và chiếc hộp trong lúc sao lưu theo lịch.
Các bộ đếm phần mềm giúp giải thích số đọc của đồng hồ gắn tường nhưng không thay thế nó. Giao diện RAPL báo cáo năng lượng của gói và miền bộ nhớ, điều này loại trừ tổn thất của nguồn điện và mọi thứ kết nối qua USB.
read -r a < /sys/class/powercap/intel-rapl:0/energy_uj; sleep 60; read -r b < /sys/class/powercap/intel-rapl:0/energy_uj
awk -v a="$a" -v b="$b" 'BEGIN{printf "package average: %.1f W\n", (b-a)/60/1000000}'
Tiếng ồn cần cách đối xử như vậy. Vỏ máy không quạt loại bỏ một nguồn và để lại ổ cứng, nguồn điện và tiếng rít của cuộn dây, vì vậy hãy nghe trong lúc sao lưu chứ không phải ở màn hình đăng nhập. Nhiệt độ cũng thuộc cùng một vòng: đọc cảm biến dưới tải liên tục, và đừng bao giờ tắt bảo vệ nhiệt để chiếc hộp yên tĩnh hơn.
Đổi watt thành một năm có thể so sánh
Mức tiêu thụ liên tục được đổi thành năng lượng bằng một phép nhân, và làm việc đó một lần giúp chi phí hằng năm không còn là bất ngờ. Mức trung bình minh họa 11 W trong cả năm được tính như sau.
awk 'BEGIN{printf "%.1f kWh/year at 11 W\n", 11*24*365/1000}'
Con số đó là số học, không phải phép đo chiếc hộp của bạn, và biểu giá mà bạn nhân vào sẽ dịch chuyển câu trả lời nhiều hơn vài watt. Phép tính hữu ích để so sánh hai thiết kế: một cổng nhàn rỗi 6 W so với một cổng 15 W là quyết định mà bạn có thể định giá. Công suất danh định của bộ xử lý không phải con số đó, vì nó mô tả một gói dưới tải chứ không phải một hệ thống đang nghỉ. Hãy dùng mức trung bình của đồng hồ gắn tường với biểu giá địa phương, và ghi kết quả là ước tính.
Quyết định xem có cho phép ngủ hay không
Ngủ tiết kiệm nhiều năng lượng nhất và phá vỡ nhiều giả định nhất. Một máy chủ đang ngủ không thể nhận kết nối đến vốn sẽ đánh thức nó, và keepalive của máy khách không thay đổi điều đó; chỉ một thiết bị luôn bật trên cùng LAN mới có thể gửi gói wake-on-LAN.
Nếu đường hầm phải truy cập được vào bất kỳ giờ nào, hãy coi việc ngủ là bị vô hiệu theo chính sách và ghi điều đó vào ghi chú xây dựng. Che giấu mục tiêu là thô, nhưng nó rõ ràng và sống sót qua các bản cập nhật gói tốt hơn một thói quen.
systemctl status sleep.target suspend.target
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
systemd-inhibit --list
Wake-on-LAN xứng đáng có dòng riêng trong những ghi chú đó vì nó thất bại một cách âm thầm. Tính năng này phải được bật trong phần sụn, chỉ hoạt động trên một số giao diện và cần một thiết bị đã thức để gửi gói. Hãy kiểm tra nó trước khi bạn dựa vào nó, không phải sau một chuyến đi.
Chứng minh nó dưới tải mà nó thực sự sẽ thấy
Kiểm tra cuối cùng là kiểm tra mà người ta bỏ qua: chạy tải dự kiến và quan sát chiếc hộp trong một giờ. Truyền từ xa, sao lưu và xây dựng lại chỉ mục cùng lúc sẽ cho thấy liệu tản nhiệt, đường truyền và lưu trữ có mang được tổ hợp vai trò bạn chọn hay không.
uptime
sensors | grep -E 'Core|Package|fan'
ss -s
Cũng hãy nhìn đường truy cập trong cùng cửa sổ, vì băng thông tải lên thường giới hạn thông lượng từ xa rất lâu trước bộ xử lý. Nếu đường hầm bão hòa ở một phần nhỏ so với những gì CPU có thể mã hóa, một con chip nhanh hơn không mua được gì cả.