分享方式:


檢視健全狀況服務錯誤

適用於:Azure Stack HCI 版本 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;
}

所提供使用者名稱應為目標電腦的本機系統管理員。

建議以即時方式直接從使用者輸入來建構密碼 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)。

錯誤事件

建立、移除或更新錯誤時,健全狀況服務會產生 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() 方法。

每個事件都包含 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 Rack A06, RU 25, Slot 11 (機架 A06、RU 25、插槽 11)
RecommendedActions {"Expand the volume. (展開磁碟區。)", "Migrate workloads to other volumes. (將工作負載移轉到其他磁碟區。)"}

FaultId:一個叢集範圍內的唯一識別碼。

PerceivedSeverity:PerceivedSeverity = { 4, 5, 6 } = {「資訊」、「警告」和「錯誤」},或對等色彩 (例如藍色、黃色和紅色)。

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

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

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

錯誤事件屬性

下表提供錯誤事件的幾個主要屬性。 如需完整架構,請查看 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 Rack A06, RU 25, Slot 11 (機架 A06、RU 25、插槽 11)
RecommendedActions {"Expand the volume. (展開磁碟區。)", "Migrate workloads to other volumes. (將工作負載移轉到其他磁碟區。)"}

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

涵蓋範圍

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

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:「如果此問題持續發生或您觀察到效能降低,請考慮更換磁碟機」。

注意

預設會停用此錯誤。 若要加以啟用,請將健康狀態設定 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 (RoCE),請確認資料中心橋接 (DCB)、增強型傳輸服務 (ETS) 和優先順序流量控制 (PFC) 已在每個叢集節點和實體交換器上正確且一致地設定。如果您不知道如何執行這項操作,請向您的廠商或信任人員尋求協助」。

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

  • 嚴重性:警告
  • 原因:「叢集偵測到網路連線問題,導致儲存空間直接存取無法正常運作。為了確保一致的效能和資料安全,儲存空間直接存取已停止使用遠端直接記憶體存取 (RDMA),即使存在並啟用支援 RDMA 的硬體也一樣。儲存體流量會繼續流動,但使用 TCP/IP 時效能會降低」。
  • RecommendedAction:「確認您的網路已正確設定且正常運作,然後重新開啟 RDMA。如果您使用聚合式乙太網路上的 RDMA (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})」。
  • 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 連續 24 小時未達到超過 10% (次要)、30% (重大) 或 50% (嚴重) 的最小 IOPS。

注意

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

其他參考資料