एक हाइपर- V होस्ट पर VM / I कर रहा है


13

मैं यह कैसे पता लगा सकता हूं कि हाइपर- V के साथ I / OI को देखने के लिए कौन सा VM जिम्मेदार है?

स्थिति: मेरे पास कई वीएम (लगभग 30 प्रति होस्ट) के साथ हाइपर-वी होस्ट हैं जहां मैं कभी-कभार लंबे समय तक उच्च डिस्क के उपयोग को देखता हूं। मैं जानना चाहूंगा कि कौन सा वीएम इसका कारण बन रहा है।

मैंने प्रोसेस एक्सप्लोरर का उपयोग करने की कोशिश की, लेकिन इसने सभी हाइपर-वी से संबंधित I / O को "सिस्टम" प्रक्रिया से निपटने की सूचना दी, इसलिए मेरी मदद करें:

प्रक्रिया खोजकर्ता

यह पहले से ही एक्सेस की गई फ़ाइलों के टूटने में मदद करेगा। Windows सर्वर के पूर्ण GUI इंस्टॉल में संसाधन मॉनिटर है जो यह जानकारी प्रदान कर रहा है। हालाँकि, Resmon को Core और Hyper-V स्थापनाओं में अनुपलब्ध लगता है।


@RyanRies नहीं, मैं vmwp.exe को किसी भी I / O में शामिल नहीं देखता हूं। जैसा कि मुझे नहीं पता कि लोड किस डिस्क पर जा रहा है, मैं नहीं बता सकता कि यह आईडीई या एससीएसआई कोड पथ ले रहा है, दोनों समान रूप से संभव लगते हैं।
वाबेट

जवाबों:


9

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

कुछ अच्छे संकेत हैं जिनके कारण काउंटरर्स मॉनिटरिंग हाइपर-वी प्रदर्शन में देख सकते हैं


