Lycn 2013 with SQL AlwaysOn 「一」建立AlwaysOn
注意:微軟官方并未正式宣布Lync2013能夠使用Sql Server的AlwaysOn高可用性技術(shù),本文只是采取一些旁門左道取巧的辦法達(dá)到該目的,其實施完成后還存在一些問題和風(fēng)險,搭來穩(wěn)定還好,如果真出了啥岔子……閱讀本文也需要有一定的Lync2013實施經(jīng)驗,因為其中省略了一些大家熟知的步驟(主要是懶得截圖湊篇幅,如果有步驟不明白可以留言交流)
????Lync2013的下一代產(chǎn)品Skype?for Business Server 2015已經(jīng)發(fā)布,并且官方支持AlwaysOn?
目前據(jù)我們所知,Lync的后端SQL數(shù)據(jù)庫高可用只能有兩種辦法
1、SQL clustering
2、SQL mirroring
(Database software support in Lync Server 2013)
前者需要額外的共享存儲,后者需要一臺額外的見證服務(wù)器。這樣一來在中小型高可用架構(gòu)當(dāng)中,就會涉及到成本問題。
Alwayson是個好功能,靠著從DAG學(xué)來的經(jīng)驗(然而并沒有心跳線!?),用事務(wù)日志級別的復(fù)制保持主副本和輔助副本的同步,只需要使用到本地磁盤;成本低廉。(關(guān)于alwayson的原理,如果沒聽說過,或者跟它不熟,請先參考以下文檔:
https://msdn.microsoft.com/zh-cn/library/hh403414.aspx?)
早在2014年的Lync conference上,Lync產(chǎn)品組的人就說過alwayson功能將會添加對Lync的支持,然而時至今日……依然沒有官方聲稱可以了。
于是某天實在忍不住了,仔細(xì)想了想其到底是哪里不支持。做了一些分析如下:
其實這是一個先有雞后有蛋的問題,首先AlwaysOn就跟Exchange的DAG一樣,你得先有數(shù)據(jù)庫,然后才能有DAG組。那么同樣的,在安裝好兩臺SQL Server之后,我得先建立數(shù)據(jù)庫,然后才能對這些數(shù)據(jù)庫進(jìn)行AG組的操作。
而且,AlwaysOn就算搭建好了,那么它只提供一個偵聽器供調(diào)用,這個偵聽器的意義是,你只能對現(xiàn)有AG組里的數(shù)據(jù)庫進(jìn)行增刪讀寫,而不能跳出去,通過這個偵聽器來創(chuàng)建數(shù)據(jù)庫。
那么問題來了,Lync 2013在發(fā)布拓?fù)涞臅r候,就開始執(zhí)行創(chuàng)建數(shù)據(jù)庫的操作了。那,我在發(fā)布拓?fù)涞臅r候,后端數(shù)據(jù)庫連接里填的一定是某個單臺數(shù)據(jù)庫服務(wù)器名或是某個Cluster的名稱,而不能是AlwaysOn的偵聽器名稱。
OK,那將拓?fù)淅锏暮蠖藬?shù)據(jù)庫改成偵聽器名稱不就行了嗎?問題又來了,拓?fù)浒l(fā)布了之后,這玩意兒他不讓改…除非刪除拓?fù)?#xff0c;即移除當(dāng)前的中央存儲位置。也就是說,我們在Lync拓?fù)淅?#xff0c;先寫其中一臺SQL,發(fā)布拓?fù)?#xff0c;讓它吭哧吭哧創(chuàng)建完需要的庫,接下來殺雞取卵,把創(chuàng)建好的數(shù)據(jù)庫加到AG組里,然后刪除部署,刪除中央存儲位置,重新發(fā)布一個拓?fù)?#xff0c;里面寫的是AG組,這樣Lync去檢查數(shù)據(jù)庫結(jié)構(gòu)的時候發(fā)現(xiàn),咦!數(shù)據(jù)庫都建好了,只需要做做修改就能用了。然后順利發(fā)布新的拓?fù)?#xff0c;有了新拓?fù)?#xff0c;再把Lync前端部署掉,測一下客戶端連通性。搞定~
好,思路有了。搭個環(huán)境試試吧,畢竟問題不會自己跳出來,而是是動手了才能發(fā)現(xiàn)的。
環(huán)境里一共需要5臺機(jī)器:屌絲環(huán)境,一切從簡。
LyncFE.contoso.com??? 前端
LyncBE-1.contoso.com? 后端節(jié)點1
LyncBE-2.contoso.com? 后端節(jié)點2
DC.contoso.com? 域控及CA
win7client.contoso.com? 客戶端
基本配置部分我就不寫了,什么起域控啊,起CA啊,這都是基礎(chǔ)知識。
我們首先裝好兩臺后端上的SQL Server 2014,注意Sql Server 2014的小版本,如果是老的版本Lync 2013在創(chuàng)建數(shù)據(jù)庫的時候會報未識別SQL版本(如果你的Lync 2013已經(jīng)升級了CU6補丁,那么SQL 2014去打個CU1就ok了)。
安裝完成之后,還得安裝WSFC,即故障轉(zhuǎn)移群集服務(wù),不然這個地方無法勾選。
?
發(fā)揮Windows Server 2012 的優(yōu)勢,一臺控制整個場~
?
接著打開故障轉(zhuǎn)移群集管理器,創(chuàng)建群集。注意在驗證群集那一步選擇不要驗證,要記住,咱很窮,沒有共享存儲卷!
取個名字,配個ip地址,AlwaysOn畢竟依賴WSFC,還是得認(rèn)真規(guī)劃一下這一步的選項。
創(chuàng)建完成之后,再打開Sql Server配置管理器,在SQL實例上單擊右鍵 - 屬性,選擇AlwaysOn高可用性,然后勾上“啟用AlwaysOn可用性組”,兩個后端節(jié)點都得勾一下。
創(chuàng)建一個共享文件夾,供兩個后端節(jié)點在創(chuàng)建AlwaysOn當(dāng)中進(jìn)行初次數(shù)據(jù)文件同步,在共享權(quán)限里把兩臺SQL服務(wù)器的計算機(jī)賬戶直接加進(jìn)去給FullControl,免得后面麻煩。
接下來我們打開LyncBE-1即第一臺節(jié)點上的SQL 控制臺,創(chuàng)建一個臨時的數(shù)據(jù)庫,并且確認(rèn)這個數(shù)據(jù)庫的選項里頭,恢復(fù)模式為“完整”
然后對其進(jìn)行一次“完整”備份
備份完成之后,開始創(chuàng)建alwaysOn的可用性組,取個名字叫SqlAG好了。
此時我們的臨時數(shù)據(jù)庫已經(jīng)滿足了可用性組的先決條件,直接勾選,然后下一步。
這里我們將第二個節(jié)點LyncBE-2添加進(jìn)來,它會自動識別為輔助角色。至于后面的可讀輔助副本是啥意思,大家可以去參考文章一開頭給出的AlwaysOn文檔。
選擇最后的偵聽器選項卡,就直接創(chuàng)建一個AG組的偵聽器,端口號就寫SQL默認(rèn)的端口1433好了,記得為其規(guī)劃一個ip地址。
創(chuàng)建完AG組之后,開始數(shù)據(jù)同步,初次同步通過我們最開始建立的共享位置來完成。填入共享路徑。
woops,最后一步報錯了,原來是臨時數(shù)據(jù)庫的存放文件夾必須對應(yīng)輔助副本節(jié)點上的相同位置,換句話說,我在LyncBE-1上的C:\sqldata文件夾下放的數(shù)據(jù)庫,在LyncBE-2上也必須有一個C:\sqldata文件夾。
默認(rèn)共享直接創(chuàng)建一個C:\sqldata,再來一次驗證。
驗證通過!
創(chuàng)建完成!在SQL控制臺面板中,右擊可用性組的名字,選擇顯示面板,是不是像看到了DAG的那個面板一樣親切?
手動驗證下故障轉(zhuǎn)移試試?沒問題。
OK,那到這里,我們首先通過一個測試數(shù)據(jù)庫建立起了AlwaysOn可用性組。
下一節(jié),我們就聊聊怎么一步步的偷梁換柱,殺雞取卵,把一個屌絲架構(gòu)的Lync 2013搭在這個高可用性組上面。
不得不說,在win2012R2下面用SQL 2014建立AlwaysON真是簡單,如果是在2008R2的操作系統(tǒng)上面搭這個,你需要額外打上以下幾個補丁,而且每一個都需要你留個Email然后等它發(fā)到你郵箱里…
轉(zhuǎn)載于:https://blog.51cto.com/sodaxu/1658685
總結(jié)
以上是生活随笔為你收集整理的Lycn 2013 with SQL AlwaysOn 「一」建立AlwaysOn的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022 年红队工具和模拟工具包
- 下一篇: 【python二级】红楼梦