最近一段時間在公司忙於將各類系統進行升級,其最主要的目標有兩個,一個是將TFS2010升級到TFS2013,另外一個是將SharePoint 2010升級到SharePoint 2013。本記錄旨在記錄升級過程中的一般性准備工作及在升級中可能存在的各種坑的解決方案。本記錄會大量引用外部文章來作為解釋說明,並不是一個step by step的指引,本文章並不適合小白用戶而適合具有一定IT管理經驗的人閱讀。另外本文也並不保證完全正確。
第一篇:SQL Server 2012的群集安裝
1. 基本的拓撲結構描述
存儲環境:
我司具有兩個計算機機房,一個主機房和一個備機房,兩個機房相隔40公里通過裸光纖連接,在8K數據包的情況下裸光纖的延遲在4毫秒。對存儲本身進行了群集,當往主機房存儲寫入的時候會實時同步到備份機房。
雲環境:
辦公網使用Windows Server 2012 Hyper-V搭建了雲服務,Hyper-V本身做了群集,虛擬機放在存儲上,這樣可以保證虛擬機在幾十秒內能夠從主機房移動到備機房。
整個網絡以高可用性為主,以保證在遇到主機房完全損毀時可以無損的遷移到備機房。
2. 現在的SQL Server 2008 R2環境
現在的SQL Server 2008 R2放於一台相對強悍的物理服務器上,並且未作群集,上面承載了所有SharePoint站點數據庫、TFS數據庫及其它幾個小型業務系統數據庫。
3. 升級所要考慮的問題
環境:
Windows Server 2012 R2 + SQL Server 2012
高可用性:
考慮到原先在一台物理服務器上,並且數據都存在本機磁盤上,可靠性太差。所以這次需要考慮高可用性方案,總結為兩點:
-
- 建立雙節點SQL Server 2012故障轉移群集。
- 雙節點SQL Server 2012服務器均做虛擬機。
- 主節點SQL Server虛擬機限制在主機房Hyper-V群集機器中漂移。
- 備節點SQL Server虛擬機限制在備機房Hyper-V群集機器中漂移。
- SQL Server的數據放在存儲的單獨卷上。
為什么選擇故障轉移群集?
對於SQL Server來說,提供了3種方式的高可用性,大致總結為:
1:鏡像(Mirror),特點是存儲為兩份,主節點可讀寫,備節點不可讀寫。鏡像實際上通過事務日志傳遞來實現兩份數據同步。當主節點失效后,會立即啟用備節點。Windows Server不需要做群集。從SQL Server 2005就開始支持,並且使用SQL Server標准版即可。關於此種方式更詳細的介紹請參考:http://technet.microsoft.com/en-us/library/ms189852.aspx
2:Always on(AlwaysOn Failover Cluster Instances),特點是存儲為兩份,主節點可讀寫,備節點可讀。Windows Server必須做群集。這個特性是SQL Server 2012才開始支持的。具體可以參考:http://technet.microsoft.com/en-us/library/ms189134.aspx
3:故障轉移群集(Windows Server Failover Clustering with SQL Server):特點是存儲為一份,主節點可讀寫,備節點不可讀寫,當主節點失效后會自動切換到備節點,而且此操作對於應用程序來說是透明的。Windows Server必須要做群集。具體的可以參 考:http://technet.microsoft.com/en-us/library/hh270278.aspx
考慮到我們的存儲本身就是群集的,將數據存儲兩份有些浪費我們的存儲資源,所以我們最終選擇了第三種方案,也就是故障轉移群集。
4. 故障轉移群集需要注意的事項
- 要有共享磁盤,通常給3個共享磁盤,一個作為Windows Server群集的仲裁磁盤,一個作為MSDTC的磁盤,一個作為SQL Server的數據磁盤,當然SQL Server的數據磁盤你也可以給多個。
- Windows Server本身要先做群集,我們選擇的Windows Server 2012 R2,在安裝群集前,首先使用虛擬光千卡連好三個共享磁盤,然后還要注意是給每個虛擬機分配兩塊網卡,其中一塊作為心跳線,另外一塊作為正常的網絡通信。安裝Windows Server 2012 Failover Cluster可以參考這篇Blog:http://blogs.msdn.com/b/clustering/archive/2012/05/01/10299698.aspx
- Windows Server 2012 R2群集做完之后,要安裝MSDTC並且加入群集,SQL Server 2012可以不安裝MSDTC,而SQL Server 2008 R2及以下則必須安裝,我根據習慣仍然安裝了MSDTC。
- SQL Server安裝時主節點要選擇群集安裝,備節點要選擇添加到現有群集中。SQL Server群集的安裝請參考:http://technet.microsoft.com/en-us/library/hh231721.aspx ,另外這里還有一篇圖文並茂的安裝步驟:http://www.sqlinstallation.com/sql-server-2012-cluster-step-step-installation-guide/
5. 就地升級問題
非SQL Server群集不能就地升級到SQL Server群集中,必須要重新安裝。
6. 數據遷移
數據遷移非常簡單,只要將原SQL Server 2008 R2的數據庫backup之后,再restore回SQL Server 2012上即可。
總結:
相對而言,SQL Server的遷移過程是最簡單的,SharePoint才是最折磨人的。當然下一節我會介紹TFS的遷移過程。