मम, मैंने कोशिश की। इससे उपयोगी परिणाम नहीं मिले और मुझे नहीं पता कि ऐसा क्यों है। सबसे पहले, मुझे वर्चुअल स्टोरेज डिवाइस काउंटरों को खोजने में परेशानी हुई - ऐसा लगता है कि वे मेरे इंस्टॉल पर मौजूद नहीं हैं। चूंकि मेरे अधिकांश डिस्क आईडीई हैं, मैंने वर्चुअल आईडीई कंट्रोलर को एक शॉट दिया, लेकिन कुछ अयोग्य कारणों के लिए यह कुछ भी नहीं लौटा रहा है, लेकिन उदाहरण के लिए शून्य वास्तव में लोड का कारण बनता है (जो कि इस बीच दुर्घटना से मुझे ठोकर लगी - जबकि अन्य उदाहरण संत मूल्य उत्पन्न करने के लिए लगता है।
वाबेट

2
यदि आपके पास VM एकीकरण सामग्री स्थापित है, तो आप IDE का उपयोग नहीं कर रहे हैं (भले ही कॉन्फ़िगरेशन स्क्रीन क्या कहती है; मुझे MS की खराब कॉन्फ़िगरेशन स्क्रीन विकल्पों पर आरंभ नहीं करें), इसलिए आपको पुण्य स्टॉर देव काउंटर का उपयोग करना होगा। उत्तरार्द्ध वीएचडी के अनुसार हैं, वीएम के अनुसार नहीं, इसलिए इसमें थोड़ी सी भी डेरेफेरिंग शामिल है।
क्रिस एस

इससे यह साफ हो जाता है। मुझे अंततः वर्चुअल स्टोरेज डिवाइस मिला, यह वर्चुअल डिस्क के लिए समझदार मूल्यों को वापस करता है।
वबबिट

क्रिस एस सही है। प्रदर्शन मॉनिटर काउंटर का सटीक नाम वह "हाइपर-वी वर्चुअल स्टोरेज डिवाइस" है। इस श्रेणी में "कतार की लंबाई" अर्थात् आपकी VHD (X) फ़ाइलों में से कौन सी आपकी डिस्क के साथ संचार कर रही है, इसकी एक अच्छी जानकारी मिलती है।
Koen Zomers

2

Syneticon-dj, मैंने आज दोपहर आपके लिए कुछ लिखा है। मुझे लगा कि यह समस्या दिलचस्प थी, इसलिए यह सरल स्क्रिप्ट आपको हाइपर-वी होस्ट पर प्रत्येक चल रहे वीएम पर आईओ आँकड़े पढ़ने और लिखने देगा। एक अतिरिक्त बोनस के रूप में यह प्रत्येक वीएम को अपने vmwp.exe की प्रोसेस आईडी से जोड़ता है।

आप इसे अपने हाइपर- V सर्वर पर चला सकते हैं, क्योंकि इसमें GUI की आवश्यकता नहीं है।

नकारात्मक पक्ष यह है कि जब मैं इस पर काम कर रहा था, मैंने देखा कि प्रदर्शन काउंटर थोड़ी देर के लिए शानदार काम कर रहे थे, और फिर बिना किसी कारण के लिए उन्होंने शून्य पर रहने का फैसला किया। वैसे शायद यह बग नहीं है, जैसा कि क्रिस एस कहते हैं ... लेकिन ये काउंटर दुर्भाग्य से बहुत उपयोगी नहीं हो सकते हैं। इसके बावजूद, स्क्रिप्ट को संशोधित करने के लिए पुण्य का उपयोग करना बहुत आसान होगा। इसके बजाय संग्रहण डिवाइस काउंटर।

आउटपुट इस तरह दिखता है:

PID     VMName               ReadBytesPerSec             WriteBytesPerSec
---     ------               ---------------             ----------------
5108    DC02                          483.90                            0
2796    DC01                               0                            0
3348    ECA01                     4782668.27                            0

#Requires -Version 3
function Get-VMPidAndIO
{
<#
.SYNOPSIS
    Gets the Process ID and I/O statistics of each virtual machine running on the Hyper-V host.
.DESCRIPTION
    Gets the Process ID and I/O statistics of each virtual machine running on the Hyper-V host.
    Currently only works for VMs using virtual IDE controllers.
    Requires Powershell 3 at a minimum.
.LINK
    http://myotherpcisacloud.com
.NOTES
    Written by Ryan Ries, June 2013.
    ryan@myotherpcisacloud.com
#>
    BEGIN
    {
        Try
        {
            $VMProcesses = Get-CimInstance -Query "Select ProcessId,CommandLine From Win32_Process Where Name ='vmwp.exe'" -ErrorAction Stop
        }
        Catch
        {
            Write-Error $_.Exception.Message
            Return
        }
    }
    PROCESS
    {

    }
    END
    {
        Foreach($_ In $VMProcesses) 
        {
            $VMName = $((Get-VM | Where Id -EQ $_.CommandLine.Split(' ')[-1]).Name)            
            [PSCustomObject]@{PID=$_.ProcessId;
                              VMName=$VMName; 
                              ReadBytesPerSec=[Math]::Round($(Get-Counter "\Hyper-V Virtual IDE Controller (Emulated)($VMName`:Ide Controller)\Read Bytes/sec").CounterSamples.CookedValue, 2);
                              WriteBytesPerSec=[Math]::Round($(Get-Counter "\Hyper-V Virtual IDE Controller (Emulated)($VMName`:Ide Controller)\Write Bytes/sec").CounterSamples.CookedValue, 2); }
        }

    }
}

यह एक बग नहीं है, मेरे उत्तर में टिप्पणियां देखें।
क्रिस एस

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

यकीन नहीं होता कि यह रुक-रुक कर कुछ क्यों दिखाएगा। हाइपर- V में स्टोरेज किस तरह काम करता है, इसका कारण है। अनिवार्य रूप से सभी वीएम के लिए केवल एक भंडारण नियंत्रक है। कॉन्फ़िगरेशन में एक "IDE कंट्रोलर" का उपयोग करके आप उस VM के संपर्क में आने वाले स्टोरेज के लिए IDE इम्यूलेशन को सक्षम कर रहे हैं (जैसा कि "SCSI कंट्रोलर" के विपरीत है जिसका SCSI से कोई लेना-देना नहीं है, और बस किसी भी प्रकार के स्टोरेज कंट्रोलर एमुलेशन को निष्क्रिय करता है) । एकीकरण सेवाओं का समर्थन करने वाले वीएम केवल आईडीई अनुकरण को छोड़ देते हैं। स्टोरेज कंट्रोलर काउंटरों को बिल्कुल परवाह नहीं है कि वीएम प्रत्येक वीएचडी से जुड़ा हुआ है, इसलिए यह जिस तरह से काम करता है।
क्रिस एस

बहुत बढ़िया। जानकारी के लिए धन्यवाद। मैं इस बारे में और अधिक पढ़ने में बेहद दिलचस्पी रखता हूं, लेकिन मैं किसी भी अच्छे तकनीकी दस्तावेज को बनाने में कठिन समय लगा रहा हूं। मुझे लगता है कि यह हमारे लिए इस सामान का एक बहुत नष्ट करने के लिए एमएस होगा। हम उनके समाधान में अधिक विश्वास रखने में सक्षम होंगे। मुझे बस एक हाइपर-वी इंटर्नल किताब चाहिए। क्या यह पूछना बहुत बड़ी बात है? :)
रयान रीज

