共用方式為


檢視健全狀況服務錯誤

適用於:Azure 本機版本 23H2 和 22H2;Windows Server 2022、Windows Server 2019

健全狀況服務 會持續監視您的 儲存空間直接存取 叢集,以偵測問題併產生「錯誤」。一個 Cmdlet 會顯示任何目前的錯誤,可讓您輕鬆地驗證部署的健康情況,而不需要查看每個實體或功能。 「錯誤」是以精確、容易理解,及可採取動作為設計目標。

每個「錯誤」都包含五個重要欄位︰

  • 嚴重性
  • 問題描述
  • 解決問題的建議後續步驟
  • 錯誤實體的識別資訊
  • 它的實體位置 (若可用)

例如,以下是一個典型的錯誤︰

Severity: MINOR
Reason: Connectivity has been lost to the physical disk.
Recommendation: Check that the physical disk is working and properly connected.
Part: Manufacturer Contoso, Model XYZ9000, Serial 123456789
Location: Seattle DC, Rack B07, Node 4, Slot 11

注意

實體位置是衍伸自您的容錯網域組態。 如需容錯網域的詳細資訊,請參閱 容錯網域感知。 如果您未提供這項資訊,位置欄位就不太有用。 例如,它只能顯示位置號碼。

根本原因分析

健全狀況服務 可以評估錯誤實體之間潛在的因果關係,以識別並結合相同基礎問題所造成的錯誤。 藉由辨識相關聯的影響,可以讓報告較為簡潔。 例如,如果伺服器已關閉,則預期伺服器內的任何磁碟驅動器也未連線。 因此,只會針對根本原因引發一個「錯誤」- 在此案例為該伺服器。

PowerShell 中的使用方式

若要查看 PowerShell 中的任何目前錯誤,請執行下列 Cmdlet:

Get-HealthFault

這會傳回任何影響整體 儲存空間直接存取 叢集的錯誤。 在大多數情況下,這些錯誤是與硬體或組態有關。 如果沒有錯誤,Cmdlet 不會傳回任何內容。

注意

在非生產環境中,而且有您自己的風險,您可以自行觸發錯誤來實驗這項功能。 例如,您可以藉由移除一個實體磁碟或關閉一個節點來執行此動作。 出現錯誤之後,請重新插入實體磁碟或重新啟動節點,讓錯誤消失。

在 .NET 和 C# 中的使用方式

本節說明如何連線到 健全狀況服務、使用探索物件,以及執行錯誤查詢。

連線

若要查詢 健全狀況服務,您可以使用叢集建立 CimSession。 若要這樣做,您需要一些只有完整Microsoft .NET 提供的專案,這表示您無法直接從 Web 或行動應用程式執行這項操作。 本節中的程式代碼範例會使用 C#,這是此數據存取層最直接的選擇。

using System.Security;
using Microsoft.Management.Infrastructure;

public CimSession Connect(string Domain = "...", string Computer = "...", string Username = "...", string Password = "...")
{
    SecureString PasswordSecureString = new SecureString();
    foreach (char c in Password)
    {
        PasswordSecureString.AppendChar(c);
    }

    CimCredential Credentials = new CimCredential(
        PasswordAuthenticationMechanism.Default, Domain, Username, PasswordSecureString);
    WSManSessionOptions SessionOptions = new WSManSessionOptions();
    SessionOptions.AddDestinationCredentials(Credentials);
    Session = CimSession.Create(Computer, SessionOptions);
    return Session;
}

提供的使用者名稱應該是目標計算機的本機系統管理員。

建議您直接從使用者輸入即時建構 Password SecureString ,讓密碼永遠不會以純文本儲存在記憶體中。 這有助於減輕各種安全性疑慮。 但在實務上,為了進行原型設計,如上所述建構很常見。

探索物件

建立 CimSession 後,您可以在叢集上查詢 Windows Management Instrumentation (WMI)。

您必須先取得數個相關對象的實例,才能取得錯誤或計量。 首先,取得代表叢集上 儲存空間直接存取 的MSFT_StorageSubSystem。 使用此方式,您可以取得叢集中的每個 MSFT_StorageNode ,以及數據磁碟區的每個 MSFT_Volume 。 最後,您需要取得MSCluster_ClusterHealthService,健全狀況服務 本身。

CimInstance Cluster;
List<CimInstance> Nodes;
List<CimInstance> Volumes;
CimInstance HealthService;

public void DiscoverObjects(CimSession Session)
{
    // Get MSFT_StorageSubSystem for Storage Spaces Direct
    Cluster = Session.QueryInstances(@"root\microsoft\windows\storage", "WQL", "SELECT * FROM MSFT_StorageSubSystem")
        .First(Instance => (Instance.CimInstanceProperties["FriendlyName"].Value.ToString()).Contains("Cluster"));

    // Get MSFT_StorageNode for each cluster node
    Nodes = Session.EnumerateAssociatedInstances(Cluster.CimSystemProperties.Namespace,
        Cluster, "MSFT_StorageSubSystemToStorageNode", null, "StorageSubSystem", "StorageNode").ToList();

    // Get MSFT_Volumes for each data volume
    Volumes = Session.EnumerateAssociatedInstances(Cluster.CimSystemProperties.Namespace,
        Cluster, "MSFT_StorageSubSystemToVolume", null, "StorageSubSystem", "Volume").ToList();

    // Get MSFT_StorageHealth itself
    HealthService = Session.EnumerateAssociatedInstances(Cluster.CimSystemProperties.Namespace,
        Cluster, "MSFT_StorageSubSystemToStorageHealth", null, "StorageSubSystem", "StorageHealth").First();
}

