วิธีตั้งค่าปิดเครื่องอัตโนมัติใน Proxmox ด้วย 4 วิธีง่ายๆ

การปิดระบบอัตโนมัติช่วยให้ผู้ใช้งาน Proxmox ประหยัดพลังงานและปกป้องข้อมูลเมื่อเซิร์ฟเวอร์ไม่ได้ใช้งานหรือระหว่างที่ไฟดับ คู่มือนี้จะแสดงวิธีง่ายๆ 4 วิธีในการตั้งค่าอย่างละเอียดเป็นขั้นตอน

download-icon
ดาวน์โหลดฟรี
สำหรับ VM, OS, DB, ไฟล์, NAS, ฯลฯ
sea-kantapohn

Updated by ซี กันตภณ on 2025/10/31

สารบัญ
  • Proxmox auto shutdown คืออะไร?

  • วิธีที่ 1 ใช้ Cron เพื่อกำหนดเวลาปิดเครื่อง

  • วิธีที่ 2. Cron + script สำหรับตรวจจบการไม่ใช้งาน

  • วิธีที่ 3 systemd timer + script

  • วิธีที่ 4 การรวมระบบ UPS + NUT

  • การปกป้อง VM หลังการปิดเครื่องอัตโนมัติด้วย Vinchin

  • คำถามที่พบบ่อยเกี่ยวกับการปิดอัตโนมัติของ Proxmox

  • สรุป

การเปิดใช้งานปิดระบบอัตโนมัติใน Proxmox ช่วยให้คุณสามารถปิดเครื่องโฮสต์หรือเครื่องเสมือนและคอนเทนเนอร์ได้อัตโนมัติโดยไม่ต้องป้อนข้อมูลด้วยตนเอง คุณสามารถเรียกใช้มันตามกำหนดเวลา สถานะไม่มีการใช้งาน หรือเหตุการณ์จากยูพีเอส สิ่งนี้ช่วยประหยัดพลังงาน ปกป้องข้อมูล และลดข้อผิดพลาดของมนุษย์

Proxmox auto shutdown คืออะไร? 

การปิดอัตโนมัติของ Proxmox ช่วยให้คุณสามารถดำเนินการปิดระบบได้อัตโนมัติ คุณสามารถจัดการผ่าน cron, systemd หรือเครื่องมือ UPS ไม่ใช่แค่การปิดระบบ Linux พื้นฐานเท่านั้น—Proxmox ใช้ qm และ pct เพื่อปิดการทำงานของเครื่องเสมือน (VMs) และคอนเทนเนอร์อย่างเหมาะสม หากติดตั้ง qemu-guest-agent ไว้แล้ว Proxmox ยังสามารถแจ้งเตือนระบบปฏิบัติการภายในเครื่องเสมือนเพื่อดำเนินการปิดอย่างสะอาดได้อีกด้วย

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

วิธีที่ 1 ใช้ Cron เพื่อกำหนดเวลาปิดเครื่อง

Cron เป็นวิธีที่ง่ายที่สุด ไม่ได้ตรวจสอบงานที่กำลังทำงานอยู่ แต่ใช้งานง่ายและเชื่อถือได้

ตัวอย่างเช่น ปิดระบบทุกวันเวลา 01.00 น.:

0 1 * * * root /usr/sbin/shutdown -h now

ทดสอบก่อน:

shutdown -h +5 "Test: shutdown in 5 minutes"
grep shutdown /var/log/syslog

เครื่องเสมือนจะได้รับสัญญาณ ACPI และพยายามปิดระบบอย่างนุ่มนวล (ถ้ารองรับ) แต่ Cron จะไม่ตรวจสอบงานที่กำลังดำเนินอยู่ ดังนั่นงานที่กำลังทำงานอาจถูกขัดจังหวะได้

วิธีที่ 2.  Cron + script สำหรับตรวจจบการไม่ใช้งาน

