Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

ตรวจสอบสุขภาพฮาร์ดดิสก์ (SMART) ใน Windows

Windows เวอร์ชันปัจจุบันรวบรวมข้อมูลเกี่ยวกับสุขภาพของฮาร์ดดิสก์ในคอมพิวเตอร์ของคุณผ่าน SMART และอาจแจ้งเตือนผู้ใช้ในกรณีที่มีปัญหา มาดูว่าการแจ้งเตือนของ Windows เกี่ยวกับปัญหาทางกายภาพของฮาร์ดดิสก์มีลักษณะอย่างไร และวิธีดึงข้อมูล SMART เกี่ยวกับสุขภาพดิสก์ของคุณโดยใช้เครื่องมือในตัว (WMI classes, PowerShell และ command prompt)

ฮาร์ดดิสก์สมัยใหม่ส่วนใหญ่ (รวมถึง HDD, SSD, NVMe SSD) รองรับ S.M.A.R.T (Self-Monitoring, Analysis, and Reporting Technology) ตัวควบคุมดิสก์ประเมินลักษณะทางกายภาพของดิสก์ และ Windows สามารถเข้าถึงข้อมูลเหล่านี้ผ่าน WMI

ข้อมูล SMART พร้อมใช้งานสำหรับดิสก์ฟิซิคัลท้องถิ่นเท่านั้น (อุปกรณ์ ATA/SATA) External LUNs ที่เชื่อมต่อผ่าน Fiber Channel, iSCSI, RAID หรือแดรฟ์ที่แชร์ ไม่รายงานสถานะ SMART

Windows ตรวจพบปัญฮาร์ดดิสก์

โดยค่าเริ่มต้น การตรวจสอบดิสก์โดย Logical Disk Manager และ Diagnostic Policy Service เปิดใช้งานใน Windows หากดิสก์หนึ่งส่งคืนสถานะ Predictive Failure Task Scheduler จะรันงาน Microsoft-Windows-DiskDiagnosticResolver (\Microsoft\Windows\DiskDiagnostic) ซึ่งแสดงข้อความผิดพลาด:

Windows detected a hard disk problem Back up your files immediately to prevent information loss, and then contact the computer manufacturer to determine if you need to repair the disk.

ข้อความต่อไปนี้ปรากฏในล็อก Event Viewer:

The driver has detected that device \Device\Harddisk1\DR1 has predicted that it will fail. Immediately back up your data and replace your hard disk drive. A failure may be imminent.
Windows Disk Diagnostic detected a S.M.A.R.T. fault on disk .......... (volumes E:\). This disk might fail; back up your computer now. All data on the hard disk, including files, documents, pictures, programs, and settings might be lost if your hard disk fails. To determine if the hard disk needs to be repaired or replaced, contact the manufacturer of your computer. If you can't back up (for example, you have no CDs or other backup media), you should shut down your computer and restart when you have backup media available. In the meantime, do not save any critical files to this disk.

สถานะ Predictive Failure หมายถึงลักษณะหนึ่งของดิสก์ (เช่น การสึกหรอทางกล) ไม่ตรงกับค่าอ้างอิงและอาจล้มเหลว

ในกรณีนี้ แนะนำให้สำรองข้อมูลจากดิสก์ไปยังสื่อแยกต่างหาก จากนั้นตรวจสอบดิสก์โดยใช้เครื่องมือ SMART เริ่มต้นของผู้ผลิต (หรือเครื่องมืออื่นๆ เช่น CrystalDiskInfo) และใช้ chkdsk

คุณสามารถแสดงหรือซ่อนข้อความนี้โดยใช้ตัวเลือก GPO แยกต่างหาก Disk Diagnostic: Configure execution level ซึ่งตั้งอยู่ในส่วน Administrative Templates → System → Troubleshooting and Diagnostics → Disk Diagnostics ของ GPO

มักใช้เครื่องมือของบุคคลที่สาม (เช่น CrystalDiskInfo, HDTune ฯลฯ) เพื่อรับข้อมูลเกี่ยวกับสุขภาพดิสก์ใน Windows โปรแกรมเหล่านี้ให้ข้อมูลมากมายเกี่ยวกับดิสก์ของคุณ

ตัวอย่างเช่น ฉันสามารถรับทราบทรัพยากรของ SSD ค่าปัจจุบันของ Total Host Writes คือ 507 GB ผู้ผลิตรับประกันว่าทรัพยากรการเขียนสูงสุด (TBW) สำหรับรุ่น SSD ของฉันคือ 300 TB ดังนั้นการสึกหรอของดิสก์น้อยกว่า 0.2% ดิสก์ถูกใช้งานเพียง 108 ชั่วโมง

