新的 Exchange 核心儲存區功能

 

適用版本: Exchange Server 2010 SP2

上次修改主題的時間: 2016-11-28

Microsoft Exchange Server 2010 包含 Exchange 資料庫架構的許多改良功能:

  • 公用資料夾報告已經過加強。

  • 資料庫已不再與儲存群組關聯。 儲存群組已經移除。

  • 儲存架構與可延伸儲存引擎 (ESE) 的投資最佳化減少了 70% 的 IOPS。

下列各節會對上述改良功能提供更詳細的說明。

目錄

增強的公用資料夾報告

資料庫管理

儲存區的變更

新的 ESE 功能

增強的公用資料夾報告

公用資料夾報告已經增強,可檢視使用者對公用資料夾中任何項目的變更。 可以在 Exchange 管理命令介面中使用 Get-PublicFolderStatistics 指令程式檢視此一資訊。 如需詳細資訊,請參閱使用 PowerShell 與 Exchange 2010 (Exchange 管理命令介面)

資料庫管理

資料庫已不再與儲存群組關聯。 Exchange 2010 中的儲存群組功能已移至資料庫。

在 Exchange 2010 中,可以管理 EMC [組織組態] 節點中的信箱和公用資料夾資料庫 (Exchange Server 2007 中則是在 [伺服器組態] 節點中執行資料庫管理)。

雖然公用資料夾資料庫管理已從 [伺服器組態] 節點移至有信箱資料庫的 [組織組態] 節點,但是 Exchange 2010 中的公用資料夾資料庫功能並未變更。 就像在 Exchange 2007 中一樣,不能建立公用資料夾資料庫的資料庫複本,而且不能新增公用資料夾資料庫至資料庫可用性群組 (DAG)。 但是,公用資料夾資料庫可以裝載在屬於 DAG 的信箱伺服器上,卻不適用記錄傳送或其他任何 DAG 功能。

資料庫指令程式變更

Exchange 2010 中移除了儲存群組,Exchange 2007 中使用的儲存群組指令程式已刪除,現在由 Exchange 2010 資料庫指令程式提供功能,如下列表格中所示。

Exchange 2010 中取代 Exchange 2007 儲存群組指令程式的資料庫指令程式

Exchange 2007 指令程式 Exchange 2010 中的功能變更描述

New-StorageGroup

這個指令程式已經刪除,組態參數已移至 New-MailboxDatabaseNew-PublicFolderDatabase 指令程式。

Remove-StorageGroup

這個指令程式已經刪除,組態參數已移至 Remove-MailboxDatabaseRemove-PublicFolderDatabase 指令程式。

Set-StorageGroup

這個指令程式已經刪除,組態參數已移至 Set-MailboxDatabaseSet-PublicFolderDatabase 指令程式。

Get-StorageGroup

這個指令程式已經刪除,組態參數已移至 Get-MailboxDatabaseGet-PublicFolderDatabase 指令程式。

Move-StorageGroupPath

這個指令程式已經刪除,組態參數已移至 Move-DatabasePath 指令程式。

Exchange 2010 中擴充了 Exchange 2007 Cmdlet 功能的資料庫指令程式

Exchange 2010 指令程式 Exchange 2010 中之擴充功能的描述

New-MailboxDatabase

New-PublicFolderDatabase

這些指令程式已使用 New-StorageGroup 指令程式的參數和功能擴充。 它們也使用新資料庫的連結更新伺服器物件,並以主控伺服器名稱更新資料庫物件。

Remove-MailboxDatabase

Remove-PublicFolderDatabase

這些指令程式已使用 Remove-StorageGroup 指令程式的參數和功能擴充。 此外,也以新資料庫連結更新伺服器物件,並以主控伺服器名稱更新資料庫物件。

Set-MailboxDatabase

Set-PublicFolderDatabase

這些指令程式已使用 Set-StorageGroup 指令程式的參數和功能擴充。 變更主機伺服器時,也會以新資料庫連結更新伺服器物件,並以主控伺服器名稱更新資料庫物件。

Get-MailboxDatabase

Get-PublicFolderDatabase

這些指令程式已使用 Get-StorageGroup 指令程式的參數和功能擴充。 Status 參數已擴充,以傳回 Get-StorageGroupCopyStatus 指令程式目前傳之資訊的狀態。