這些是您在 PowerShell 中使用如 Get-StorageSubSystemGet-StorageNodeGet-Volume 等 Cmdlet 取得的相同物件。

您可以存取所有相同屬性,如存放管理 API 類別所述。

using System.Diagnostics;

foreach (CimInstance Node in Nodes)
{
    // For illustration, write each node's Name to the console. You could also write State (up/down), or anything else!
    Debug.WriteLine("Discovered Node " + Node.CimInstanceProperties["Name"].Value.ToString());
}

查詢錯誤

用診斷 以取得範圍設定為目標 CimInstance 的任何目前錯誤,它可以是叢集或任何磁碟區。

Windows Server 2019 中每個範圍可用的錯誤完整清單記載於涵蓋範圍一節稍後。

public void GetFaults(CimSession Session, CimInstance Target)
{
    // Set Parameters (None)
    CimMethodParametersCollection FaultsParams = new CimMethodParametersCollection();
    // Invoke API
    CimMethodResult Result = Session.InvokeMethod(Target, "Diagnose", FaultsParams);
    IEnumerable<CimInstance> DiagnoseResults = (IEnumerable<CimInstance>)Result.OutParameters["DiagnoseResults"].Value;
    // Unpack
    if (DiagnoseResults != null)
    {
        foreach (CimInstance DiagnoseResult in DiagnoseResults)
        {
            // TODO: Whatever you want!
        }
    }
}

選擇性:MyFault 類別

建構及保存您自己的錯誤表示法可能很合理。 例如, MyFault 類別會儲存數個錯誤的主要屬性,包括 FaultId,以便稍後用來建立更新、移除通知或重複資料刪除,並在偵測到相同錯誤多次時重複數據刪除。

public class MyFault {
    public String FaultId { get; set; }
    public String Reason { get; set; }
    public String Severity { get; set; }
    public String Description { get; set; }
    public String Location { get; set; }

    // Constructor
    public MyFault(CimInstance DiagnoseResult)
    {
        CimKeyedCollection<CimProperty> Properties = DiagnoseResult.CimInstanceProperties;
        FaultId     = Properties["FaultId"                  ].Value.ToString();
        Reason      = Properties["Reason"                   ].Value.ToString();
        Severity    = Properties["PerceivedSeverity"        ].Value.ToString();
        Description = Properties["FaultingObjectDescription"].Value.ToString();
        Location    = Properties["FaultingObjectLocation"   ].Value.ToString();
    }
}
List<MyFault> Faults = new List<MyFault>;

foreach (CimInstance DiagnoseResult in DiagnoseResults)
{
    Faults.Add(new Fault(DiagnoseResult));
}

每個錯誤中屬性的完整清單 (DiagnoseResult) 稍後會記載於 Fault 屬性 一節中。

錯誤事件

建立、移除或更新錯誤時,健全狀況服務 會產生 WMI 事件。 這些是讓應用程式狀態保持同步而不頻繁輪詢的必要條件,並可協助判斷何時要傳送電子郵件警示等事項。 若要訂閱這些事件,下列範例程式代碼會使用觀察者設計模式。

請先訂閱 MSFT_StorageFaultEvent 事件。

public void ListenForFaultEvents()
{
    IObservable<CimSubscriptionResult> Events = Session.SubscribeAsync(
        @"root\microsoft\windows\storage", "WQL", "SELECT * FROM MSFT_StorageFaultEvent");
    // Subscribe the Observer
    FaultsObserver<CimSubscriptionResult> Observer = new FaultsObserver<CimSubscriptionResult>(this);
    IDisposable Disposeable = Events.Subscribe(Observer);
}

接下來,實作在產生新事件時叫用 OnNext() 方法的 Observer

每個事件都包含 ChangeType ,指出是否已建立、移除或更新錯誤,以及相關的 FaultId

此外,每個事件都包含錯誤本身的所有屬性。

class FaultsObserver : IObserver
{
    public void OnNext(T Event)
    {
        // Cast
        CimSubscriptionResult SubscriptionResult = Event as CimSubscriptionResult;

        if (SubscriptionResult != null)
        {
            // Unpack
            CimKeyedCollection<CimProperty> Properties = SubscriptionResult.Instance.CimInstanceProperties;
            String ChangeType = Properties["ChangeType"].Value.ToString();
            String FaultId = Properties["FaultId"].Value.ToString();

            // Create
            if (ChangeType == "0")
            {
                Fault MyNewFault = new MyFault(SubscriptionResult.Instance);
                // TODO: Whatever you want!
            }
            // Remove
            if (ChangeType == "1")
            {
                // TODO: Use FaultId to find and delete whatever representation you have...
            }
            // Update
            if (ChangeType == "2")
            {
                // TODO: Use FaultId to find and modify whatever representation you have...
            }
        }
    }
    public void OnError(Exception e)
    {
        // Handle Exceptions
    }
    public void OnCompleted()
    {
        // Nothing
    }
}