สคริปต์สามารถตรวจสอบกิจกรรมก่อนการปิดเครื่อง เพื่อลดความเสี่ยงในการตัดการทำงานของเครื่องเสมือนหรืองานที่กำลังรันอยู่

ตัวอย่างสคริปต์ /root/shut.sh:

#!/bin/bash

ACTIVE_VMS=$(qm list | grep -cv stopped)
ACTIVE_PCT=$(pct list | grep -cv stopped)
ACTIVE_TASKS=$(pgrep -f "pvesr|zfs scrub|vzdump")

if [[ $ACTIVE_VMS -eq 0 && $ACTIVE_PCT -eq 0 && -z "$ACTIVE_TASKS" ]]; then
  echo "$(date): System idle. Preparing to shut down." >> /var/log/auto-shut.log
  shutdown -h +30 "Idle state: system will shut down in 30 minutes"
fi

ทำให้สามารถรันได้และเพิ่มลงใน Cron:

chmod +x /root/shut.sh
*/5 * * * * root /root/shut.sh

การตรวจสอบทุกๆ 5 นาที หากไม่มีอะไรทำงานอยู่ จะมีการตั้งเวลาปิดระบบโดยมีความล่าช้า 30 นาที

วิธีที่ 3 systemd timer + script

สำหรับการควบคุมที่มากกว่าและบันทึกข้อมูลที่ดีกว่า ให้ใช้ systemd ในสภาพแวดล้อมจริง

สคริปต์: /usr/local/bin/autoshutdown

#!/bin/bash

ACTIVE_VMS=$(qm list | grep -cv stopped)
ACTIVE_PCT=$(pct list | grep -cv stopped)
ACTIVE_TASKS=$(pgrep -f "pvesr|zfs scrub|vzdump")

if [[ $ACTIVE_VMS -eq 0 && $ACTIVE_PCT -eq 0 && -z "$ACTIVE_TASKS" ]]; then
  echo "$(date): ยืนยันว่าไม่มีการใช้งาน เตรียมปิดระบบในไม่ช้า" >> /var/log/autoshutdown.log
  shutdown -h +10 "สถานะว่าง: จะปิดระบบภายใน 10 นาที"
fi

บริการ Systemd /etc/systemd/system/autoshutdown.service:

[Unit]
Description=บริการปิดอัตโนมัติ Proxmox

[Service]
Type=oneshot
ExecStartPre=/bin/sleep 300
ExecStart=/usr/local/bin/autoshutdown

เทมเมอร์ Systemd  /etc/systemd/system/autoshutdown.timer:

[Unit]
Description=ตัวจับเวลาปิดระบบอัตโนมัติ Proxmox

[Timer]
OnCalendar=*-*-* 23:00:00
Persistent=true

[Install]
WantedBy=timers.target

เปิดใช้งาน:

systemctl daemon-reload
systemctl enable --now autoshutdown.timer

หมายเหตุ: Type=oneshot ป้องกันการรันพร้อมกัน การใช้ sleep 300 เพิ่มช่วงเวลาเผื่อไว้ 5 นาที

วิธีที่ 4 การรวมระบบ UPS + NUT

การป้องกันกรณีไฟฟ้าดับเป็นสิ่งจำเป็นสำหรับสภาพแวดล้อมทางธุรกิจ NUT และ UPS ช่วยปิดระบบของคุณอย่างชาญฉลาด

ติดตั้ง NUT:

apt install nut

ตั้งค่า /etc/nut/nut.conf:

MODE=netserver

จากนั้นแก้ไขไฟล์ /etc/nut/ups.conf และ /etc/nut/upsmon.conf เช่น:

MONITOR ups@localhost 1 monuser password slave
SHUTDOWNCMD "systemctl poweroff"

ตรวจสอบ UPS:

upsc ups@localhost

จำลองการสูญเสียพลังงานไฟฟ้า:

upsmon -c fsd

ปิดเครื่องเสมือนก่อนโฮสต์:

qm shutdown <ID> --timeout 60
pct shutdown <ID> --timeout 60

