คุณจะตรวจสอบสุขภาพของดิสก์ที่ทำมิเรอร์ใน Windows ได้อย่างไร?


12

ฉันมีดิสก์ไดรฟ์แบบไดนามิกบนเซิร์ฟเวอร์ Windows 2003 ของฉัน คุณติดตามสุขภาพของปริมาตรได้อย่างไร?

มีวิธีให้เซิร์ฟเวอร์ส่งอีเมลเมื่อมีปัญหาเกี่ยวกับปริมาณหรือไม่ มีวิธีให้เซิร์ฟเวอร์รันการทดสอบ SMART หรือไม่

แก้ไข: ไม่มีอะไรบอกว่า WTF เช่นการเข้าสู่เซิร์ฟเวอร์ลูกค้าเรียกใช้ DISKPART LIST VOLUME และเห็นสิ่งนี้

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

@Chris_k ถูกต้อง ครั้งล่าสุดที่ดิสก์ล้มเหลวฉันค้นพบโดยบังเอิญเท่านั้น บนระบบขององค์กรที่ไม่สามารถยอมรับได้อย่างสมบูรณ์ ฉันมีระบบสำรอง แต่นั่นไม่ใช่จุดของการทำกระจก
NitroxDM

ด้วยข้อมูลอย่างที่ฉันคิดว่าตอนนี้เป็นเวลาที่ดีในการทดสอบสคริปต์ Windows สำหรับผู้ชนะ!
NitroxDM

ฉันกำลังหาทางแก้ปัญหาโดยใช้คำตอบทั้งคู่ที่ระบุไว้ที่นี่
NitroxDM

คำตอบ:


5

เมื่อไม่นานมานี้ฉันมีคำถามเดียวกัน สิ่งแรกที่ฉันคิดว่าใช้ WMI แต่ด้วยเหตุผลแปลก ๆ บางอย่าง WMI ไม่เปิดเผยสุขภาพของโวลุ่ม RAID ผ่านคลาส Win32_ * ปกติใด ๆ

ในที่สุดฉันก็พบสคริปต์ในบทความนี้และทำการปรับเปลี่ยนเล็กน้อยเพื่อให้เหมาะกับความต้องการของฉัน แยกวิเคราะห์ผลลัพธ์ของคำสั่ง "LIST VOLUME" ของ diskpart.exe นี่อาจดูสกปรกและน่าเกลียดนิดหน่อย แต่ตอนนี้มันเป็นตัวเลือกที่ดีที่สุดที่ฉันเคยเห็น

สคริปต์ตามที่ปรากฏบนหน้าเชื่อมโยงที่มีความพร้อมที่จะใช้กับ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เป็นสิ่งที่สำคัญ คุณจะรับการแปลเป็นภาษาฝรั่งเศสหรืออาจเป็นวิธีอื่นที่ไม่ใช้ภาษานี้
ปริญญาโท DJon

1
จุดดี - แต่มันจะใช้เวลานานมากในการติดตั้ง Windows ในทุกภาษาและสังเกตสตริงต่างๆ ถ้าฉันเป็นคุณแล้วฉันจะติดตั้ง Windows แบบฝรั่งเศสใน VM และจำลองการทำงานล้มเหลวของ RAID กับดิสก์เสมือน คุณอาจจะดึงสตริงจาก DLL บางแห่ง แต่นั่นอาจจะใช้เวลานานพอสมควร
ลัคกี้ลุค

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

แทนที่ค้นหา "SSD" ด้วย "mirror" (หรือสตริป ... อะไรก็ได้) หรือชื่อโวลุ่มของคุณ (โวลุ่มของฉันมีชื่อว่า 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

ฉันใช้ไฟล์แบทช์ที่น่าเกลียดนี้เพื่อตรวจสอบเซิร์ฟเวอร์มากกว่าหนึ่งร้อยเครื่องเพื่อตรวจสอบสถานะมิเรอร์และผลลัพธ์ก็น่ารัก มันเป็นปลั๊กอินไคลเอนต์ nsclient ++ เพื่อทำการตรวจสอบแบบพาสซีฟทุกสี่ชั่วโมงเพื่อส่งผลลัพธ์ไปยังเซิร์ฟเวอร์ nagios

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
ลมสุริยะ, n-can, เกิดอะไรขึ้น, เครื่องเทศทำงานได้แม้กระทั่งผู้จัดการข้อมูลเชิงลึกของ HP
longneck

ฉันไม่เห็นว่าคำตอบของคุณเกี่ยวข้องหรือมีประโยชน์มันเป็นเพียงความเห็น มีเครื่องมือที่มีความสามารถมากกว่า Solarwind (n-can จาก Solarwinds btw) สิ่งต่าง ๆ ได้เปลี่ยนไปและการจู่โจมซอฟต์แวร์ไม่ใช่ "shoe-string" อีกต่อไป: smbitjournal.com/2016/12/the-software-raid-inflection-point
Lucky Luke

ฉันไม่ได้บอกว่าการจู่โจมซอฟต์แวร์เป็นช่องเสียบสายโทรศัพท์ ฉันพูดว่าการพัฒนากระบวนการสตริงรองเท้าหรือขั้นตอนการตรวจสอบเป็นความคิดที่ไม่ดี (และในขณะที่ฉันเขียนคำตอบของฉัน SolarWinds ยังไม่ได้ซื้อ n- สามารถ)
longneck
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.