瞭解錯誤生命週期

錯誤不打算標示為「已看到」或由用戶解決。 它們會在 健全狀況服務 觀察到問題時建立,而且只有在 健全狀況服務 無法再觀察問題之後,才會自動移除它們。 一般而言,這反映已修正問題。

不過,在某些情況下,健全狀況服務 可能會重新探索錯誤,例如故障轉移之後、間歇性連線等等。 基於這個理由,保存您自己的錯誤表示法可能很合理,因此您可以輕鬆地重複數據刪除。 如果您傳送電子郵件警示或對等專案,這特別重要。

錯誤屬性

下表提供錯誤對象的數個主要屬性。 如需完整的結構描述,請查看 storagewmi.mof 中的 MSFT_StorageDiagnoseResult 類別。

屬性 範例
FaultId {12345-12345-12345-12345-12345}
FaultType Microsoft.Health.FaultType.Volume.Capacity
原因 「磁碟區的可用空間不足。」
PerceivedSeverity 5
FaultingObjectDescription Contoso XYZ9000 S.N. 123456789
FaultingObjectLocation 機架 A06、RU 25、插槽 11
RecommendedActions {"展開磁碟區。"、"將工作負載移轉至其他磁碟區。"}

FaultId:一個叢集範圍內的唯一標識符。

PerceivedSeverity: PerceivedSeverity = { 4, 5, 6 } = { “Informational”, “Warning” 和 “Error” },或相等的色彩,例如藍色、黃色和紅色。

FaultingObjectDescription:硬體的元件資訊,通常為軟體物件的空白。

FaultingObjectLocation:硬體的位置資訊,通常為軟體物件的空白。

RecommendedActions:獨立且沒有特定順序的建議動作清單。 目前這份清單的長度經常為 1。

Fault 事件屬性

下表顯示錯誤事件的數個主要屬性。 如需完整的結構描述,請查看 storagewmi.mof 中的 MSFT_StorageFaultEvent 類別。

請注意 ChangeType,指出是否正在建立、移除或更新錯誤,以及 FaultId。 事件也包含受影響錯誤的所有屬性。

屬性 範例
ChangeType 0
FaultId {12345-12345-12345-12345-12345}
FaultType Microsoft.Health.FaultType.Volume.Capacity
原因 「磁碟區的可用空間不足。」
PerceivedSeverity 5
FaultingObjectDescription Contoso XYZ9000 S.N. 123456789
FaultingObjectLocation 機架 A06、RU 25、插槽 11
RecommendedActions {"展開磁碟區。"、"將工作負載移轉至其他磁碟區。"}

ChangeType ChangeType = { 0, 1, 2 } = { "建立"、"移除"、"更新" }。

涵蓋範圍

在 Windows Server 2019 和 Azure 本機中,健全狀況服務 提供下列錯誤涵蓋範圍:

PhysicalDisk (31)

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailedMedia

  • 嚴重性: 警告
  • 原因:"實體磁碟出現錯誤。"
  • RecommendedAction:"取代實體磁碟。"

FaultType: Microsoft.Health.FaultType.PhysicalDisk.LostCommunication

  • 嚴重性: 警告
  • 原因:"實體磁碟的連線已中斷。"
  • RecommendedAction:"檢查實體磁碟是否正常運作與連接。"

FaultType: Microsoft.Health.FaultType.PhysicalDisk.Unresponsive

  • 嚴重性: 警告
  • 原因:"實體磁碟定期出現沒有反應的情況。"
  • RecommendedAction:"取代實體磁碟。"

FaultType: Microsoft.Health.FaultType.PhysicalDisk.PredictiveFailure

  • 嚴重性: 警告
  • 原因:"實體磁碟預計很快就會故障。"
  • RecommendedAction:"取代實體磁碟。"

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnsupportedHardware

  • 嚴重性: 警告
  • 原因:"實體因您的解決方案廠商不支援而遭到隔離。"
  • RecommendedAction:"使用支援的硬體更換實體磁碟。"

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnsupportedFirmware

  • 嚴重性: 警告
  • 原因:"實體磁碟因您的解決方案廠商不支援其韌體版本而處於隔離狀態。"
  • RecommendedAction:"將實體磁碟上的韌體更新至目標版本。"

FaultType: Microsoft.Health.FaultType.PhysicalDisk.UnrecognizedMetadata

  • 嚴重性: 警告
  • 原因:"實體磁碟有無法辨識的中繼資料。"
  • RecommendedAction:"此磁碟可能包含未知存放集區的資料。請先確定此磁碟上沒有有用的資料,然後重設磁碟。"

FaultType: Microsoft.Health.FaultType.PhysicalDisk.FailedFirmwareUpdate

  • 嚴重性: 警告
  • 原因:"嘗試更新實體磁碟上的韌體失敗。"
  • RecommendedAction:"嘗試使用不同的韌體二進位。"

FaultType:Microsoft.Health.FaultType.PhysicalDisk.SblFailedMedia

  • 嚴重性: 警告
  • 原因: 「磁碟驅動器失敗。
  • RecommendedAction: “取代磁碟驅動器”。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.SblUnresponsive

  • 嚴重性: 警告
  • 原因:"實體磁碟定期出現沒有反應的情況。"
  • RecommendedAction:"取代實體磁碟。"

