共用方式為


Microsoft HPC Pack 的資料庫容量規劃和調整

Microsoft HPC Pack 中的 Windows HPC 叢集管理功能依賴數個Microsoft SQL Server 資料庫來支援管理、作業排程、診斷、報告和監視功能。 當您在伺服器上安裝 HPC Pack 以建立前端節點時,預設安裝程式會安裝 express edition Microsoft SQL Server(如果未偵測到其他版本的 SQL Server),並在前端節點上建立必要的資料庫。 Express 版本沒有額外的授權費用,並隨附於提供現用體驗,以用於概念證明或開發叢集,以及小型生產叢集。 視叢集的大小、輸送量和需求而定,您可以在前端節點上安裝不同版本的 SQL Server,或在遠端伺服器上安裝資料庫。 本文件中的資訊旨在協助您判斷適合您叢集的資料庫組態和其他微調選項。

在本主題中:

適用的MICROSOFT HPC Pack 和 Microsoft SQL Server 版本

本主題中的指引適用於下表所列的 HPC Pack 和 SQL Server 版本。

Microsoft HPC Pack 的版本 叢集資料庫 支援的 SQL Server Microsoft 版本 附註
HPC Pack 2016 - HPCManagement
- HPCScheduler
- HPCReporting
- HPCDiagnostics
- HPCMonitoring
- SQL Server 2014 和更新版本
- Azure SQL Database
- SQL Server Express 版本會將每個資料庫限製為 10 GB。
HPC Pack 2012 R2 和 HPC Pack 2012 - HPCManagement
- HPCScheduler
- HPCReporting
- HPCDiagnostics
- HPCMonitoring
- SQL Server 2008 R2 和更新版本
- Azure SQL Database
- SQL Server Express 版本會將每個資料庫限製為 10 GB。
- 只有 HPC Pack 2012 R2 Update 3 組建 4.5.5194 或更新版本才支援 Azure SQL Database

Microsoft HPC Pack 中資料庫設定的基本選項

本節提供使用 HPC Pack 進行資料庫設定之三個基本選項的背景資訊。 如需為部署選擇適當選項的指引,請參閱本主題中的 為叢集選擇正確的 SQL Server 版本

前端節點上的 SQL Server Express

這是現用的體驗。 這通常用於概念證明或開發叢集,或用於小型生產叢集。 如上一節中的表格所示,如果您的 HPC Pack 版本、SQL Server 2016 Express、SQL Server 2014 Express 或 SQL Server 2012 Express 支援,資料庫大小上限為 10 GB。 此設定的基本步驟如下:

  1. 在伺服器上安裝 HPC Pack 以建立前端節點。

  2. 選擇性地在安裝精靈中指定資料庫和記錄檔位置(或接受預設值)。

  3. SQL Server Express 會自動安裝,而且會自動建立 HPC 資料庫。

  4. 部署節點。

在前端節點上 SQL Server Standard

這是中型叢集的基本組態。 SQL Server Standard Edition (或其他完整版本,而非 Compact)允許較大的資料庫和其他管理功能,以支援更多節點和更高的作業輸送量。 此設定的基本步驟如下:

  1. 在將作為前端節點的伺服器上,安裝您的 HPC Pack 版本所支援的 SQL Server Standard 版本。

  2. 在伺服器上安裝 HPC Pack 以建立前端節點。

  3. 選擇性地在安裝精靈中指定資料庫和記錄檔位置(或接受預設值)。

  4. HPC 資料庫會自動建立。

  5. 選擇性地使用 SQL Server Management Studio 視需要微調資料庫。

  6. 部署節點。

遠端資料庫 (SQL Server Standard 或 SQL Server Express)