1

अन्य दोनों उत्तर उपयोगी हैं। लेकिन मुझे लगता है कि "रिसोर्स मॉनिटर" को खोलकर और डिस्क टैब को देखकर मुझे लगता है कि आपको जो कुछ भी अधिक आसानी से मिल रहा है (जब वीएचडी को फ़ाइल सर्वर के बजाय स्थानीय या स्थानीय रूप से साझा डिस्क पर संग्रहीत किया जाता है)। "डिस्क गतिविधि" को देखें और "कुल (बी / सेकंड)" के आधार पर छाँटें। आप VHD को उनकी गतिविधि के क्रम में सूचीबद्ध देखेंगे।

जाहिर है कि मेरी रणनीति उन मशीनों के लिए एक ढीला सन्निकटन है जो आप स्थानीय रूप से लॉग इन हैं, जो इसे एक बड़े, बिना सिर वाले वातावरण में कम उपयोगी बनाता है।


1
जेक, प्रतिक्रिया देने के लिए समय निकालने के लिए धन्यवाद। मैं वास्तव में संसाधन मॉनीटर को देखना पसंद करूंगा , हालांकि, यह तब उपलब्ध नहीं होता है जब सर्वर पूरी तरह से आलेखीय संस्थापन नहीं चला रहा होता है, लेकिन केवल हाइपर-वी संस्करण या सर्वर कोर। जो मेरे पास है।
वाबेट

1

मैंने सभी हाइपर-वी मेजबानों पर वीएम के सभी के लिए एक पॉवरशेल जीयूआई टूल एकत्रित अतिथि प्रदर्शन डेटा लिखा। डेटा एकत्र करना और मिलान गेट-काउंटर और हाइपर-वी WMI जानकारी के साथ किया जाता है। किसी भी सदस्य सर्वर से चलाएं, किसी भी मॉड्यूल की आवश्यकता नहीं है। मुझे आशा है कि यह हाइपर-वी होस्ट और वीएम पर प्रदर्शन की समस्याओं का शीघ्र निवारण करने में मदद करेगा।

हाइपर- V वर्चुअल मशीन अतिथि प्रदर्शन सांख्यिकी (पावरशेल) https://gallery.technet.microsoft.com/Show-Hyper-V-Virtual-652fdd54


0

आप एक 3 पार्टी टूल आज़माना चाह सकते हैं जो कि डिटेंकग वर्चुअल मशीन की मदद कर सकता है जो उच्च I / O पैदा कर रहा है, और इस तरह के उच्च I / O पर अलर्ट करने की क्षमता भी है। आप इसे यहाँ देख सकते हैं - ApexSQL VM मॉनिटर

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

आशा है कि मैंने मदद की।

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