FaultType:Microsoft.Health.FaultType.PhysicalDisk.FailureBadBlock

  • 嚴重性: 警告
  • 原因: 「磁碟驅動器在寫入期間回報不正確的區塊。偶爾壞塊是正常的,但太多可能意味著磁碟驅動器故障,損壞,或開始故障。
  • RecommendedAction: “如果這種情況持續發生,或您觀察到效能降低,請考慮取代磁碟驅動器。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.FailureBadBlockRead

  • 嚴重性: 警告
  • 原因: 「磁碟驅動器在讀取期間回報了錯誤的區塊。偶爾壞塊是正常的,但太多可能意味著磁碟驅動器故障,損壞,或開始故障。
  • RecommendedAction: “如果這種情況持續發生,或您觀察到效能降低,請考慮取代磁碟驅動器。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.FailureIoRetry

  • 嚴重性: 警告
  • 原因:「 磁碟驅動器需要多次嘗試讀取或寫入。如果這種情況持續發生,這可能表示磁碟驅動器故障、損壞或開始故障。
  • RecommendedAction: “如果這種情況持續發生,或您觀察到效能降低,請考慮取代磁碟驅動器。

注意

預設會停用此錯誤。 若要啟用它,請將Health設定 System.Storage.PhysicalDisk.MarginalFailure.EventBased.IoRetry.Enabled 設定為 true

FaultType:Microsoft.Health.FaultType.PhysicalDisk.FailureIoFailure

  • 嚴重性: 警告
  • 原因:「 磁碟驅動器無法讀取或寫入。如果這種情況持續發生,這可能表示磁碟驅動器故障、損壞或開始故障。
  • RecommendedAction: “如果這種情況持續發生,或您觀察到效能降低,請考慮取代磁碟驅動器。

注意

預設會停用此錯誤。 若要啟用它,請將 [System.Storage.PhysicalDisk.MarginalFailure.EventBased.IoFailure.Enabled] 設定為 true

FaultType:Microsoft.Health.FaultType.PhysicalDisk.FailureSmart

  • 嚴重性: 警告
  • 原因: 「磁碟驅動器使用SMART向 Windows 回報下列潛在問題(自我監視、分析和報告技術)
  • RecommendedAction: “如果這種情況持續發生,或您觀察到效能降低,請考慮取代磁碟驅動器。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.FailureHighWear

  • 嚴重性: 警告
  • 原因: 「磁碟驅動器已達到其評分寫入耐力的高百分比。當磁碟驅動器達到 100% 的評分耐力時,磁碟驅動器可能會變成只讀,這表示它無法再執行任何寫入。請檢查數據工作表,或要求製造商取得耐力分級和生命周期結束行為的詳細數據。
  • RecommendedAction: “如果這種情況持續發生,或您觀察到效能降低,請考慮取代磁碟驅動器。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.FailureReadOnly

  • 嚴重性: 警告
  • 原因: 「磁碟驅動器達到其評分寫入耐力的 100%,現在是只讀的,這表示它無法再執行任何寫入。固態硬碟在一定數目的寫入後會磨損,這會根據磁碟驅動器的耐力分級而有所不同。如需詳細資訊,請檢查磁碟驅動器規格,或詢問製造商關於耐力分級和生命週期結束行為。
  • RecommendedAction: “如果這種情況持續發生,或您觀察到效能降低,請考慮取代磁碟驅動器。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.HighLatency.SlowestIO

  • 嚴重性: 警告
  • 原因:「 磁碟驅動器有高尖峰延遲。」
  • RecommendedAction:「 監視磁碟驅動器的效能,並考慮取代磁碟驅動器」。

注意

預設會停用此錯誤。 若要啟用它,請將 [System.Storage.PhysicalDisk.HighLatency.Threshold.Tail.Enabled] 設定為 true

FaultType:Microsoft.Health.FaultType.PhysicalDisk.HighLatency.AverageIO

  • 嚴重性: 警告
  • 原因: 「磁碟驅動器的平均延遲很高。
  • RecommendedAction:「 監視磁碟驅動器的效能,並考慮取代磁碟驅動器」。

注意

預設會停用此錯誤。 若要啟用它,請將 [System.Storage.PhysicalDisk.HighLatency.Threshold.Tail.Enabled] 設定為 true

