其實思來想去一直在糾結要不要寫SQL的高可用,但是前面ADFS的數據庫又提到了,想想總是讓各位看官去別的地方搜索如何做SQL高可用也有點扯淡,索性就寫吧。
既然寫,那就寫的全面一點,SQL的高可用可分3種,但我只打算寫羣集和alwayson,這篇就寫羣集吧。
SQL的羣集是基於windows故障轉移羣集的且需要共享存儲空間。用網絡上的圖來一段SQL羣集的自我解說
Instance是SQL實例,兩臺服務器是羣集節點,服務器接共享存儲,SQL實例存放在共享磁盤中,SQL服務器任意一臺宕機另外的服務器立馬“接管”實例。
-------------------------------------------------------華麗的分割線----------------------------------------------------
描述完成,就開幹吧,先說資源準備:
硬的部分:
如客戶有硬件存儲,請讓客戶分分鐘給你劃3塊磁盤空間(共享存儲,即存儲劃LUN指向每一臺SQL服務器)
如果客戶沒有硬件存儲,也不用擔心,讓客戶準備一臺Windows Server 2012 R2的物理服務器\虛擬機,專門用來做存儲服務器(當然磁盤空間要劃分夠),把這臺存儲服務器當作存儲給每個節點劃分磁盤空間!
上面說到了3塊磁盤,用處:
磁盤1:用於故障轉移仲裁(1GB空間足夠了)
磁盤2:用於分佈式事物DTC存放
磁盤3:用於SQL Server實例(這個不用解釋了吧)
硬的準備完了,就開始準備軟的:
需要有AD服務器
SQL Server加域
SQL Server作爲羣集節點需要配置兩張網卡,其中一張心跳網卡,IP地址隨意(取消DNS註冊和TCP\IP NETBIOS)
SQL Server上需要安裝.NET3.5、多路徑I\O、故障轉移羣集
存儲服務器安裝ISCSI服務
-----------------------------------------------華麗的分割線------------------------------------------------
以上是需要提前準備的資源,下面就介紹下環境:
AD作爲域控,同時作爲存儲服務器。SQL01和SQL02作爲故障轉移羣集節點
IP地址信息:
角色 | IP地址 | 描述 |
AD | 192.168.10.10 | |
SQL01 | 192.168.10.11 | |
172.16.10.11 | 節點心跳網卡 | |
SQL02 | 192.168.10.12 | |
172.16.10.12 | 節點心跳網卡 | |
Cluster | 192.168.10.100 | 故障轉移羣集IP地址(虛擬IP) |
SQLdtc | 192.168.10.200 | DTC IP地址(虛擬IP) |
SQLCluster | 192.168.10.20 | SQL羣集IP(虛擬IP) |
以上是基礎的介紹,接下來我會繼續分享基礎環境搭建及羣集部署,由於Exchange的POC環境並未做SQL的高可用所以在自己筆記本上搞了三個虛擬機來做試驗。敬請期待