आप विंडोज में मिरर किए गए डिस्क के स्वास्थ्य की निगरानी कैसे करते हैं?


12

मेरे पास अपने विंडोज 2003 सर्वर पर एक मिररड डायनामिक डिस्क है। आप वॉल्यूम के स्वास्थ्य की निगरानी कैसे करते हैं?

क्या वॉल्यूम के साथ कोई समस्या होने पर सर्वर को ईमेल भेजने का कोई तरीका है? क्या सर्वर को स्मार्ट परीक्षण चलाने का एक तरीका है?

संपादित करें: कुछ भी नहीं कहता है कि डब्ल्यूटीएफ एक क्लाइंट सर्वर में लॉग इन करता है, डिस्कनेक्ट लिस्ट वोल्यूम चला रहा है और इसे देख रहा है।

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0     X   xDrive       NTFS   Mirror       233 GB  Failed Rd
Volume 1     C                NTFS   Simple        57 GB  Healthy    System
Volume 2     D                       DVD-ROM         0 B  Healthy
Volume 3     F                RAW    Partition    466 GB  Healthy
Volume 4     E   New Volume   NTFS   Partition    932 GB  Healthy

हम यहाँ एक सॉफ्टवेयर मिरर की बात कर रहे हैं? यदि हां, तो महान प्रश्न।
क्रिस_के

@Chris_k सही। पिछली बार एक डिस्क में विफल रहा था मैं केवल संयोग से पाया। एक उद्यम प्रणाली पर जो पूरी तरह से अस्वीकार्य है। मेरे पास बैक अप सिस्टम है। लेकिन वह दर्पण करने की बात नहीं है।
२१:४१ पर नाइट्रॉक्सडीएम

इस तरह की जानकारी के साथ मुझे लगता है कि अब उस स्क्रिप्ट का परीक्षण करने का एक अच्छा समय है। जीत के लिए विंडोज!
नाइट्रोक्सडीएम

मैं यहां सूचीबद्ध दोनों उत्तरों का उपयोग करके एक समाधान पर काम कर रहा हूं।
नाइट्रोक्सडीएम

जवाबों:


5

कुछ समय पहले मेरा भी यही सवाल था। पहली बात जो मैंने सोचा था कि WMI का उपयोग कर रहा था, लेकिन कुछ अजीब कारणों के लिए, WMI किसी भी सामान्य Win32_ * वर्गों के माध्यम से एक RAID मात्रा के स्वास्थ्य को उजागर नहीं करता है।

मैं अंततः इस लेख की पटकथा से लड़खड़ा गया और अपनी आवश्यकताओं के अनुरूप कुछ संशोधन किए। यह diskpart.exe के "LIST VOLUME" कमांड के आउटपुट को पार्स करता है। यह थोड़ा गंदा और बदसूरत लग सकता है, लेकिन अभी इसका सबसे अच्छा विकल्प मैंने देखा है।

स्क्रिप्ट के रूप में यह जुड़ा हुआ पृष्ठ पर दिखाई देता साथ प्रयोग किया जा करने के लिए तैयार है Nagios / NSClient ++ । यदि आपको VBScript का थोड़ा सा पता है, तो मुद्रण स्थिति की जानकारी के बजाय ई-मेल भेजने के लिए इसे संशोधित करना काफी आसान है।

यदि आप VBScript नहीं जानते हैं, तो मैं ख़ुशी से आपको एक संशोधित संस्करण दूंगा, जो आप इसे चाहते हैं।


VBScript इतना नहीं। दूसरी ओर C #;) स्क्रिप्ट बहुत खराब नहीं लगती है।
NitroxDM

इस विषय पर एक और लेख और इस समस्या के आसपास कैसे काम करें: Eventlogblog.com/blog/2012/02/…
लकी ल्यूक

वे (@LuckyLuke और ThatGraemeGuy स्क्रिप्ट) महान हैं, लेकिन भाषा समर्थन की कमी है। मेरे दोनों सर्वर अंग्रेजी में हैं, इसलिए अच्छा है। लेकिन, मेरी डाउनलोड मशीन फ्रेंच में है। मैं (ThatGraemeGuy स्क्रिप्ट से) यह पता लगाने में सक्षम है RE0.Pattern = "Healthy|Sain" RE1.Pattern = "Mirror|RAID-5|Miroir", लेकिन ऐसा नहीं है RE2और RE3"असफल है। जोखिम में" और "पुनर्निर्माण"। दुर्भाग्य से, यह बुरा है क्योंकि वे, ज्यादातर RE2, महत्वपूर्ण हैं। क्या आप जहाँ मैं उन लोगों का फ्रेंच में अनुवाद कर सकते हैं या हो सकता है कि उनके आस-पास का कोई दूसरा तरीका भाषा पर निर्भर न हो?
मास्टर डीजेन