Move-DatabasePath

這個指令程式已經以 Move-StorageGroupPath 指令程式的參數和功能擴充。

除了前述的指令程式變更之外,StorageGroupCopy 指令程式已經刪除。 如需詳細資訊,請參閱管理信箱資料庫副本

儲存區的變更

Exchange 2010 中的儲存區架構已變更,移除信箱資料庫對伺服器物件的相依性。 此外,新架構已經改進,重新計算用於儲存資訊之資料表的因素,以減少每秒的資料庫 I/O (IOPS)。 重新計算資料表因素允許較高的參考邏輯系列和位置。 這些變更減少儲存區對 ESE 所維護之次要索引的相依性。 因此,儲存區對於次要索引相關的效能問題已不再敏感。

另外也增加了與偵測和修正錯誤及提供警示相關的許多功能,改進了儲存區彈性和健康狀況,例如:

  • 惡意信箱的信箱隔離

  • 空間小於 1 GB 的資料庫傳輸截止

  • 執行緒逾時偵測和報告

如需儲存區彈性與健康狀況的詳細資訊,請參閱了解 Exchange 2010 儲存區

核心儲存區功能已做了許多變更,以改進高可用性功能。 高可用性已整合到 Exchange 2010 的核心架構,讓所有規模和所有產業別的組織都能夠經濟地部署傳訊持續性服務。 如需 Exchange 2010 中之高可用性變更的詳細資訊,請參閱瞭解高可用性和站台恢復

新的 ESE 功能

Exchange 2010 中的可延伸儲存引擎 (ESE) 已經改進,以達成下列目標:

  • 較大的 I/O 與循序 I/O,減少 IOPS

  • 商品儲存體的最佳化

  • 減少資料庫管理

  • 線上磁碟重組

  • 線上資料庫掃描

加大和循序的 I/O

ESE 加大 Exchange 2010 中的 I/O 大小並減少讀取/寫入頻率,因而能夠提升效能。 此外,ESE 也讓資料庫中的資料循序性更高,增加相關資料位於 B-Tree 中相同鄰近位置的可能性,以提高效能。

Exchange 當中,資料庫內所有的資料都儲存在 B-Tree 裡,B-Tree 則再分割為頁面。 在 Exchange 2007 和較舊的版本中,儲存在 B-Tree 裡的資料並非連續性的。 事實上,舊版的 Exchange 執行的是隨機的資料庫讀取/寫入。 這表示相關的資料可能不是在硬碟上相同的鄰近位置。 非連續性資料在讀取和寫入硬碟時需要更多次的作業。

B-Tree 磁碟重組

B-Tree 磁碟重組程序已經改進,在 B-Tree 中保持連續的資料以減少 I/O 作業。

B-Tree 磁碟重組以三種新作業適當地執行 (相對於建立新 B-Tree 及重新命名索引和資料表):

  • 頁面移動   頁面移動包括將一個頁面上所有資料移到新配置的頁面。

  • 部分向左合併   部分向左合併與 Exchange 2007 或更早版本中的向右合併相同,不過資料是從左邊頁面移到右邊頁面。

  • 全部向左合併   全部向左合併與 Exchange 2007 或更早版本中的全部向右合併相同。

磁碟重組已從向右合併變更為向左合併,將效能最佳化。 硬碟上的資料會由右向左讀取或寫入。 如果資料庫的重組方向和讀取/寫入相同,磁碟重組會和讀取/寫入衝突。 此外,空間配置允許配置範圍裡的下一個頁面,但是不能配置前一個頁面。 由於頁面移動需要配置新頁面,因此由左向右重組資料庫的效率會高很多。

「磁碟重組管理員」是 ESE 中的新事件,會監控哪些 B-Tree 需要重組,哪些 B-Tree 已經重組。 「磁碟重組管理員」會匯編所有裝載的資料庫中應該重組的 B-Tree 的清單。 發現零碎的 B-Tree 時,會向「磁碟重組管理員」登記,「磁碟重組管理員」就會加以處理。

頁面大小增加到 32 KB