ตรวจสอบแอตทริบิวต์ SMART ของฮาร์ดดิสก์ผ่าน WMI Class และ PowerShell

คุณสามารถตรวจสอบข้อมูล SMART ของดิสก์โดยใช้เครื่องมือในตัวของ Windows คุณสามารถดูข้อมูลเกี่ยวกับสุขภาพดิสก์ของคอมพิวเตอร์ผ่าน Control Panel (Control Panel\System and Security\Security and Maintenance) ส่วนนี้ยังมีข้อมูลเกี่ยวกับสถานะของบริการ Windows Error Reporting

ในกรณีของฉัน ดิสก์ปกติ เนื่องจากมีข้อความต่อไปนี้ในส่วน Drive Status: OK, All drives are working properly

ตามที่กล่าวไว้ข้างต้น Windows รวบรวมข้อมูล SMART จากดิสก์และอนุญาตให้เข้าถึงโดยใช้ WMI

SMART ต้องเปิดใช้งานในการตั้งค่า BIOS/UEFI

รันคำสั่งพร้อมท์ด้วยสิทธิ์ผู้ดูแลระบบ และใช้คำสั่งด้านล่างเพื่อรับสถานะของดิสก์ทั้งหมด:

wmic diskdrive get status

ในกรณีนี้ ดิสก์ปกติ มิฉะนั้น คุณจะเห็นสถานะ Bad, Unknown หรือ Caution

หากคุณเห็นข้อผิดพลาดเมื่อเข้าถึง WMI ให้ลองซ่อมแซมที่เก็บ WMI

คุณสามารถรับข้อมูลเกี่ยวกับความล้มเหลวของฮาร์ดดิสก์ที่เป็นไปได้โดยใช้คลาส WMI MSStorageDriver_FailurePredictStatus:

wmic /namespace:\\root\wmi path MSStorageDriver_FailurePredictStatus

หากตัวควบคุมดิสก์ไม่ตรวจพบปัญหาใดๆ ของดิสก์ ค่า PredictFailure ควรเป็น FALSE

คลาสเดียวกันสามารถสอบถามได้โดยใช้ PowerShell:

Get-WmiObject -namespace root\wmi –class MSStorageDriver_FailurePredictStatus

หากค่าเป็น PredictFailure = True ให้สนใจรหัสข้อผิดพลาดที่แสดงในพารามิเตอร์ Reason ความหมายของรหัสข้อผิดพลาด PredictFailure ขึ้นอยู่กับผู้ขายของคุณ คุณสามารถหาข้อมูลเกี่ยวกับรหัสข้อผิดพลาดบางส่วนใน wiki (https://en.wikipedia.org/wiki/S.M.A.R.T.#ATA_S.M.A.R.T._attributes)

คุณสามารถรับค่าของเคาน์เตอร์ความน่าเชื่อถือบางส่วนโดยใช้คำสั่ง PowerShell ต่อไปนี้:

Get-Disk | foreach { $_ | Get-StorageReliabilityCounter | Format-List }

คุณสามารถแสดงข้อมูลเกี่ยวกับแอตทริบิวต์ SMART บางส่วนได้อย่างเดียว:

Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object -Property DeviceID, Wear, ReadErrorsTotal, ReadErrorsCorrected, WriteErrorsTotal, WriteErrorsUncorrected, Temperature, TemperatureMax | FT

นอกจากนี้ คุณสามารถดูข้อมูลทั่วไปเกี่ยวกับดิสก์ของคุณโดยใช้คำสั่ง Get-PhysicalDisk:

$(Get-PhysicalDisk | Select *)[0]

เราเคยแสดงวิธีรับข้อมูลเกี่ยวกับดิสก์ที่ล้มเหลวใน Windows Server S2D โดยใช้ Get-PhysicalDisk และเปลี่ยนมัน:

Get-PhysicalDisk | Where-Object {$_.HealthStatus -ne 'Healthy'}

โดยใช้คลาส WMI และคำสั่ง PowerShell cmdlet เหล่านี้ คุณสามารถกำหนดค่าการรวบรวมข้อมูลสุขภาพดิสก์บนคอมพิวเตอร์ผู้ใช้เพื่อติดตามสถานะของพวกเขาแบบโปรอัคทีฟ คุณสามารถสร้างการแจ้งเตือนสำหรับระบบการตรวจสอบของคุณ (เช่น zabbix, nagios, icinga ฯลฯ) รายงานการปฏิบัติตามของ SCCM โดยใช้ Configuration Baseline, PowerShell Desired State Configuration (DSC) สอบถามสถานะ SMART จากคอมพิวเตอร์ระยะไกลโดยใช้ PowerShell Remoting (คำสั่ง Invoke-Command) หรือใช้วิธีของคุณเอง