在遠端伺服器上安裝一或多個 HPC 資料庫,是針對較大的叢集或針對前端節點高可用性所設定的叢集,建議進行設定。 如需詳細資訊,請參閱 使用遠端資料庫部署 HPC Pack 叢集逐步指南。 針對高可用性前端節點,您通常會使用標準版的 SQL Server 來支援資料庫的高可用性(這與 HPC 管理服務的高可用性不同)。 如需詳細資訊,請參閱 HPC Pack 2016快速入門指南。 此設定的基本步驟如下:

  1. 在遠端伺服器上安裝 HPC Pack 版本所支援的 SQL Server Standard 版本。

  2. 使用 SQL Server Management Studio 手動建立遠端 HPC 資料庫並視需要進行調整。

  3. 視 HPC Pack 版本的要求,在執行 SQL Server 的遠端伺服器上執行其他設定步驟。

  4. 在伺服器上安裝 HPC Pack 以建立前端節點。

  5. 在安裝精靈中,指定遠端資料庫的連線資訊。

  6. 部署節點。

為您的叢集選擇正確的 SQL Server 版本

下列一般指導方針可協助您判斷要用於叢集的 SQL Server 版本。 節點和作業輸送量號碼僅供一般指導方針使用,因為效能會根據您為叢集選取的硬體和拓撲,以及叢集支援的工作負載而有所不同。

如果適用下列任何條件,請考慮使用 SQL Server 的標準版本(或其他完整版本,而非 Compact):

  • 叢集有許多節點。 節點屬性、組態、計量和效能歷程記錄等資訊會儲存在資料庫中。 較大的叢集需要資料庫中更多的空間。 一般指導方針是,Express 版本適用於最多 64 個具有 SQL Server Express 2012 的節點,或最多 128 個具有較新版本 SQL Server Express 的節點。

  • 叢集支援非常高的作業輸送量速率,例如,每天大於10,000個工作或子工作。 每個作業、工作和子工作都有資料庫中的專案來儲存屬性和配置資訊和歷程記錄。 此數據的預設保留期限為5天。 您可以調整保留期間,以減少容量需求。 請參閱本主題 HPC 數據保留設定。

  • 叢集已設定為前端節點的高可用性,而且您也想要設定SQL Server的高可用性。

  • 您需要將作業和工作數據儲存在 HPCScheduler 資料庫中一段較長的時間,而且會超過 SQL Server Express 版本所強加的資料庫限制。

  • 您會大量使用 HPCReporting 資料庫,並可能針對自定義報告使用數據擴充性功能。 如需停用報告擴充性和減少報告資料庫大小需求的相關信息,請參閱本主題中的 HPC 數據保留設定

  • 您需要 SQL Server Management Studio 工具所提供的額外可靠性、效能和彈性(包括維護計劃支援)。 例如,SQL Server Standard 版本提供下列功能,對 HPC 叢集管理員很有説明:

    • 無限制的資料庫大小

    • 支援高可用性組態

    • 資料庫快取的 RAM 使用量無限制

    注意事項

    SQL Server Management Studio 不會自動隨附於 SQL Server 的 Express 版本。 如果您想要變更 HPC 資料庫的設定,可以個別下載。

  • 您正規劃大量部署 Windows Azure 節點,例如數百個 Windows Azure 角色實例或更多。 如需大型 Windows Azure 節點部署的詳細資訊,請參閱使用 Microsoft HPC PackWindows Azure 節點大型部署的最佳做法。

設定和微調最佳做法