資料庫中所有的資料都儲存在 B-Tree 中,而 B-Tree 再分割為頁面。 頁面大小是資料庫的最小讀取和寫入大小;也是用於資料庫快取的單位大小。 從磁碟讀取的速度比在記憶體中執行作業慢;因此,ESE 將頁面大小增加到 32 KB,可減少 IOPS,在記憶體中快取較大的頁面大小以提高效能。

商品儲存體的最佳化

Exchange 2010 中的 ESE 的另一個目標是減少部署 Exchange 的資本和作業成本。 使用 JBOD 和 SATA 級硬碟以降低儲存成本及將商品儲存體最佳化,即可達成這個目標。

磁碟子系統在處理較少但較大的 I/O 時較有效率。在 Exchange 2010 或更早版本中,頁面大小是最小的讀取/寫入大小和資料庫快取的最小大小。 聯合 I/O 指的是將資料庫頁面作業結合為單一 I/O 作業,因而提供較少和較大 I/O 作業的程序。

透過聯合 I/O 增加平均資料庫 I/O 大小有下列優點:

  • 增加磁碟使用效率   磁碟在處理大型 I/O 時較有效率。 越有效率地使用磁碟,便可在該磁碟上裝載越多的信箱。

  • 增加快取保存的比率   快取保存是預先載入資料庫上次啟動時針對資料庫執行之初始查詢,以幫助減少執行時間的程序。 伺服器重新啟動、容錯移轉或轉換後,較大的 I/O 可讓 ESE 增加快取保存的比率。

資料庫維護

Exchange 2010 中的 ESE 的目標之一是減少維護及管理資料庫的成本。 資料庫維護包含許多工作,這些工作會管理及保持您信箱資料庫的完整性。

資料庫維護分成下列項目:

  • 儲存區信箱維護

  • ESE 資料庫維護

在 Exchange 2007 當中,ESE 資料庫維護需密集使用磁碟。 Exchange 2010 中已進行某些改良功能來提高效能。 Exchange 2010 中,在大型或非常繁忙的設定檔伺服器上,儲存信箱維護工作只需要約 45 分鐘,而大型 Exchange 2007 資料庫 (2 GB 配額) 上的 ESE 資料庫維護通常每晚要花六到八小時。

Exchange 2010 已進行某些改良功能,可支援大型信箱及支援 JBOD 儲存區及不使用 RAID 的儲存區。

注意事項附註:
所有的 Exchange 著重儲存的線上資料庫維護功能 (例如復原項目清除) 在 Exchange 2010 中和在 Exchange 2007 中都相同。 只有 ESE 功能、線上磁碟重組及資料庫總和檢查有所變更。

資料庫磁碟重組

磁碟重組可使 Exchange 資料庫的內部頁面連續。 磁碟重組可於資料庫在上線時由系統自動執行 (線上磁碟重組),或於資料庫離線時由系統管理員手動執行 (離線磁碟重組)。

線上磁碟重組

在 Exchange 2010 中,線上磁碟重組的結構已經改變。 線上磁碟重組功能已自信箱資料庫維護程序中移出。 線上磁碟重組現在是全天候皆在背景執行。由於線上磁碟重組持續執行,Exchange 不再張貼事件到事件記錄檔來指出資料庫中的空格數量。 在背景資料庫維護期間,會移除標示為要從資料庫移除的項目,進而釋放這些資料庫頁面。 由於線上重組程序持續進行,所以空格百分比一直改變。

您可以瞭解資料庫中使用者信箱所接收與傳送的郵件數量,來預估資料庫中的空格數量。舉例來說,如果資料庫中有一百個 2 GB 的信箱 (總共 200 GB),使用者每天平均傳送和接收 10 MB 的郵件,則空白字元大約為 1 GB (100 個信箱 × 每個信箱 10 MB)。 如果背景資料庫維護作業無法完成完整作業,則空格數量可能會超出此估計數量。

您不必為這項功能設定任何設定。 Exchange 會在資料庫使用時監視資料庫,會隨著時間經過做些小變更,使其保持重組以提供空間和連續性。 如果資料庫分析某個範圍的頁面,發現其循序情況並不理想,會啟動一個非同步執行緒將 B-Tree/資料表的該區段重組。 線上磁碟重組也會節流,因此並不會拖慢用戶端效能。