FaultType:Microsoft.Health.FaultType.PhysicalDisk.HighLatency.Outlier.AverageIO

  • 嚴重性: 警告
  • 原因: 「磁碟驅動器的平均延遲很高。
  • RecommendedAction:「 監視磁碟驅動器的效能,並考慮取代磁碟驅動器」。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.HighLatency.Outlier.SlowestIO

  • 嚴重性: 警告
  • 原因:「 磁碟驅動器有高尖峰延遲。」
  • RecommendedAction:「 監視磁碟驅動器的效能,並考慮取代磁碟驅動器」。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.HighErrorCount.AverageIO

  • 嚴重性: 警告
  • 原因:「 磁碟驅動器有大量的錯誤。」
  • RecommendedAction:「 監視磁碟驅動器的效能,並考慮取代磁碟驅動器」。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.HighErrorCount.Outlier.AverageIO

  • 嚴重性: 警告
  • 原因:「 磁碟驅動器有大量的錯誤。」
  • RecommendedAction:「 監視磁碟驅動器的效能,並考慮取代磁碟驅動器」。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.CacheReadOnly

  • 嚴重性: 警告
  • 原因:「 快取磁碟驅動器失敗了一些讀取或寫入,因此為了保護您的數據,我們已將它移至容量磁碟驅動器。
  • RecommendedAction:「 取代磁碟驅動器或嘗試清除並重設磁碟驅動器」。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.CacheReadOnly.Draining

  • 嚴重性: 警告
  • 原因:「 快取磁碟驅動器失敗了一些讀取或寫入。為了保護您的數據,我們已停止寫入快取磁碟驅動器,並嘗試將其數據移至容量磁碟驅動器。
  • RecommendedAction: “當我們移動數據時停止回應。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.CacheReadOnly.FailedDrain

  • 嚴重性: 警告
  • 原因:「 快取磁碟驅動器上的某些數據無法讀取,因此無法將它移至容量磁碟驅動器。
  • RecommendedAction: “取代磁碟驅動器”。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.SedEncKey.RotationFailure

  • 嚴重性: 警告
  • 原因:「 嘗試將 SED 加密金鑰輪替為新的預設值失敗。」
  • RecommendedAction:「 檢查磁碟驅動器是否正常運作並正常連線。如果磁碟驅動器失敗,請加以取代。一旦磁碟驅動器狀況良好,請重新啟動 SED 加密金鑰輪替。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.SedEncKey.NotDefault

  • 嚴重性: 警告
  • 原因: 「實體磁碟具有 SED 加密金鑰,但不符合目前的預設密鑰。
  • RecommendedAction:「 起始 SED 加密密鑰輪替」。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.SedEncKey.NotDefined

  • 嚴重性: 警告
  • 原因:「 磁碟驅動器沒有已定義的預設 SED 加密金鑰。」
  • RecommendedAction:「 設定預設 SED 加密金鑰」。

FaultType:Microsoft.Health.FaultType.StorageScaleUnit.SedEncKey.RotationTimeout

  • 嚴重性: 警告
  • 原因: 「在逾時之前無法完成伺服器上的 SED 加密金鑰輪替」
  • RecommendedAction: “請確定伺服器可連線,且所有實體磁碟都狀況良好。

FaultType:Microsoft.Health.FaultType.PhysicalDisk.DriveArriveFailure

  • 嚴重性: 警告
  • 原因:「 實體磁碟失敗的查詢。"
  • RecommendedAction:「 請驗證網路可靠性。如果問題持續發生,請考慮取代裝置。」

虛擬磁碟 (3)

FaultType: Microsoft.Health.FaultType.VirtualDisks.NeedsRepair

  • 嚴重性:告知性
  • 原因:"此磁碟上的部分資料未完全復原。它仍可存取。"
  • RecommendedAction:"恢復資料的復原能力。"

FaultType: Microsoft.Health.FaultType.VirtualDisks.Detached

  • 嚴重性:重大
  • 原因:"無法存取磁碟區。某些資料可能遺失。"
  • RecommendedAction:"檢查所有儲存裝置的實體和/或網路連線能力。您可能需要從備份還原。"

FaultType:Microsoft.Health.FaultType.VirtualDisks.NoRedundancy

  • 嚴重性:重大
  • 原因:「 虛擬磁碟區域無法使用所有數據復本。工作負載可能會中斷,而且可能會觀察到 IO 失敗。
  • RecommendedAction:「 如果維護作業正在進行中,請暫停它並還原所有記憶體的存取權,直到記憶體穩定為止。

集區容量 (2)

FaultType:Microsoft.Health.FaultType.StoragePool.TransactionAndCleanupFailure

  • 嚴重性: 警告
  • 原因:「 存放集區無法寫入元數據裝置的仲裁。工作負載可能會中斷,而且可能會觀察到 IO 失敗。
  • RecommendedAction:「 如果維護作業正在進行中,請暫停它並還原所有記憶體的存取權,直到記憶體穩定為止。

FaultType:Microsoft.Health.FaultType.StoragePool.PoolCapacityThresholdExceeded

  • 嚴重性: 警告
  • 原因:「 存放集區用盡容量。」
  • RecommendedAction:「 將額外的容量新增至存放集區,或釋出容量」。

磁碟區容量 (5)1

FaultType: Microsoft.Health.FaultType.Volume.Capacity

  • 嚴重性: 警告
  • 原因:"磁碟區的可用空間不足。"
  • RecommendedAction:"擴展磁碟區或將工作負載移轉至其他磁碟區。"

FaultType:Microsoft.Health.FaultType.Volume.FileSystem.Corruption.Correctable

  • 嚴重性: 警告
  • 原因: 「文件系統偵測到總和檢查碼錯誤並能夠更正它。
  • RecommendedAction:「 從工作排程器起始數據完整性掃描,記憶體可能會很糟糕。如果發生更新或維護作業,請立即停止。您可能需要從備份還原。」

