Skype for business/Lync之數據庫架構解析

最近遇到Skype for Business Server 故障案例,就涉及到數據庫及文件共享的存儲位置,轉載此篇文章,全面瞭解一下數據庫架構及文件存儲構成。


  你知道SKYPE for business server 2015/LYNC server 2013(以下統一稱LYNC,原諒我,這是慣性稱呼)用到多少個數據庫實例、數據庫嗎?結果會有點出乎你的意料。大家都知道,數據庫就是來存儲數據的東西,而SKYPE存儲數據的地方有SQL、有AD、還有共享文件夾,AD用來存儲基本的用戶信息,比如SIP URI、電話號碼,而用戶策略信息則存儲在CMS裏(SQL),另外AD用來存儲也是爲了一個向後的兼容性。

clip_p_w_picpath001[6]

    這裏主要談談它用到的SQL數據庫,按道理來說,LYNC用一個SQL實例就OK了(如上圖一樣),但實際上,它會用到多個實例,爲什麼會用到這麼多SQL呢,看下這張圖大概就明白了,

clip_p_w_picpath003[6]

    從上圖可以看出(上圖只是涉及到CMS-中央管理存儲數據庫,並非全部,全部的見後面的列表,這裏只是以它舉例),即使在前端和後端分離的LYNC SERVER部署設計中(企業版),每個LYNC服務器(包括前端本身)上實際上都會有一個SQL實例(SQL EXPRESS),都會有一個xds數據庫,也就是上圖CMS中央管理存儲的副本,下圖另外兩個數據庫RTC/RTCDYN會在前端角色存在,是兩個用戶數據庫,LYNC2010時代這兩個庫是放在後端的,而從LYNC2013開始,前端架構有了變化,這兩個庫也就放在前端了,後端也有一份延遲副本,名字叫RTCXDS。

clip_p_w_picpath004[10]

注意上上圖的複製方向,是一種推複製,即從CMS master向各個LYNC SERVER推,從服務控制檯可以看到,每個LYNC SERVER都有一個Lync server replica replicator agent服務,它用來接收副本數據並向master反饋複製結果信息的,當然master上有一個對應的Lync server master replicator agent服務。

clip_p_w_picpath005[6]

推複製類似廣播,好處是一推大家都更新了,更新很快,不像拉複製,因爲拉複製一般不是說某個確定的時間點大家都去取數據,而是說每隔多少時間去取數據,由於起始時間不同,要讓所有服務器都得到最新的數據,整個時間就會拉得比較長了。

    很明顯,這種設計主要是考慮到一個可用性,比如即使後端數據庫宕掉,因爲其他LYNC服務器本地還有一份配置副本,LYNC的主要功能是不會有影響的(所以從這個角度來說,後端SQL宕掉並不會導致整個LYNC系統癱瘓,大部分功能都能使用,從這點來說,後端是否需要部署成鏡像或羣集也值得商討,因爲鏡像和羣集特別是鏡像,雖然提供了高可用,但鏡像本身可能成爲一個新的故障點,導致更多的維護任務)。我認爲這種設計比後端單獨兩臺SQL鏡像更可靠。
    另外,前面也提到過,LYNC2013之後前端架構也有了變化,用戶數據庫放在了前端,對用戶數據庫來說,前端是主,後端只是一個備,這種變化也讓後端SQL的可用性變得更不重要,但凡事有利則有弊,這樣也增加了前端的複雜性,從高可用角度考慮,還增加了前端的數量(微軟建議前端要三臺)。

    從上面的圖我們還可以推想LYNC的部署順序,第一步準備AD,第二步準備CMS要用的SQL,第三步是調用拓撲生成器創建配置保存到CMS,第四步纔是根據CMS配置信息安裝或更新LYNC,對於標準版,就是下圖的順序,當然對於企業版,第二步不是圖中的在標準版上準備CMS存儲地,一般是部署後端SQL。從我個人的感覺來說,LYNC這個發佈嚮導界面設計有些問題,沒考慮到用戶體驗,完全不像windows server的1、2、3、4指得那麼清清楚楚:)。

clip_p_w_picpath007[6]

clip_p_w_picpath009[6]

    下面用一張表格來表現各種數據庫的用途及所在實例(不管是LYNC標準版,還是企業版,都是一樣的,只是標準版用的是sql express,企業版後端用的是獨立的數據庫)。

注意:lync server的標準版實際是一個很有意思的東西,不像其他產品的標準版與企業版的區別主要表現在功能上,lync server標準版功能不缺失,它的特點是隻能使用SQL express,但它有個優點,可以把絕大部分角色裝在一臺服務器上(而企業版還不行),這個特性對一般的中小型環境是很有利的,因爲你可以只裝一臺LYNC SERVER標準版就容納了所有功能(除了邊緣和WAC,另外歸檔和監控還是需要獨立後端,但中小公司也許對這個不感冒,何況歸檔還可以與郵件集成,不一定用SQL),考慮到高可用,再裝一臺標準版做備份池,也可以實現幾分鐘之內的災難恢復。而企業版由於不能把幾個角色合在一臺,再加上LYNC2013後前端架構的變化,這樣反而把一件事情搞複雜了。

wKioL1VXR6XhQy-4AAJ5pllEy6w310.jpg

l RTC實例:(就是後端數據庫)

clip_p_w_picpath011[6]

l RTCLOCAL實例:(每個LYNC服務器都有,都有XDS庫,前端還有RTC/RTCDYN庫)

clip_p_w_picpath004[11]

l LYNCLOCAL實例:

clip_p_w_picpath012



本文出自 “火線科技兄弟夥的博客” 博客,http://huoxian.blog.51cto.com/9437529/1643971



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章