使用 ESE 效能計數器設定 MSExchange 資料庫 ==> 重組工作以查看執行的工作。 如需詳細資訊,請參閱如何啟用延伸的 ESE 效能計數器

離線磁碟重組

離線磁碟重組為資料庫卸載 (離線) 狀態時,由系統管理員所執行的手動程序。 在此程序中,會使用 ESEUTIL 工具讀取資料庫檔案並且以連續方式使用內容寫入一個新資料庫檔案。 離線磁碟重組程序並不會從原始資料庫複製空格;因此,新建資料庫檔案的大小會比磁碟上的原始資料庫來得小 (可能小得多,視資料庫中空格數量而定)。 從之前的經驗來看,通常執行資料庫離線磁碟重組包含下列原因:

  • 縮小磁碟上資料庫檔案的大小。

  • 收回資料庫中的空格。

  • 避免可用磁碟空間不足。

  • 修復受損資料庫 (在修復程序中為執行 ESEUTIL /p 後的第二步驟)。

目前,已有一段時間,離線重組不再是 Exchange 資料庫定期維護的一部份,Microsoft 不建議定期、主動對資料庫進行離線磁碟重組。做出此建議的原因很多,包含下列原因:

  • 由於資料庫必須離線,因此造成停機時間。

  • 在複寫的信箱資料庫環境中,這會造成必須針對已經離線磁碟重組的主動副本,重新植入其所有被動副本,也會因此而需要重新植入任何已經離線磁碟重組之被動副本。 (因此,您絕不應該執行被動資料庫副本的離線磁碟重組作業。)

  • 這會建立新資料庫及新的資料庫簽章,因而喪失了儲存來自離線磁碟重組前所進行的資料庫備份之記錄檔的能力。

做為離線磁碟重組的替代,我們建議建立客戶建立新的資料庫,並將所有信箱移到新建的資料庫。 在 Exchange 2010 環境中,線上移動信箱並不會對一般使用者的服務造成干擾。 此外,當您將所有信箱由現有資料庫移至新資料庫時,最終結果會是相同的: 經磁碟重組的資料庫中,所有頁面均採連續寫入方式,且資料庫檔案中不具有任何可察覺的空格。 在該處理程序完成後,您只要刪除舊的 (現在為空白) 資料庫即可。此指南僅涵蓋用於收回空格的主動離線磁碟重組作業。 如果Microsoft 客戶支援服務引導您如此做,您仍應執行磁碟重組。

線上資料庫掃描

線上資料庫掃描 (也稱為資料庫總和檢查) 也已變更。 在 Exchange 2007 Service Pack 1 (SP1) 中,可以選擇使用線上磁碟重組時間的一半來執行此一資料庫掃描程序 (以確保 Exchange 在特定期間內讀取您資料庫中的每一頁,以偵測是否有任何毀損)。

在 Exchange 2010 中,線上資料庫掃描會總和檢查資料庫,並執行 Exchange 2010 儲存區失敗後作業。 可能因為失敗導致空間流失,線上資料庫掃描會尋找及復原流失的空間。 Exchange 2010 中的系統的設計是預期每個資料庫每七天都會完全掃描一次。 在此時段中,若有資料庫未完整掃描,系統便會發出警示事件。 Exchange 2010 中現在有兩種模式可在使用中資料庫副本上執行線上資料庫掃描:

  • 以排定的「信箱資料庫維護」程序的最後一項工作執行。 您可以變更「信箱資料庫維護」排程,設定其執行多久。 您可以在大小不超過 1 TB 的小型資料庫上使用這個選項,因為完成完整掃描所需的時間較少。

  • 24x7 全天候在背景執行,此為預設行為。此選項在所有大小類型的資料庫上均可正常工作,不過我們建議將它用在大型資料庫 (大小為 1-2 TB) 上。Exchange 掃描資料庫的次數一天不會超過一次。 這個讀取 I/O 完全循序 (因此在磁碟上很容易),而且在大部分系統上的掃描率約等於 5 MB/秒。

如需設定資料庫維護的詳細資訊,請參閱維護信箱資料庫

 © 2010 Microsoft Corporation. 著作權所有,並保留一切權利。