FaultType:Microsoft.Health.FaultType.Volume.FileSystem.Corruption.Uncorrectable

  • 嚴重性: 警告
  • 原因: 「文件系統偵測到總和檢查碼錯誤,但無法更正它。
  • RecommendedAction:「 從工作排程器起始數據完整性掃描,記憶體可能會很糟糕。如果發生更新或維護作業,請立即停止。您可能需要從備份還原。」

FaultType:Microsoft.Health.FaultType.Volume.FileSystem.Corruption.Uncorrectable.DataRemoved

  • 嚴重性: 警告
  • 原因:「 檔案系統偵測到檔案或資料夾上的損毀。檔案或資料夾已從檔案系統命名空間中移除。
  • RecommendedAction:「 從工作排程器起始數據完整性掃描,記憶體可能會很糟糕。如果發生更新或維護作業,請立即停止。您可能需要從備份還原。」

FaultType:Microsoft.Health.FaultType.Volume.FileSystem.Corruption.Uncorrectable.DataRemovalFailure

  • 嚴重性: 警告
  • 原因:「 檔案系統偵測到檔案或資料夾上的損毀。檔案系統可能無法從檔案系統命名空間中移除它。
  • RecommendedAction:「 從工作排程器起始數據完整性掃描,記憶體可能會很糟糕。如果發生更新或維護作業,請立即停止。您可能需要從備份還原。」

伺服器 (12)

FaultType: Microsoft.Health.FaultType.Server.Down

  • 嚴重性:重大
  • 原因:"無法連線到伺服器。"
  • RecommendedAction:"啟動或更換伺服器。"

FaultType: Microsoft.Health.FaultType.Server.Isolated

  • 嚴重性:重大
  • 原因:"伺服器因連線能力問題而與叢集隔離。"
  • RecommendedAction:"如果持續隔離,請檢查網路或將工作負載移轉至其他節點。"

FaultType: Microsoft.Health.FaultType.Server.Quarantined

  • 嚴重性:重大
  • 原因:"伺服器因反覆故障而遭到叢集隔離。"
  • RecommendedAction:"請更換伺服器或修正網路。"

FaultType:Microsoft.Health.FaultType.Server.Temperature

  • 嚴重性: 警告
  • 原因: 「伺服器溫度感測器已引發警告。
  • RecommendedAction:「 檢查伺服器溫度」。

FaultType:Microsoft.Health.FaultType.Server.Storage.Degraded

  • 嚴重性: 警告
  • 原因: 「伺服器具有尚未完成或最新狀態的記憶體,因此我們需要將其與叢集中其他伺服器的數據同步處理。伺服器重新啟動或磁碟驅動器失敗后,這是正常的。
  • RecommendedAction: “當我們同步處理記憶體時停止回應。在我們確認同步完成之前,請勿移除任何磁碟驅動器或重新啟動叢集中的任何伺服器。

FaultType:Microsoft.Health.FaultType.Node.CPUOverloaded

  • 嚴重性: 警告
  • 原因:「 伺服器的CPU使用率一致超過臨界值。」
  • RecommendedAction:「 將虛擬機移至其他 CPU 使用量較低的伺服器,或考慮將額外的計算容量新增至叢集(通常是藉由新增伺服器)。

FaultType:Microsoft.Health.FaultType.Node.VCPUToLCPU

  • 嚴重性: 警告
  • 原因:「 此伺服器上的虛擬處理器與邏輯處理器(線程)的比例已超過您設定的臨界值。
  • RecommendedAction:「 將虛擬機移至另一部 CPU 使用量較低的伺服器,或考慮將額外的計算容量新增至叢集」。

FaultType:Microsoft.Health.FaultType.Node.LowFreeRam

  • 嚴重性: 警告
  • 原因:「 可用的記憶體低於您設定的臨界值。」
  • RecommendedAction:「 將虛擬機移至另一部 CPU 使用量較低的伺服器,或考慮將額外的計算容量新增至叢集」。

FaultType:Microsoft.Health.FaultType.Node.HighRootPartitionMemoryUsage

  • 嚴重性: 警告
  • 原因:「 Windows Server 耗用大量物理記憶體,超過您設定的臨界值。」
  • RecommendedAction:「 檢查取用太多記憶體的進程或應用程式、將虛擬機移至其他伺服器,或將記憶體新增至伺服器」。

FaultType:Microsoft.Health.FaultType.Node.TooHighCpuReservation

  • 嚴重性: 警告
  • 原因:「 此伺服器上虛擬機的合併CPU保留超過您設定的臨界值。」
  • RecommendedAction: “請考慮移動虛擬機或減少其 CPU 保留。

FaultType:Microsoft.Health.FaultType.Node.TooHighMemoryUseAfterReclamation

  • 嚴重性: 警告
  • 原因:「 此伺服器上虛擬機的合併記憶體指派超過您設定的臨界值。」
  • RecommendedAction: “請考慮移動虛擬機或減少其指派的記憶體。

FaultType:Microsoft.Health.FaultType.Node.SustainedHighCpuUsage

  • 嚴重性: 警告
  • 原因:「 伺服器 CPU 使用量一直超過閾值。」
  • RecommendedAction:「 將虛擬機移至另一部 CPU 使用量較低的伺服器,或考慮新增更多計算容量」。

叢集 (6)

