在CITRIX去年釋出的XenDesktop 5中一直讓我頭痛的問題,就是對背景資料庫的依賴性,以及更讓我頭痛的就是事務日志檔案的瘋狂增長。原以為在SP1釋出後會得到改善,可還是讓我失望了。
以下将介紹在XenDesktop 5中資料庫檔案(.mdf)及事務日志檔案(.ldf)的增長情況以在實作資料庫HA的問題:
一、針對資料庫檔案(.mdf):
以下為可能影響到資料庫檔案尺寸大小的幾個因素:
a、配置與注冊的工作站數量
b、連接配接會話的數量
c、連接配接率
d、管理桌面的數量
e、預備的桌面數量
每一個(管理、非管理)虛拟桌面尺寸要求:
a、注冊與工作狀态資訊2.9KB
b、會話狀态消息5.1KB
c、每一個連接配接日志記錄資訊0.042KB
每一個通過MCS生成的虛拟桌面尺寸需求:
a、在AD中計算機賬号資訊1.8KB
b、MCS機器資訊1.94KB
例子:
20000個非管理桌面,在正常一天時間裡每使用者登入一次,以及一些漫遊使用者也許會進行多次連接配接,平均為每使用者在一天時間裡有兩次連接配接。依照這種情況,我們可以得出以下資料:
• Per Worker: 2.9 KB X 20,000 = 58,000 KB
• Per Session: 5.1 KB X 20,000 = 102,000 KB
• Per Connection: 0.042 KB X 40,000 X 2 days = 3,360 KB
• Total: 163,360 KB or approximately 160 MB
以上基于CITRIX測試,資料是完全相比對的。同比不同規模的資料庫檔案尺寸大小,如下:
<a target="_blank" href="http://blog.51cto.com/attachment/201107/224338106.jpg"></a>
二、針對事務日志檔案(.ldf):---痛苦的開始!
影響事務日志尺寸大小其主要包括以下幾個因素:
a、SQL 資料庫所使用的恢複模式
b、高峰時間的啟動率
c、虛拟桌面的數量
在測試過程中,如果資料庫為完全恢複模式情況下,在一秒中内啟動40個使用者将消耗1.3MBs事務日志,還是以20000個虛拟桌面為例,将直接産生670MB事務日志。
而空閑的虛拟桌面在每隔一小時會自動生産62KB日志檔案,如果要控制事物日志的增長,可以設定心跳的頻率。
另外在一天24小時内,每個虛拟桌面将會生産1.45MB日志檔案,如果是20000個虛拟桌面将會是29GB,所在在大型環境中你需要對事物日志額外的觀察及管理。
當然,在預設情況下XD5對資料庫的恢複模式是“簡單恢複”這樣可以不産生事物日志檔案,但會直接影響到災難恢複,無法恢複到某一時間點。是以CITRIX建議你把資料庫的恢複模式改也“完全恢複”模式,但前提是你要能容忍事務日志的快速增長。還要進行相應的備份。如此大的量,備份也是一個問題吧!!
CITRIX給出的建議是對事務日志檔案尺寸進行控制并加以監視(治标不治本),當達到50%時進行報警,再進行相關備份,以便控制日志檔案尺寸的進一步增大。因為當事物日志檔案達到一定的尺寸時,會直接影響到資料庫的性能。可能直接導緻虛拟桌面狀态資訊與資料庫資訊不緻,進而讓原本空閑的虛拟桌面不能配置設定給最終終端使用者。
<a target="_blank" href="http://blog.51cto.com/attachment/201107/232718168.jpg"></a>
從以上資訊得出結論,CITRIX XENDESKTOP 5對資料庫有着極大的依賴性,進而我們不得不考慮資料庫的高可用性。而資料庫的高可用性,從SQL Server 2005 SP1後,微軟建議采用資料庫鏡像的方式,而非SQL Server 2000群集方案。而在配置資料庫鏡像方面,卻不是每一位普通管理者可以做到的事情,要想實作一套最進階别的資料庫鏡像你是需要下點功夫的,特别是出現故障時,你必定會傻眼。在配置方式有多複雜,可參考我另一篇Blog:
《<b>SQL Server</b><b>高可用最進階别</b><b>,</b><b>加強你的</b><b>DATA STORE</b>》
http://virtualtop.blog.51cto.com/41003/499118