Exchange Server 2007 LCR介紹
Microsoft Exchange Server 2007已經釋出一段時間了,和以前的exchange版本相比在高可用性方面有了很大的改進。最主要的展現莫過于LCR(Local Continuous Replication)和CCR(Cluster Continuous Replication)技術了。我們主要看一下LCR技術的實作。
LCR技術是一種單伺服器解決方案,它可以在單伺服器的環境下實作郵件資料庫的高可用。它是通過内置的異步日志傳送技術在同一伺服器的不同區域維護Exchange存儲組的副本。當存儲組的主動副本出現問題後,我們可以在最短的時間内切換到被動副本,顯著降低資料庫的還原時間。原理如下圖:

注意: LCR不是備份技術,部署了LCR并不代表不再需要備份。LCR的作用是顯著降低exchange資料庫的還原時間,而不能代替備份。但是我們可以延長平時的備份周期。
實驗環境:
Exchange Server 2007 + Windows server 2003 R2
在開始之前已經有了一個存儲組:SG3。存放位置為:c:\SG3。而且此存儲組中已經有了一個郵箱資料庫。C:\下建立一個檔案夾SG3LCR用來存放此存儲組的副本。如下圖:
在此試驗中,我們将另一塊硬碟用來存放存儲組的副本。為了還原資料庫時的友善,我們把分區設定成NTFS卷裝入點。如下圖:
在這一步中,我們将第二塊磁盤做成NTFS卷裝入到c:\SG3LCR中。完成後的效果圖如下:
接下來開始LCR 的配置:
首先選中SG3存儲組,然後在右邊的動作面闆中選擇“啟用本地連續複制”,彈出如下圖視窗:
在此我們選擇LCR目标系統路徑和日志路徑,就是剛才的卷裝入點位置。
填入本地連續複制資料庫的路徑,也是在NTFS卷裝入點c:\SG3下。在實際生産環境下我們建議将資料庫檔案和日志檔案放在不同的磁盤上。
經過兩步,LCR配置完成。其實在這個過程中Exchange運作了很多任務,主要經曆了以下步驟:
1. 檢查目前的檢查點檔案(E02.chk),記錄下目前檢查點檔案中關于日志的指針位置。并将郵箱資料庫檔案從c:\SG3\db\sg3data.edb 拷貝到c:\SG3LCR\db下
2. 将檢查點以後的事務日志檔案copy到c:\SG3LCR\logs下,(我們可以看到在c:\SG3LCR\logs中,日志檔案并不是從E0200000001開始的)
3. 把copy過來的事務日志檔案重播到c:\SG3LCR\db\sg3data.edb中
此時我們打開存儲組SG3的“屬性”可以看到如下資訊:
在此視窗中,我們可以監視LCR的狀态,可以看到種子是否已經設定,複制狀态如何,是否正在複制或重播日志等資訊。當“重播隊列長度”變成0時表示目前的日志檔案都已經重播到了資料庫中。此時在目錄下會生成新的E02.chk檢查點檔案。
整個過程可能需要一段時間,隻有我們在此看到“重播隊列長度”變成0,或被動副本日志檔案夾中産生E02.chk才說明LCR配置完成。此時:
我們比較原存儲組日志檔案和LCR副本日志檔案,會發現有幾點不同:
1. LCR副本日志中沒有E02.log檔案
2. LCR副本日志檔案不是從E0200000001開始的,而是從一個較高的數值開始。
3. LCR副本日志檔案夾中新增了Ignoredlogs和inspector檔案夾
4.
下面開始模拟原始資料庫損壞,然後啟用LCR副本。
首先将資料庫SG3data.edb卸除,如下圖:
然後禁用“本地連續複制”,如下圖:
此時我們可以把c:\SG3\db\sg3data.edb這個郵箱資料庫檔案删除以模拟原資料庫檔案損壞。此時再對此資料庫無法挂載了。還原過程如下:
1. 把E02.log檔案由c:\SG3\logs 拷貝到 c:\SG3LCR\logs中
2. 删除c:\SG3下的所有檔案
3. 删除磁盤1在c:\SG3LCR的挂接點,然後把磁盤1挂接到c:\SG3下
4. 在ESM中,對sg3data.edb資料庫進行重新加載。
對了,還原之後 要記得對此存儲組再次配置LCR,保證其高可用性 .