FaultType: Microsoft.Health.FaultType.ClusterQuorumWitness.Error

  • 嚴重性:重大
  • 原因:"叢集再有一個伺服器故障就會關機。"
  • RecommendedAction:"請檢查見證資源,並視需要重新啟動。啟動或更換故障的伺服器。"

FaultType:Microsoft.Health.FaultType.Cluster.ValidationReport.Failed

  • 嚴重性:重大
  • 原因:「 叢集驗證發現問題」。
  • RecommendedAction:「 叢集驗證在某些類別的測試中發現失敗。請參閱叢集驗證報告。」

FaultType:Microsoft.Health.FaultType.Cluster.ValidationReportDcb.Failed

  • 嚴重性:重大
  • 原因: “Validate-DCB 發現問題。
  • RecommendedAction:「 Validate-DCB 已找到網路錯誤。請參閱DCB驗證報告。」

FaultType:Microsoft.Health.FaultType.Cluster.TooHighCpuReservation

  • 嚴重性:重大
  • 原因:「 此伺服器上虛擬機的合併CPU保留超過您設定的臨界值。」
  • RecommendedAction: “請考慮移動虛擬機或減少其 CPU 保留。

FaultType:Microsoft.Health.FaultType.Cluster.TooHighMemoryUseAfterReclamation

  • 嚴重性:重大
  • 原因:「 此伺服器上虛擬機的合併記憶體指派超過您設定的臨界值。」
  • RecommendedAction: “請考慮移動虛擬機或減少其指派的記憶體。

FaultType:Microsoft.Health.FaultType.Cluster.SustainedHighCpuUsage

  • 嚴重性:重大
  • 原因:「 伺服器 CPU 使用量一直超過閾值。」
  • RecommendedAction:「 將虛擬機移至另一部 CPU 使用量較低的伺服器,或考慮新增更多計算容量」。

網路配接器/介面 (6)

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Disconnected

  • 嚴重性: 警告
  • 原因:"網路介面已中斷連線。"
  • RecommendedAction:"重新連接網路線。"

FaultType: Microsoft.Health.FaultType.NetworkInterface.Missing

  • 嚴重性: 警告
  • 原因:"伺服器 {server} 連線到叢集網路 {cluster network} 的網路介面卡遺失。"
  • RecommendedAction:"請將伺服器連線至遺失的叢集網路。"

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Hardware

  • 嚴重性: 警告
  • 原因:"網路介面發生硬體故障。"
  • RecommendedAction:"請更換網路介面卡。"

FaultType: Microsoft.Health.FaultType.NetworkAdapter.Disabled

  • 嚴重性: 警告
  • 原因:"尚未啟用且未使用網路介面 {network interface}。"
  • RecommendedAction:"啟用網路介面。"

FaultType:Microsoft.Health.FaultType.StorageSubsystem.RDMA.Alert

  • 嚴重性: 警告
  • 原因:「叢集偵測到防止 儲存空間直接存取 正常運作的網路連線問題。
  • RecommendedAction:「 確認您的網路已正確設定並運作。如果您使用 RDMA Over Converged Ethernet (RoCE),請確認數據中心橋接 (DCB)、增強傳輸服務 (ETS) 和優先順序流程控制 (PFC) 已正確且一致地在每個叢集節點和實體交換器上設定。如果您不知道如何這樣做,請詢問您的廠商或您信任的人來協助您。

FaultType:Microsoft.Health.FaultType.StorageSubsystem.RDMA.Disabled

  • 嚴重性: 警告
  • 原因:「叢集偵測到網路連線問題,導致 儲存空間直接存取 無法正常運作。為了確保一致的效能和數據安全性,儲存空間直接存取 已停止使用遠端直接記憶體存取 (RDMA),即使支援 RDMA 的硬體存在且已啟用也一樣。記憶體流量會繼續流動,但使用 TCP/IP 的效能降低。
  • RecommendedAction:「 確認您的網路已正確設定並運作,然後重新開啟 RDMA。如果您使用 RDMA Over Converged Ethernet (RoCE),請確認數據中心橋接 (DCB)、增強傳輸服務 (ETS) 和優先順序流程控制 (PFC) 已正確且一致地在每個叢集節點和實體交換器上設定。如果您不知道如何執行這項操作,請詢問您的廠商或您信任的人以協助您。若要繼續關閉 RDMA,您可以關閉此警示。

機箱 (6)

FaultType: Microsoft.Health.FaultType.StorageEnclosure.LostCommunication

  • 嚴重性: 警告
  • 原因:"存放裝置機箱已中斷通訊。"
  • RecommendedAction:"啟動或更換存放裝置機箱。"

FaultType: Microsoft.Health.FaultType.StorageEnclosure.FanError

  • 嚴重性: 警告
  • 原因:"在存放裝置機箱位置 {position} 的風扇故障。"
  • RecommendedAction:"更換存放裝置機箱中的風扇。"

FaultType: Microsoft.Health.FaultType.StorageEnclosure.CurrentSensorError

  • 嚴重性: 警告
  • 原因:"在存放裝置機箱位置 {position} 的電流感應器故障。"
  • RecommendedAction:"更換存放裝置機箱中的電流感應器。"