本節包含一些效能微調 HPC 資料庫的指導方針和最佳做法。 下列清單中概述大型叢集的範例組態設定。 在某些情況下,這些設定與 HPC Pack 預設所設定的設定有很大的不同。 下列各節會提供這些選項的詳細資訊。

  • 在具有三個拼碟(實體磁碟)的伺服器上,設定:

    • 專用拼盤上的操作系統。

    • 專用拼盤上的叢集資料庫。

    • 專用拼盤上的叢集資料庫記錄檔。

  • 在 SQL Server Management Studio 中設定:

    • HPCManagement 資料庫:初始大小 20 GB,成長率 100%

    • HPCManagement 資料庫記錄:初始大小 2 GB

    • HPCScheduler 資料庫:初始大小 30 GB,成長率 0%

      注意事項

      在大型叢集中,為了避免 HPC 作業排程器因為 HPCScheduler 資料庫接近其大小限制而意外關閉,建議您不要為此資料庫設定自動成長設定。

    • HPCScheduler 資料庫記錄:初始大小 2 GB

    • HPCReporting 資料庫:初始大小 30 GB,成長率 100%

    • HPCReporting 資料庫記錄:初始大小 2 GB

    • HPCDiagnostics 資料庫和記錄:使用預設值

    • HPCMonitoring 資料庫:1 GB,成長率 10%

      HPCMonitoring 資料庫記錄:使用預設值

      注意事項

      HPCMonitoring 資料庫是從 HPC Pack 2012 開始設定。

  • 針對裝載在前端節點上的資料庫,在 SQL Server Management Studio 中,將資料庫的記憶體設定為節點上大約一半的實體記憶體。 例如,對於具有 16 GB 物理記憶體的前端節點,請設定資料庫大小 8-10 GB。

  • 針對裝載於前端節點上的資料庫,在 SQL Server Management Studio 中,將平行處理旗標設定為 1(預設值為 0)。

SQL Server 恢復模式和磁碟空間需求

根據預設,SQL Server Standard 版本中每個資料庫的 SQL Server 恢復模式會設定為 Full。 此模型可能會導致記錄檔成長非常大,因為需要手動維護。 若要回收記錄空間,並將磁碟空間需求保持較小,您可以將每個資料庫的恢復模式變更為 Simple。 您選取的恢復模式取決於您的復原需求。 如果您使用 完整 模型,請確定您為記錄檔規劃足夠的空間,並注意一般維護需求。 如需詳細資訊,請參閱 恢復模式概觀

注意事項

如果您選擇 完整 模型,因為 HPC 資料庫必須保持邏輯一致,您可能需要實作特殊程式,以確保這些資料庫的復原能力。 如需詳細資訊,請參閱 復原包含標示交易的相關資料庫

資料庫和記錄檔的初始重設大小和自動成長

自動成長表示當資料庫或記錄檔用盡空間時,它會自動以預先定義的百分比來增加其大小(如自動成長參數所定義)。 在自動成長過程中,資料庫會鎖定。 這會影響叢集作業和效能,而且可能會導致作業死結和逾時。 預先調整資料庫的大小可協助您避免這些效能問題,並藉由設定較大的自動成長百分比,來降低自動成長作業的頻率。 不過,與接近 100 個% 的自動成長設定結合的大型初始檔案大小,可能需要大量的時間來成長資料庫。 請務必瞭解磁碟子系統的效能,以判斷不會長時間封鎖數據庫存取的值。

每個資料庫都有相關聯的記錄檔。 您也可以調整記錄檔的初始大小和自動成長設定。

下表顯示資料庫和記錄檔的預設組態(不論 SQL Server 版本為何):

HPC 資料庫和記錄 初始大小 (MB) 自動成長
HPCManagement 資料庫:1024

記錄:128
資料庫:50%

記錄檔:50%
HPCScheduler 資料庫:256

記錄檔:64
資料庫:10%

記錄檔:10%
HPCReporting 資料庫:128

記錄檔:64
資料庫:10%

記錄檔:10%
HPCDiagnostics 資料庫:256

記錄檔:64
資料庫:10%

記錄檔:10%
HPCMonitoring 注意: HPCMonitoring 資料庫是從 HPC Pack 2012 開始設定。 資料庫:256

記錄檔:138
資料庫:10%

記錄檔:10%

例如,下表列出可能適用於具有數百個或更多節點之叢集的初始大小和自動成長設定。

注意事項

此數據表中的初始大小是以 GB(GB)表示,而不是 MB,如上表所示。

HPC 資料庫和記錄 初始大小 (GB) 自動成長
HPCManagement 資料庫:20

記錄檔:2
資料庫:100%

記錄檔:10%
HPCScheduler 資料庫:30

記錄檔:2
資料庫:0%

記錄檔:10%
HPCReporting 資料庫:30

記錄檔:2
資料庫:100%