1
अच्छा बिंदु - लेकिन हर भाषा में विंडोज को स्थापित करने और स्ट्रिंग्स का निरीक्षण करने में बहुत समय लगेगा। अगर मैं तुम होते तो मैं एक वीएम में एक फ्रांसीसी विंडोज स्थापित करता और वर्चुअल डिस्क के साथ एक RAID विफलता का अनुकरण करता। आप शायद कहीं DLL से स्ट्रिंग्स निकाल सकते हैं, लेकिन शायद उतना ही समय लगेगा।
लकी ल्यूक

2
for /f "tokens=4,9 delims= " %a IN ('echo list volume ^| diskpart ^| find "SSD"') do echo %a %b

"SSD" को "मिरर" (या स्ट्राइप ... जो भी हो) या अपने वॉल्यूम के नाम से बदलें। (मेरे संस्करणों का नाम SSD1 + SSD2 है)

एक बैच फ़ाइल में @echo बंद और उर के साथ किया। :)

@echo off
for /f "tokens=4,9 delims= " %%a IN ('echo list volume ^| diskpart ^| find "SSD"') do echo %%a %%b

बैच के लिए उपरोक्त लाइन की आवश्यकता है। =)

टिप्पणियाँ

  • काम करने के लिए आपके पास एक वॉल्यूम नाम होना चाहिए, अन्यथा टोकन बदल देंtokens=8


0

मैं इस बदसूरत बैच फ़ाइल का उपयोग दर्पण स्थिति की जांच करने के लिए सौ से अधिक सर्वरों की निगरानी करने के लिए करता हूं और परिणाम प्यारा है। Nagios सर्वर पर परिणाम भेजने के लिए हर चार घंटे में निष्क्रिय चेक करना एक nsclient ++ क्लाइंट प्लगइन है।

check_mirror.bat

@echo off
echo list volume | diskpart | find "Mirror" > H
for /f %%i in ('type H ^| find /c "Mirror"') do set /a M=%%i 
for /f %%i in ('type H ^| find "Mirror" ^| find /c "Health" ') do set /a H=%%i 
for /f %%i in ('type H ^| find /c "Risk"') do set /a risk=%%i 
@del H /q
rem echo M=%M%, H = %H% Risk=%risk%
if %risk% GTR 0 goto err
IF %M%.==0. goto nomirror
IF %M% EQU %H% goto mirrorok

:err
echo CRITICAL: Something Wrong.
exit /B 1

:mirrorok
echo OK: Mirror Health.
exit /B 0

:nomirror
echo OK: No Mirror Found.
exit /B 1

-1

जबकि इन सभी उत्तरों से आपको स्थिति मिलेगी, उनमें से कोई भी सही उत्तर नहीं है।

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

अपने आप को एक एहसान करो और यह सब जूता-स्ट्रिंग और बबल-गम सामान छोड़ें और सही उपकरण का उपयोग करें।


उपकरण जैसे क्या?
NitroxDM

1
सौर हवाएं, एन-सक्षम, क्या हो रहा है, मसाला काम करता है, यहां तक ​​कि एचपी अंतर्दृष्टि प्रबंधक
लॉन्गनेक

मैं नहीं देखता कि आपका उत्तर कैसे प्रासंगिक या सहायक है, यह सिर्फ एक राय है। Solarwinds की तुलना में बहुत अधिक सक्षम उपकरण हैं (n-सक्षम Solarwinds btw से है)। हालात भी बदल गए हैं, और सॉफ्टवेयर छापे नहीं "जूता स्ट्रिंग" अब है: smbitjournal.com/2016/12/the-software-raid-inflection-point
लकी ल्यूक

मैंने यह नहीं कहा कि सॉफ्टवेयर छापे जूता-स्ट्रिंग है। मैंने कहा कि जूता-स्ट्रिंग प्रक्रियाओं या निगरानी के लिए प्रक्रियाओं का विकास एक बुरा विचार था। (और जिस समय मैंने अपना उत्तर लिखा, SolarWinds ने अभी तक n-सक्षम नहीं खरीदा था।)
longneck
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.