FaultType: Microsoft.Health.FaultType.StorageEnclosure.VoltageSensorError

  • 嚴重性: 警告
  • 原因:"在存放裝置機箱位置 {position} 的電壓感應器故障。"
  • RecommendedAction:"更換存放裝置機箱中的電壓感應器。"

FaultType: Microsoft.Health.FaultType.StorageEnclosure.IoControllerError

  • 嚴重性: 警告
  • 原因:"在存放裝置機箱位置 {position} 的 IO 控制器故障。"
  • RecommendedAction:"更換在存放裝置機箱中的 IO 控制器。"

FaultType: Microsoft.Health.FaultType.StorageEnclosure.TemperatureSensorError

  • 嚴重性: 警告
  • 原因:"在存放裝置機箱位置 {position} 的溫度感應器故障。"
  • RecommendedAction:"更換存放裝置機箱中的溫度感應器。"

韌體推出 (3)

FaultType: Microsoft.Health.FaultType.FaultDomain.FailedMaintenanceMode

  • 嚴重性: 警告
  • 原因:"目前無法在執行韌體推出時取得進展。"
  • RecommendedAction:"驗證所有儲存空間全都狀況良好,且目前無容錯網域在維護模式下。"

FaultType:Microsoft.Health.FaultType.FaultDomain.FirmwareVerifyVersionFailed

  • 嚴重性: 警告
  • 原因:"韌體推出因在套用韌體更新後無法讀取或未預期的韌體版本資訊而遭到取消。"
  • RecommendedAction:"在解決韌體問題後重新啟動韌體推出。"

FaultType: Microsoft.Health.FaultType.FaultDomain.TooManyFailedUpdates

  • 嚴重性: 警告
  • 原因:"韌體推出因過多實體磁碟嘗試韌體更新失敗而遭到取消。"
  • RecommendedAction:"在解決韌體問題後重新啟動韌體推出。"

存放裝置 QoS (3)2

FaultType: Microsoft.Health.FaultType.StorQos.InsufficientThroughput

  • 嚴重性: 警告
  • 原因:"儲存體輸送量不足以滿足保留容量。"
  • RecommendedAction:"重新設定存放裝置 QoS 原則。"

FaultType: Microsoft.Health.FaultType.StorQos.LostCommunication

  • 嚴重性: 警告
  • 原因:"存放裝置 QoS 原則管理員已中斷與磁碟區的通訊。"
  • RecommendedAction:"請重新啟動節點 {nodes}"

FaultType: Microsoft.Health.FaultType.StorQos.MisconfiguredFlow

  • 嚴重性: 警告
  • 原因:"一個或更多儲存空間取用者 (通常是虛擬機器) 正在使用不存在的原則,ID 為 {id}。"
  • RecommendedAction:"重新建立任何遺失的存放裝置 QoS 原則。"

VM/VHD (7)

FaultType:Microsoft.Health.FaultType.Vm.BadHealthState

  • 嚴重性: 警告
  • 原因:「 虛擬機健全狀況狀態無法確定」。
  • RecommendedAction: 「針對虛擬機進行疑難解答」。

FaultType:Microsoft.Health.FaultType.Vm.BadOperationalStatus

  • 嚴重性: 警告
  • 原因:「 虛擬機作業狀態無法確定」。
  • RecommendedAction: 「針對虛擬機進行疑難解答」。

FaultType:Microsoft.Health.FaultType.Vm.GuestUnhealthy

  • 嚴重性: 警告
  • 原因:「 虛擬機中的客體操作系統回報狀況不良。」
  • RecommendedAction: 「針對虛擬機進行疑難解答」。

FaultType:Microsoft.Health.FaultType.Vm.ConfigIsOffline

  • 嚴重性: 警告
  • 原因:「 虛擬機設定資源已離線,這表示無法管理虛擬機。」
  • RecommendedAction:「 讓虛擬機設定上線」。

FaultType:Microsoft.Health.FaultType.Vm.NotRespondingToControlCodes

  • 嚴重性: 警告
  • 原因:「 虛擬機未回應叢集控制程序代碼。」
  • RecommendedAction:「 檢查虛擬機叢集資源的狀態」。

FaultType:Microsoft.Health.FaultType.Vm.IsNearMemoryLimit

  • 嚴重性: 警告
  • 原因:「 虛擬機需要更多已設定的最大記憶體。」
  • RecommendedAction: “檢查耗用太多記憶體的進程或應用程式,或考慮增加其最大記憶體。

FaultType:Microsoft.Health.FaultType.Vhd.IsNearlyFull

  • 嚴重性: 警告
  • 原因: 「虛擬硬碟已達到其容量。無法再將數據寫入其中,這可能會對虛擬機造成負面影響。
  • RecommendedAction:「 調整虛擬硬碟大小或刪除垃圾檔案」。

1 表示磁碟區使用量已達到 80% (次要嚴重性) 或 90% (重大嚴重性)。 2 表示磁碟區上的一些 .vhd(s) 未達到超過 10% (次要)、30% (主要),或 50% (重大)的滾動 24 小時視窗的最小 IOPS。

注意

存儲設備機箱元件的健全狀況,例如風扇、電源供應器和感測器,衍生自 SCSI 機箱服務 (SES)。 如果您的廠商沒有提供這項資訊,「健全狀況服務」就無法顯示它。

其他參考