-
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. เลือกเครื่องเสมือนบนโฮสต์เท่านั้น

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

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

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

Vinchin ได้รับความไว้วางใจจากผู้ใช้งานทั่วโลก และเป็นที่รู้จักในด้านความน่าเชื่อถือ เริ่มต้นวันนี้ด้วยการทดลองใช้ฟรี 60 วัน พร้อมฟีเจอร์ครบทุกอย่าง คลิกด้านล่างเพื่อดาวน์โหลดและติดตั้งได้ภายในไม่กี่นาที
คำถามที่พบบ่อยเกี่ยวกับการปิดอัตโนมัติของ Proxmox
คำถามที่ 1: ฉันจะแก้ไขปัญหาตัวจับเวลาหรือสคริปต์ได้อย่างไร?
ตรวจสอบสถานะ systemctl และ journalctl -u autoshutdown.service
คำถามที่ 2:ถ้าการปิดเครื่องค้างจะทำอย่างไร?
ใช้คำสั่ง journalctl เพื่อตรวจสอบว่าบริการใดกำลังทำงานค้าง
คำถามที่ 3: ฉันสามารถควบคุมลำดับการปิดเครื่อง VM ได้ไหม?
ได้—ให้ปิดเครื่อง VM ตามลำดับความสำคัญโดยใช้คำสั่ง qm shutdown ตามลำดับ
สรุป
การปิดระบบ Proxmox อัตโนมัติช่วยประหยัดพลังงาน ปกป้องข้อมูล และลดความเสี่ยง คุณสามารถตั้งให้ทำงานตามเวลาที่กำหนด การตรวจสอบการไม่ใช้งาน หรือจากอุปกรณ์ UPS เลือกวิธีที่เหมาะสมกับกรณีของคุณ และทำให้ระบบของคุณชาญฉลาด ปลอดภัย และมีประสิทธิภาพ
แชร์บน: