कभी-कभी मैं देखता हूं कि VMWare ESXi होस्ट पर एक निश्चित वर्चुअल मशीन फ्रीज हो जाती है और इसे किसी भी तरह से vSphere कंसोल से बंद या पुनरारंभ करना असंभव है। एकल वर्चुअल मशीन के कारण पूरे ESXi होस्ट को रीबूट करना पूरी तरह से उचित नहीं है (विशेषकर यदि आपके पास केवल एक ESXi होस्ट है, या DRS क्लस्टर में शेष सर्वर सर्वर से वर्चुअल मशीन के अतिरिक्त भार का सामना करने में सक्षम नहीं हैं। पुनः आरंभ)। VMWare ESXi होस्ट पर एक अनुत्तरदायी (त्रिशंकु) वर्चुअल मशीन को बलपूर्वक मारने के मुख्य तरीकों पर विचार करें।
यदि ESXi सर्वर पर वर्चुअल मशीन प्रक्रिया फ़्रीज हो जाती है, तो यह vCenter Reset
पर प्रतिसाद देना बंद कर देती है /Power Off
आदेश देता है, और निम्न त्रुटियों में से किसी एक को किसी भी क्रिया में लौटाता है:
- एक अन्य कार्य पहले से ही प्रगति पर है;
- वर्चुअल मशीन समवर्ती संचालन कर रही हो सकती है। क्रियाएँ:समवर्ती ऑपरेशन को पूरा करें और पावर-ऑफ ऑपरेशन का पुनः प्रयास करें; वर्चुअल मशीन अमान्य स्थिति में है;
- प्रयास किया गया ऑपरेशन वर्तमान स्थिति में नहीं किया जा सकता ।
ऐसे मामलों में, आप ESXi शेल या PowerCLI कमांड प्रॉम्प्ट से ESXi होस्ट पर वर्चुअल मशीन प्रक्रिया को मैन्युअल रूप से बंद कर सकते हैं।
सबसे पहले आपको यह निर्धारित करने की आवश्यकता है कि कौन सी ESXi होस्ट हंग वर्चुअल मशीन चल रही है। ऐसा करने के लिए, VM को vSphere क्लाइंट इंटरफ़ेस में खोजें। ESXi होस्ट नाम जिस पर VM चल रहा है, सारांश . पर निर्दिष्ट है संबंधित वस्तु . में टैब -> होस्ट अनुभाग।
इसके बाद, आपके ESXi होस्ट पर SSH एक्सेस प्रोटोकॉल सक्षम होना चाहिए। आप इसे vSphere इंटरफ़ेस से कर सकते हैं। ESXi होस्ट नाम पर क्लिक करें, कॉन्फ़िगर करें . पर जाएं -> सेवाएं -> एसएसएच -> शुरू करें .
अब आप पोटीन . का उपयोग करके SSH के माध्यम से इस होस्ट से जुड़ सकते हैं ग्राहक। ESXi होस्ट पर चलने वाले VMs की सूची बनाएं:
esxcli vm process list
वर्चुअल मशीन की समस्या के "वर्ल्ड आईडी" को कॉपी करें।
ESXi होस्ट पर हंग वर्चुअल मशीन की प्रक्रिया को समाप्त करने के लिए, निम्न कमांड का उपयोग करें:
esxcli vm process kill --type=[soft,hard,force] --world-id=WorldNumber
VM प्रक्रिया के तीन किल प्रकार हैं:
- नरम - वीएमएक्स प्रक्रिया को खत्म करने का सबसे सुरक्षित तरीका (किल -एसआईजीटीईआरएम के समान);
- कठिन - VM प्रक्रिया की तत्काल समाप्ति (किल -9);
- बल - सबसे कठिन वीएम प्रोसेस स्टॉप मोड। आखिरी बार इस्तेमाल किया जाना चाहिए अगर कुछ और मदद नहीं करता है।
आइए निर्दिष्ट आईडी के साथ वीएम को धीरे से रोकने का प्रयास करें:
esxcli vm process kill --type=soft -w=20598249
VM को बंद कर देना चाहिए।
आप PowerCLI का उपयोग करके फ्रोजन वर्चुअल मशीन को रोक सकते हैं (यह सुविधाजनक है, क्योंकि vCenter से कनेक्ट होने पर आपको उस होस्टनाम को खोजने की आवश्यकता नहीं है जिस पर VM चल रहा है और उस पर SSH शेल सक्षम करें)। जांचें कि VM चल रहा है:
get-vm “web1" | select name,PowerStates
कमांड के साथ VM प्रक्रिया को बलपूर्वक रोकें:
stop-vm -kill "web1" -confirm:$false
साथ ही, आप ESXTOP . का उपयोग करके किसी अनुत्तरदायी VMWare वर्चुअल मशीन को रोक सकते हैं उपयोगिता।
SSH सत्र खोलें, esxtop . दर्ज करें , “c . दबाएं CPU संसाधनों को प्रदर्शित करने के लिए और फिर SHIFT+V केवल वर्चुअल मशीन प्रक्रियाओं को प्रदर्शित करने के लिए।
फिर “f . दबाएं ” (प्रदर्शित की जाने वाली फ़ील्ड चुनने के लिए), “c ” (LWID- लीडर वर्ल्ड आईडी प्रदर्शित करने के लिए) और फिर ENTER press दबाएं .
नाम कॉलम में, रोकी जाने वाली वर्चुअल मशीन ढूंढें और संबंधित कॉलम में उसका LWID नंबर नोट करें।
अब आपको “k . दबाना है ” (मारें) और उस वर्चुअल मशीन का LWID नंबर दर्ज करें जिसे आप बलपूर्वक बंद करना चाहते हैं।
और VM "हार्ड" पावर ऑफ का अंतिम तरीका मार . का उपयोग करना है उपकरण। यह विधि न केवल VM, बल्कि सभी चाइल्ड प्रोसेस को भी रोक देगी।
VM की मूल प्रक्रिया आईडी प्राप्त करें:
ps | grep "web2"
VM प्रक्रिया को समाप्त करें:
kill -9 24288474
इस तरह के "हार्ड रीसेट" के बाद, स्थापित ओएस रिकवरी मोड में बूट हो जाएगा। अतिथि विंडोज़ के मामले में, स्क्रीन इस तरह दिखेगी।