記錄檔:10%
HPCDiagnostics 資料庫:預設值

記錄檔:預設值
資料庫:預設值

記錄檔:預設值
HPCMonitoring 資料庫:1

記錄檔:預設值
資料庫:預設值

記錄檔:預設值

下列螢幕快照說明 SQL Server Management Studio 中的 HPC 資料庫,以及可用來設定資料庫初始大小和自動成長設定的資料庫屬性對話方塊。

在 SQL Management Studio 中設定 HPC Database

資料庫和記錄檔位置

您可以在與記錄檔不同的拼碟(實體磁碟)上建立資料庫,以改善效能。 這適用於前端節點上的資料庫和遠端資料庫。 針對前端節點上的資料庫,您可以在安裝期間指定資料庫和記錄檔位置(在安裝精靈中)。 在理想情況下,將系統分割區、數據和記錄放在不同的拼盤上。

如果報告大量使用,請考慮將 HPCReporting 資料庫移至個別的拼盤。

如需移動資料庫的詳細資訊,請參閱使用卸離和附加Transact-SQL來移動資料庫

SQL Server 實例設定

若要將記憶體分頁降至最低,請確定您的 SQL Server 實例有足夠的記憶體配置。 您可以在 實例的 [伺服器屬性] 中,透過 SQL Server Management Studio 設定 SQL Server 實例的記憶體。 例如,如果您的資料庫位於具有 16 GB 記憶體的前端節點上,您可能想要為 SQL Server 配置 8-10 GB。

若要將 SQL Server 進程與 HPC 進程之間的前端節點上的核心爭用降至最低,請將 SQL Server 實例的平行處理旗標設定為 1。 根據預設,旗標會設定為0,這表示 SQL 將使用多少核心沒有限制。 將它設定為 1,您可以將 SQL Server 進程限製為 1 個核心。

HPC 資料保留設定

HPCManagement 資料庫

從 HPC Pack 2012 R2 Update 1 開始,叢集管理員能夠指定服務開始封存 HPCManagement 資料庫中作業記錄數據的天數,以及保留封存作業記錄數據的天數。 例如,若要每隔 7 天設定作業記錄封存,並在保留後刪除 180 天,請以系統管理員身分執行 HPC Powershell,然後輸入下列 Cmdlet:

Set-HpcClusterProperty –OperationArchive 7

Set-HpcClusterProperty –OperationRetention 180

HPCScheduler 資料庫

作業屬性、配置和歷程記錄會儲存在 HPCScheduler 資料庫中。 根據預設,已完成工作的相關數據會保留五天。 作業記錄保留期間 (TtlCompletedJobs) 會決定儲存下列記錄的數據長度:

  • HPCScheduler 資料庫中已完成作業已完成失敗取消的數據。

  • 儲存在 Runtime$ 共用中的 SOA 一般數據。

  • HPCDiagnostics 資料庫中的診斷測試結果和數據。

  • 使用 MSMQ 之訊息代理程式節點所儲存之已完成的永久性會話訊息。

設定 狀態的作業不會從資料庫中刪除。 作業必須由作業擁有者或叢集管理員取消(或以其他方式完成),然後根據作業歷程記錄原則加以刪除。

您可以使用 Set-HpcClusterProperty Cmdlet 來設定此屬性。 例如,若要將作業記錄保留期間設定為三天,請以系統管理員身分執行 HPC PowerShell,然後輸入下列 Cmdlet:

Set-HpcClusterProperty –TtlCompletedJobs 3

您也可以在 [HPC 作業排程器組態] 對話方塊的 [作業歷程記錄] 設定中設定這個屬性。

HPCReporting 資料庫

叢集的歷程記錄數據,例如叢集使用率、節點可用性和作業統計數據,會匯總並儲存在 HPCReporting 資料庫中。 資料庫也會儲存有關啟用數據擴充性時可支援自定義報告作業的原始數據(預設為啟用)。 例如,您可以建立自定義退款報告,以對應至貴組織所使用的收費方法。 如需使用原始資料進行自訂報告的詳細資訊,請參閱 報表擴充性逐步指南