ตรวจสอบให้แน่ใจว่าติดตั้ง qemu-guest-agent บนเครื่องเสมือนแล้ว เพื่อให้มั่นใจว่าเครื่องจะตอบสนอง

การปกป้อง VM หลังการปิดเครื่องอัตโนมัติด้วย Vinchin

เมื่อการปิดเครื่องอัตโนมัติทำงานแล้ว ขั้นตอนต่อไปคือการตรวจสอบให้แน่ใจว่าข้อมูล VM ของคุณยังปลอดภัย

เพื่อปกป้องสภาพแวดล้อม Proxmox ของคุณอย่างมั่นใจ โปรดพิจารณาใช้ Vinchin Backup & Recovery ซึ่งเป็นโซลูชันสำรองข้อมูลระดับองค์กรที่รองรับ Proxmox VE และแพลตฟอร์มอื่นๆ อีกมากกว่า 15 แพลตฟอร์ม เช่น VMware, Hyper-V, oVirt, RHV, XCP-ng, XenServer และ OpenStack

การสำรองข้อมูลแบบอินคริเมนตัลตลอดกาล การลดข้อมูลซ้ำและการบีบอัดในตัว การโยกย้าย V2V และตัวเลือกการกู้คืนอย่างรวดเร็ว ช่วยลดขนาดการสำรองข้อมูล เร่งความเร็วในการทำงาน และทำให้การกู้คืนจากภัยพิบัติง่ายขึ้น

คอนโซลเว็บที่ใช้งานง่ายช่วยให้คุณสามารถสำรองข้อมูลเครื่องเสมือน Proxmox ได้เพียงสี่ขั้นตอนเท่านั้น:

1. เลือกเครื่องเสมือนบนโฮสต์เท่านั้น

สำรองข้อมูลเครื่องเสมือน Proxmox

2.จากนั้นเลือกตำแหน่งปลายทางสำรองข้อมูล 

สำรองข้อมูล Proxmox VM

3. เลือกกลยุทธ์

สำรองข้อมูลเครื่องเสมือน Proxmox

4.สุดท้ายส่งงาน

สำรองข้อมูลเครื่องเสมือน Proxmox

Vinchin ได้รับความไว้วางใจจากผู้ใช้งานทั่วโลก และเป็นที่รู้จักในด้านความน่าเชื่อถือ เริ่มต้นวันนี้ด้วยการทดลองใช้ฟรี 60 วัน พร้อมฟีเจอร์ครบทุกอย่าง คลิกด้านล่างเพื่อดาวน์โหลดและติดตั้งได้ภายในไม่กี่นาที

คำถามที่พบบ่อยเกี่ยวกับการปิดอัตโนมัติของ Proxmox

คำถามที่ 1: ฉันจะแก้ไขปัญหาตัวจับเวลาหรือสคริปต์ได้อย่างไร?

ตรวจสอบสถานะ systemctl และ journalctl -u autoshutdown.service

คำถามที่ 2:ถ้าการปิดเครื่องค้างจะทำอย่างไร?

ใช้คำสั่ง journalctl เพื่อตรวจสอบว่าบริการใดกำลังทำงานค้าง

คำถามที่ 3: ฉันสามารถควบคุมลำดับการปิดเครื่อง VM ได้ไหม?
ได้—ให้ปิดเครื่อง VM ตามลำดับความสำคัญโดยใช้คำสั่ง qm shutdown ตามลำดับ

สรุป

การปิดระบบ Proxmox อัตโนมัติช่วยประหยัดพลังงาน ปกป้องข้อมูล และลดความเสี่ยง คุณสามารถตั้งให้ทำงานตามเวลาที่กำหนด การตรวจสอบการไม่ใช้งาน หรือจากอุปกรณ์ UPS เลือกวิธีที่เหมาะสมกับกรณีของคุณ และทำให้ระบบของคุณชาญฉลาด ปลอดภัย และมีประสิทธิภาพ


แชร์บน:

Categories: VM Tips