क्या KVM होस्ट शटडाउन पर मेहमानों को स्वचालित रूप से निलंबित या बंद कर सकता है?


16

हमारे पास एक CentOS 5.5 KVM होस्ट है, जो मेहमानों को CentOS के विभिन्न संस्करणों और संभवतः अन्य OSes के साथ चल रहा है।

हम या तो (a) अपने आप को सभी मेहमानों के लिए ACPI शटडाउन भेजने में सक्षम होना चाहते हैं या (b) सभी मेहमानों को डिस्क शटडाउन करने के लिए निलंबित कर देंगे।

क्या इनमें से किसी एक को पूरा करने के लिए एक मानक तरीका है, या यह एक रोल-आपकी अपनी स्थिति है? धन्यवाद!

जवाबों:


5

हाँ।

virsh shutdownआदेश (या "बंद", libvirt का उपयोग कर के रूप में की अन्य कार्यान्वयन virt-manager) सफाई से बंद करने के लिए अतिथि ओएस निर्देश देता है। मैन पेज से:

   shutdown domain-id

   Gracefully shuts down a domain.  This coordinates with the domain
   OS to perform graceful shutdown, so there is no guarantee that it
   will succeed, and may take a variable length of time depending on
   what services must be shutdown in the domain.

   The exact behavior of a domain when it shuts down is set by the
   on_shutdown parameter in the domain’s XML definition.

KVM के साथ, इसे ACPI system_powerdown इवेंट भेजना चाहिए।

फेडोरा और आरएचईएल 6 में, libvirt-guestsसिस्टम बंद पर सभी मेहमानों को निलंबित करने के लिए एक इनिट स्क्रिप्ट बॉक्स से कॉन्फ़िगर किया गया है। हालाँकि, यह विशेष रूप से जादू नहीं है, इसलिए कोई भी इसे थोड़ा संशोधित करके CentOS 5 में कॉपी कर सकता है।


यह एक अच्छा विचार है, मेरे पास फेडोरा मशीन है, मैं इसे CentOS5 पर वापस भेजूंगा। धन्यवाद।
एंड्रयू क्लेग

मैं डोको में on_shutdown नहीं देख सकता: libvirt.org/formatdomain.html#elementsLifecycle
थियागो

Hmmmm। हाँ, यह भी कोड में संदिग्ध रूप से गायब हैlibvirt-guestsस्क्रिप्ट वास्तव में क्या करती है virsh managedsave। (ऐसा लगता है कि शायद केवल यूएमएल ड्राइवर system_powerdown का समर्थन करता है।) पकड़ने के लिए धन्यवाद! मैं अपना उत्तर अपडेट करूंगा, और प्रलेखन के खिलाफ बग दर्ज करूंगा।
Mattdm

4

हाल के फेडोरा और आरएचईएल 6 में यह एक मानक विशेषता है।


मुझे लगता है कि यह उबंटू में भी संबोधित किया गया था: Bugs.launchpad.net/ubuntu/+source/libvirt/+bug/350936
HDave

0

जहां तक ​​मुझे पता है कि CentOS के लिए ऐसी कोई मानक स्क्रिप्ट नहीं है। कोड अप करना संभव है, लेकिन थोड़ा खतरनाक है, क्योंकि आपको मेहमानों को संभालने की ज़रूरत है जो बंद होने में लंबा समय लेते हैं। बस टाइम-आउट के बाद उन्हें मारना डेटा को नष्ट कर सकता है, जबकि उनका इंतजार करना आपकी शटडाउन को लटका कर रख सकता है।

इसके बजाय रिबूट करने से पहले मेहमानों को हाथ से बंद करना बेहतर है। थोड़ी देर के लिए मेरे पास एक स्क्रिप्ट थी जो शटडाउन और रिबूट की जगह लेती थी। उस स्क्रिप्ट ने मुझे चेतावनी दी थी कि अगर कोई रनिंग गेस्ट (वर्चुअल मशीन की सूची में साधारण एलसी) था और अगर मेहमान चल रहा था तो कमांड को ब्लॉक कर दिया।


-2

केवीएम मेहमान सिर्फ यूजरस्पेस प्रोसेस हैं। आपके पास कुछ प्रक्रिया की निगरानी होनी चाहिए। बाहर सबसे आम है libvirt (यह RedHat द्वारा विकसित किया गया है, इसलिए मुझे लगता है कि यह CentOS पर उपलब्ध होना चाहिए)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.