PowerScale OneFS:故障診斷效能問題

Summary: 透過網路組態、處理負載和使用 InsightIQ 進行監控的全方位指南,故障診斷 PowerScale OneFS 效能緩慢的問題,以提升叢集效率。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

用戶端電腦執行緩慢。某些工作 (特別是在叢集上執行的工作) 會失敗,或需要花費比預期更長的時間來完成。

Cause

效能問題通常是因為網路流量、網路組態問題、用戶端或叢集處理負載,或這些問題的組合所造成。本文說明數種可針對效能問題進行故障診斷的有效方法。

Resolution

使用 InsightIQ 進行故障診斷

目錄:

  • 使用 Isilon InsightIQ
  • 在不使用 InsightIQ 的情況下進行故障診斷
  • 網路輸送量
  • 用戶端連線分配
  • 叢集輸送量
  • 叢集處理
  • 佇列作業
  • CPU

使用 Isilon InsightIQ

使用 Isilon InsightIQ 是監控效能和針對效能問題進行故障診斷的最佳方式。

Isilon InsightIQ 虛擬裝置可讓您使用 InsightIQ Web 型應用程式,彈性、可自訂的圖表檢視來監控和分析 Isilon Cluster 活動。這些圖表提供有關集群硬體、軟體以及文件系統和協定操作的詳細資訊。InsightIQ 可將資料轉換為強調任何效能離群值的視覺資訊,從而快速診斷瓶頸或最佳化工作流程。

如需有關使用 InsightIQ 的詳細資訊,請參閱 PowerScale InsightIQ - 資訊中心。 

在不使用 InsightIQ 的情況下進行故障診斷

如果您並未使用 InsightIQ,您可以執行各種命令來調查效能問題。針對效能問題進行故障診斷時,請先檢查網路和叢集的輸送量,再檢查叢集處理,最後檢查個別節點的 CPU 速率。

網路輸送量

使用網路測試工具,例如 Iperf 或 Iperf3 確定網路上群集和用戶端計算機的輸送量能力。

使用 Iperf使用 Iperf 在叢集和用戶端上執行下列命令。這些命令會定義一個視窗大小,足以顯示網路連結是否為延遲問題的潛在原因。

  • 叢集:
     iperf -s -w 262144
  • 用戶端: 
    iperf -c <cluster IP> -w 262144

在 Windows 10 1607 及更舊版本上使用 Iperf3使用 Iperf 在叢集和用戶端上執行下列命令。這些命令會定義一個視窗大小,足以顯示網路連結是否為延遲問題的潛在原因。

  • 叢集: 
    iperf3 -s -w 262144
  • 用戶端: 
    iperf3 -c <cluster IP> -w 262144


用戶端連線分配

檢查有多少 NFS 和 SMB 用戶端連線至叢集,確保不會偏向於其中一個節點。

  1. 在叢集的任何節點上開啟 SSH 連線,然後使用「root」帳戶登入。 root 帳戶
  2. 執行
    isi statistics query current list --nodes=all --keys=node.clientstats.connected.nfs,node.clientstats.active.nfs -d
     命令以檢查 NFS 用戶端。
    isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfs 輸出會顯示連接至每個節點的用戶端數量,以及每個節點上有多少個用戶端處於使用中狀態。
  3. 執行
     isi statistics query current list --keys=node.clientstats.connected.smb,node.clientstats.active.smb1,node.clientstats.active.smb2 -n all -d 
    isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfs
    輸出會顯示連接至每個節點的用戶端數量,以及每個節點上有多少個用戶端處於使用中狀態。

叢集輸送量

執行一些測試以評估叢集輸送量,測量從讀取和寫入檔案所需的時間。請執行至少一次寫入測試和讀取測試,如下所示。

  1. 在叢集的任何節點上開啟 SSH 連線,然後使用「root」帳戶登入。 root 帳戶
  2. 變更為 /ifs 目錄。 cd /ifs
  3. 從叢集上的命令行介面 (CLI),或從 UNIX 或 Linux 用戶端電腦,使用 dd 命令,將新檔案寫入叢集。
    執行下列命令: dd if=/dev/zero of=1GBfile bs=1024k count=1024
    此命令會建立一個範例 1GB 檔案,並報告將其寫入磁碟所花費的時間。
  4. 從這個命令的輸出結果,推斷在單一串流工作流程中,每秒可將多少 MB 寫入磁碟。
  5. 如果您有 Mac 用戶端,並想要進行進一步分析:
    1. 啟動「活動監視器」。
    2. 執行 cat /dev/zero > /pathToFile 命令,其中 pathToFile 是目標檔的檔案路徑。
      此命令有助於測量 Isilon 叢集上寫入作業的輸送量。(雖然可以在 Mac 用戶端上執行 dd 命令,但結果可能不一致。)
    3. 在「活動監視器」的網路標籤中監視命令的結果。