下表描述控制原始數據之數據擴充性和保留期間之叢集屬性。 這些設定不會影響用於內建報表的匯總數據。 您可以使用 Get-HPCClusterProperty Cmdlet 來檢視屬性的值,並使用 Set-HpcClusterProperty Cmdlet 來設定值。 例如,若要停用數據擴充性,請以系統管理員身分執行 HPC PowerShell,然後輸入下列 Cmdlet:

Set-HpcClusterProperty –DataExtensibilityEnabled $false

屬性 描述
DataExtensibilityEnabled 指定叢集是否儲存作業、節點和將作業配置給節點的自定義報告資訊。

True 表示叢集會儲存作業、節點和將作業配置給節點的自定義報告資訊。 False 表示叢集不會儲存這項資訊。 預設值為 True。
DataExtensibilityTtl 指定 HPCReporting 資料庫應該儲存作業和節點的所有資訊的天數,但作業配置給節點除外。 此參數的預設值為 365。
AllocationHistoryTtl 指定 HPCReporting 資料庫應該儲存作業配置給節點的相關信息的天數。 此參數的預設值為 5。
ReportingDBSize 包含 HPCReporting 資料庫的目前大小。 此值是包含大小度量單位的字串。 此參數是唯讀的。

若要檢視此屬性,執行 HPC PowerShell 的計算機必須能夠存取 HPCReporting 資料庫。 如需啟用遠端資料庫存取的詳細資訊,請參閱 使用遠端資料庫部署叢集逐步指南

如果您要估計叢集中 HPCReporting 資料庫所需的大小,請參閱 估計報表資料庫的大小

HPCDiagnostics 資料庫

診斷測試回合的信息和結果會儲存在 HPCDiagnostics 資料庫中。 作業記錄保留期間 (TtlCompletedJobs) 會決定儲存已完成測試回合的數據長度。

HPCMonitoring 資料庫

HPC Monitoring Server Service 和 HPC Monitoring Client Service 從叢集節點收集及匯總的性能計數器數據會儲存在 HPCMonitoring 資料庫中。

性能計數器數據會依分鐘、小時和每日匯總。 節點性能計數器數據的數據保留期間是由下表中的叢集屬性所定義。 您可以使用 Set-HpcClusterProperty Cmdlet 來設定這些屬性。

屬性 描述
MinuteCounterRetention 指定分鐘性能計數器數據的保留期間,以天為單位。 預設值為3天。
HourCounterRetention 指定小時性能計數器數據的天數保留期間。 預設值是 30 天。
DayCounterRetention 指定日性能計數器數據的天數保留期間。 預設值為180天。

您可以根據節點數目、性能計數器數目和保留期間,估計 HpcMonitoring 資料庫所需的大小。 例如,使用預設 MinuteCounterRetention 3 天(4,320 分鐘)和 27 個性能計數器,每個效能值專案需要大約 40 個字節,每個節點都需要:

4,320 x 27 x 40 = 4,665,600 個字節,或大約 5 MB。

對於具有 1000 個節點的叢集,大約需要 5 GB 的記憶體。

維護指導方針

典型的 SQL Server 維護計劃涵蓋下列各項:

  • 資料庫備份

  • 一致性檢查

  • 索引重組

您可以透過維護計劃適當時,使用 SQL Server Management Studio 和重組索引來監視索引片段。

一般而言,建議您在 250,000 個作業或一個月之後重建索引(無論哪一個月較短),如果不是更頻繁的話。 執行一致性檢查和備份的頻率將取決於您的商務需求。 只有在幾乎沒有用戶活動時執行維護,最好是在排定的停機期間(特別是針對較大的叢集),因為它可能會嚴重影響作業輸送量和用戶體驗。

如需資料庫維護最佳做法的相關信息,請參閱 有效資料庫維護的秘訣

注意事項

如需有關備份和還原 HPC 資料庫的重要資訊,請參閱在 Windows HPC Server 中中 備份和還原。

另請參閱