標籤:skype for business lync 資料庫
by 老朱
你知道SKYPE for business server 2015/LYNC server 2013(以下統一稱LYNC,原諒我,這是慣性稱呼)用到多少個資料庫執行個體、資料庫嗎?結果會有點出乎你的意料。大家都知道,資料庫就是來儲存資料的東西,而SKYPE儲存資料的地方有SQL、有AD、還有共用資料夾,AD用來儲存基本的使用者資訊,比如SIP URI、電話號碼,而使用者策略資訊則儲存在CMS裡(SQL),另外AD用來儲存也是為了一個向後的相容性。
650) this.width=650;" height="379" title="clip_image001[6]" style="border:0px;" alt="clip_image001[6]" src="http://s3.51cto.com/wyfs02/M02/6C/8A/wKiom1VLPnTAnYl4AADHWAzqYJk962.jpg" border="0" />
這裡主要談談它用到的SQL資料庫,按道理來說,LYNC用一個SQL執行個體就OK了(如一樣),但實際上,它會用到多個執行個體,為什麼會用到這麼多SQL呢,看下這張圖大概就明白了,
650) this.width=650;" height="584" title="clip_image003[6]" style="border:0px;" alt="clip_image003[6]" src="http://s3.51cto.com/wyfs02/M00/6C/8A/wKiom1VLPnbDeehYAAGiaMRGMVk851.jpg" border="0" />
從可以看出,即使在前端和後端分離的LYNC SERVER部署設計中,每個LYNC伺服器(包括前端本身)上實際上都會有一個SQL執行個體(SQL EXPRESS),這些執行個體會承載後端資料庫執行個體中一些資料庫的副本(雖然在微軟的公開資料中只提到CMS資料庫xds,但我發現實際上還有RTC和Rtcdyn兩個資料庫),
650) this.width=650;" height="118" title="clip_image004[10]" style="border:0px;" alt="clip_image004[10]" src="http://s3.51cto.com/wyfs02/M01/6C/8A/wKiom1VLPnaBEqiEAABdBJC_ycI280.jpg" border="0" />
注意的複製方向,是一種推複製,即從CMS master向各個LYNC SERVER推,從服務控制台可以看到,每個LYNC SERVER都有一個Lync server replica replicator agent服務,它用來接收副本資料並向master反饋複製結果資訊的,當然master上有一個對應的Lync server master replicator agent服務。
650) this.width=650;" height="30" title="clip_image005[6]" style="border:0px;" alt="clip_image005[6]" src="http://s3.51cto.com/wyfs02/M02/6C/8A/wKiom1VLPnaA5JlmAAAts24PAsM087.jpg" border="0" />
很明顯,這種設計主要是考慮到一個可用性,比如即使後端資料庫宕掉,因為其他LYNC伺服器本地還有一份配置副本,LYNC的主要功能是不會有影響的(所以從這個角度來說,後端SQL宕掉並不會導致整個LYNC系統癱瘓,大部分功能都能使用,從這點來說,後端是否需要部署成鏡像或群集也值得商討,因為鏡像和群集特別是鏡像,雖然提供了高可用,但鏡像本身可能成為一個新的故障點,導致更多的維護任務)。我認為這種設計比後端單獨兩台SQL鏡像更可靠。
從上面的圖我們還可以推想LYNC的部署順序,第一步準備AD,第二步準備CMS要用的SQL,第三步是調用拓撲產生器建立配置儲存到CMS,第四步才是根據CMS配置資訊安裝或更新LYNC,對於標準版,就是的順序,當然對於企業版,第二步不是圖中的在標準版上準備CMS儲存地,一般是部署後端SQL。從我個人的感覺來說,LYNC這個發布嚮導介面設計有些問題,沒考慮到使用者體驗,完全不像windows server的1、2、3、4指得那麼清清楚楚:)。
650) this.width=650;" height="346" title="clip_image007[6]" style="border:0px;" alt="clip_image007[6]" src="http://s3.51cto.com/wyfs02/M00/6C/8A/wKiom1VLPneistWWAAGRdxKBrpw864.jpg" border="0" />
650) this.width=650;" height="262" title="clip_image009[6]" style="border:0px;" alt="clip_image009[6]" src="http://s3.51cto.com/wyfs02/M01/6C/8A/wKiom1VLPnjik79SAADLX1xNwDw019.jpg" border="0" />
下面用一張表格來表現各種資料庫的用途及所在執行個體(不管是LYNC標準版,還是企業版,都是一樣的,只是標準版用的是sql express,企業版後端用的是獨立的資料庫)。
注意:lync server的標準版實際是一個很有意思的東西,不像其他產品的標準版與企業版的區別主要表現在功能上,lync server標準版功能不缺失,它的特點是只能使用SQL express,但它有個優點,可以把絕大部分角色裝在一台伺服器上(而企業版還不行),這個特性對一般的中小型環境是很有利的,因為你可以只裝一台LYNC SERVER標準版就容納了所有功能(除了邊緣和WAC,另外歸檔和監控還是需要獨立後端,但中小公司也許對這個不感冒,何況歸檔還可以與郵件整合,不一定用SQL),考慮到高可用,再裝一台標準版做備份池,也可以實現幾分鐘之內的災難恢複。而企業版由於不能把幾個角色合在一台,反而把一件事情搞複雜了。
650) this.width=650;" height="509" title="clip_image010[6]" style="border:0px;" alt="clip_image010[6]" src="http://s3.51cto.com/wyfs02/M02/6C/8A/wKiom1VLPnnBPS2qAAKKLI9LdV4893.jpg" border="0" />
l RTC執行個體:(就是後端資料庫)
650) this.width=650;" height="207" title="clip_image011[6]" style="border:0px;" alt="clip_image011[6]" src="http://s3.51cto.com/wyfs02/M00/6C/8A/wKiom1VLPnmCUNewAACQU4JVD-A514.jpg" border="0" />
l RTCLOCAL執行個體:(每個LYNC伺服器都有)
650) this.width=650;" height="118" title="clip_image004[11]" style="border:0px;" alt="clip_image004[11]" src="http://s3.51cto.com/wyfs02/M02/6C/85/wKioL1VLP-2RtGU-AABdBJC_ycI207.jpg" border="0" />
l LYNCLOCAL執行個體:
650) this.width=650;" height="84" title="clip_image012" style="border:0px;" alt="clip_image012" src="http://s3.51cto.com/wyfs02/M02/6C/85/wKioL1VLP-2AxW_IAABUafP8M3k395.jpg" border="0" />
本文出自 “火線科技兄弟夥的部落格” 部落格,請務必保留此出處http://huoxian.blog.51cto.com/9437529/1643971
Skype for business/Lync資料庫結構描述解析