測量讀取作業的輸送量時,請務必不要對您在寫入測試期間所建立的檔案進行讀取測試。由於該檔案已快取,因此讀取測試的結果會不準確。請改為針對尚未快取之檔案測試讀取。在叢集上找到一個大於 1GB 的檔案,並在讀取測試中參考該檔案。

  1. 在叢集的任何節點上開啟 SSH 連線,然後使用「root」帳戶登入。 root 帳戶
  2. 從叢集上的 CLI,或從 UNIX 或 Linux 用戶端電腦,使用 dd 命令,讀取叢集上的檔案。
    執行 dd if=/pathToLargeFile of=/dev/null bs=1024k 其中的命令 pathToFile 是目標檔的檔案路徑。
    此命令讀取目標檔並報告讀取它所花費的時間。
  3. 如果您有 Mac 用戶端,並想要進行進一步分析:
    1. 啟動「活動監視器」。
    2. 執行 time cp /pathToLargeFile > /dev/null 其中的命令 pathToFile 是目標檔的檔案路徑。
      此命令有助於測量 Isilon 叢集上讀取作業的輸送量。(雖然可以在 Mac 用戶端上執行 dd 命令,但結果可能不一致。)
    3. 在「活動監視器」的網路標籤中監視命令的結果。

叢集處理

檢查叢集的輸入/輸出 (I/O) 作業 (IOPS) 之前:

  • 判斷叢集上正在執行哪些工作。如果 AutoBalance、Collect 或 MultiScan 等重新等量分配工作正在執行中,請考慮這些工作執行的原因,以及是否應繼續執行。
    • 這些工作可能會產生叢集事件:事件 400100008:「檔案作業花費的時間比預期更長。」
  • 考慮正在使用的資料類型。如果用戶端電腦正在處理大型影片檔案或虛擬機器 (VM),則重新等量分配工作需要比一般更高的磁碟 IOPS。
  • 請考慮暫時暫停重新等量分配工作。這樣可大幅改善效能,而且可能是解決效能問題的可行短期解決方案。

SmartPools 工作。

工作執行時,NFS 和 SMB 用戶端效能可能會降低:

  • 判斷 SmartPools 工作的優先順序
 isi job status
    •  降低策略的影響
isi job types modify SmartPools --policy LOW
    • 調整優先順序
isi job types modify SmartPools --priority 7
    • 將原則排程至非工作時間
isi job types modify SmartPools --policy OFF_HOURS
      • 檢閱層級組態,將層數保持在 5 以下

    磁碟 I/O
    檢查磁碟 I/O 可協助判斷是否有某些磁碟正在遭到過度使用。

    依叢集

    1. 在叢集的任何節點上開啟 SSH 連線,然後使用「root」帳戶登入。
    2. 執行
      isi statistics pstat
       命令以確認磁碟 I/O。
    3. 從這個命令的輸出中,將磁碟 IOPS 除以叢集中的磁碟總數。舉例來說,若為使用 Isilon IQ 12000x 節點 (每個節點有 12 部磁碟機) 的 8 節點叢集,您將磁碟 IOPS 除以 96。
      若為 X 系列節點和 NL 系列節點,您應會看到 100% 隨機工作流程的磁碟 IOPS 為 70 或以下,100% 循序工作流程的磁碟 IOPS 為 140 或以下。由於 NL 系列節點的 RAM 和 CPU 速度低於 X 系列節點,因此 X 系列節點可處理更高的磁碟 IOPS。

    依節點和磁碟

    1. 在叢集的任何節點上開啟 SSH 連線,然後使用「root」帳戶登入。
    2. 執行
      isi statistics query current --nodes=all --stats=node.disk.xfers.rate.sum --format=top
       以確認節點磁碟 IOPS 的命令,這可協助探索是否過度使用磁碟。
    3. 執行
      isi_stats_tool -a get_key_info|grep node.disk.xfer
       命令,以決定如何針對每個磁碟查詢統計資料。

    佇列作業

    判斷是否過度使用磁碟的另一種方法,是透過判斷叢集中每個磁碟的佇列數量。若為單一串流 SMB 式工作流程,4 佇列可能會代表有問題,而對於高並行的 NFS 命名空間作業,佇列可能會更大。

    1. 在叢集的任何節點上開啟 SSH 連線,然後使用「root」帳戶登入。 root 帳戶
    2. 執行
      isi statistics drive list --nodes=all --sort=queued -d
       命令,以判斷叢集中每個磁碟的佇列作業數量。
    3. 確定操作在佇列中的時間長度: 
      isi statistics drive list --nodes=all --sort=queued -d 

    CPU

    CPU 問題經常與用戶端在叢集上執行的作業有關。使用 isi statistics 命令,您可以判斷在叢集上執行的作業,由網路通訊協定或用戶端電腦編目。

    1. 在叢集的任何節點上開啟 SSH 連線,然後使用「root」帳戶登入。 root 帳戶
    2. 執行
      isi statistics protocol list --long --totalby Op,proto -d --sort TimeAvg --format top
       透過執行下列命令,判斷網路上正在執行哪些作業,並評估哪些作業花費最多時間:
      此命令輸出提供所有網路協定的詳細統計資訊,按群集回應用戶端所需的時間進行組織。雖然此命令的結果可能無法讓您識別哪個作業速度最慢,但可讓您朝著正確的方向前進。
    3. 執行
       isi statistics system --nodes all --format top 
      命令以獲取有關 CPU 處理的更多資訊,例如哪些節點的 CPU 使用量最大。
    4. 執行
      isi_for_array -sX 'top -u -n |grep PID -A4'
       若要取得在每個節點上消耗最多 CPU 資源的四個程序,請執行下列命令:

    Additional Information

    相關資源
    以下是可能感興趣的與本主題相關的建議資源:

    Affected Products

    PowerScale, PowerScale OneFS

    Products

    Isilon, PowerScale OneFS
    Article Properties
    Article Number: 000015384
    Article Type: Solution
    Last Modified: 11 Aug 2026
    Version:  16
    Find answers to your questions from other Dell users
    Support Services
    Check if your device is covered by Support Services.