在騰訊雲上建立您的 SQL Cluster (5)


終於到了本系列最後一篇,在
上一篇中,咱們準備好了各類資源,包括搭建 SQL Cluster 羣集的底層,在發佈了前面四篇後我收到了大量反饋,如今集中回答下。sql


A、文中採用 iscsi 服務器做爲共享存儲僅僅是爲 demo 效果,可是生產環境毫不推薦使用 IAAS 層面的 iscsi 服務器,那麼究竟什麼樣的架構才能夠相對合理( IaaS 層面的 Guest Cluster 沒有絕對合理的架構)呢?我我的建議是這樣的,能夠採用 AlwayON 來進行搭建 SQL 高可用(這也是從 SQL Server 2012 以後就主推的架構), AlwayON (可是一樣須要安裝 Cluster ,只是不須要再起 SQL Role ,在 SQL Server 2016 Always On 不依賴域)能夠無存儲進行搭建,若是確確實實須要搭建 SQL Cluster ,有什麼辦法呢?目前來講,國內大部分公有云廠商不支持雙掛 NAS 盤的架構, QCloud 實際上底層支持,可是這一樣須要必定的 level (錢。)才能夠支持這種特殊配置,據我所知,目前客戶羣體中不超過兩位數。安全


B、那既然 SQL Servr 2012 以後不推崇 SQL Server Failover Cluster 了,爲毛你還要寫 SQL Server Failover Cluster 文章?首先寫 SQL Server Failover ClusterC 最主要的目的是給大部分客戶在國內雲廠商上搭建 Failover Cluster (不僅僅是 SQL Cluster )提供指引,其次也是爲了驗證國內雲廠商的可折(tu)騰(cao)性,單從這兩點來看,目前效果仍是不錯的,從文章被官方騰雲閣收錄的情 況來看,國內雲廠商的容忍度仍是比較高的。服務器


C、後續計劃是怎麼樣的?大家覺得就只有 SQL Cluster 嗎?看過我我的博客的童鞋應該都知道,我所寫的文章基本都是系列文,並且是平行世界炒雞大的系列文,既然此次系列文反響還不錯,那麼解下來的尿性應該就是《在 QCloud 上建立您的 XXXX 》的一大堆博文了,最終會跟我 VMCloud 雲平臺系列文章 作整合,這算是埋下的一個彩蛋,敬請期待。網絡


有些童鞋確定存在疑問,爲何作一個 SQL Cluste r須要這麼多 CLB ( VIP ),這麼多角色有點混亂,如今咱們就來捋一捋,涉及到本系列文章其實最重要有三個角色:架構


  • Clusterapp

  • DTC運維

  • SQL Cluster分佈式


其中 Cluster 做爲 DTC 、 SQL 的基礎羣集服務,天然不用多講,那麼 DTC 與 SQL 之間存在什麼關係,我我的是運維集成工程師,並非專業 DBA ,經過請教 DBA 大師得知, DTC (分佈式事務協調器)主要目的是爲了實現分佈式的事務型任務處理,確保節點間進程通訊一致,若是不作 Cluster 的話 DTC 不須要搭建,若是須要作到羣集的話, DTC 就是必要條件之一,當前環境只存在一個 SQL Cluster ,默認選擇第一個(也是惟一一個) DTC 實例做爲分佈式實例(爲確保羣集完整,這是 SQL Server 2008 以後纔有的驗證)。ide


好了,話癆了這麼久,如今上正菜,涉及架構及相關網絡以下:測試





編號 服務器名稱 生產IP 存儲IP 心跳IP 對外VIP
1 Q-DC01 192.168.108.188
2 Q-SG01 192.168.108.206 10.11.11.231
3 Q-SQL01 192.168.108.254 10.11.11. 10.10.10.2 ClusterName  192.168.108.99
4 Q-SQL02 192.168.108.114 10.11.11. 10.10.10.234 SQLClusterName  192.168.108.99



  1.  ClusterName 羣集名已經用了一個 CLB ,如今要啓用 CLB 第2、三個 IP 做爲 SQLCluster 羣集 VIP 綁定給兩臺 CVM 並指定 DNS ,記得把反向區域建立好,避免 nslookup 出現解析錯誤:


    圖片

    圖片


  2. 在 SQL01 、SQL02 安裝 DTS 角色:

    圖片


    圖片


  3. 確認 SQL01 、 SQL02 介質到位,初始化兩個節點的數據盤(咱們將 SQL 主程序安裝在數據盤上,避免出問題),開始進行安裝:



  4. 點擊羣集管理器將 SQLData01 進行脫機刪除(上一篇主要爲了測試將共享存儲進行轉換成 CSV 測試轉移):




  5. 點擊 SQLServerSetup 安裝程序,切換到安裝:


  6. 第一個節點( Q-SQL01 )點擊新的羣集安裝並輸入 License :


  7. 一路點到安裝故障轉移羣集規則檢測,默認會有羣集警告(前篇介紹過因爲 virio 驅動):


  8. 功能目錄、實例根目錄統一選擇輸入數據盤路徑:

    圖片


  9. 輸入以前配置好的羣集名稱及輸入實例名稱:

    圖片


  10. 在檢查羣集資源頁上下一步(因爲存在仲裁盤及默認 cluster 這裏的 SQL 組不可用是正常的):

    圖片


  11. 在羣集磁盤頁面選擇 SQL Data01 做爲 SQLCluster 共享存儲:


  12. 配置管理帳戶(這裏選定域管理,後面再添加 SQLAdmin 做爲管理帳戶,建議生產環境直接使用 SQLAdmin 域帳戶做爲管理帳戶)


  13. 爲確保管理遍歷,這裏啓用 SA 帳戶:


  14. 確認配置後開始安裝:


  15. 完成搭建,檢查羣集狀態:


  16. 完成第一個節點的建立後,打開羣集管理器,點擊角色——選中 SQL Server 右鍵——選擇添加資源——分佈式事務處理協調器來添加 DTC 進行事務處理:


  17. 檢查分佈式事務處理協調器是否狀態正常,正常後對 SQL01 進行重啓下



  18. 登陸 SQL02 ,打開安裝並選擇:

    圖片


  19. 一路下一步就會識別到羣集並進行安裝:

    圖片
    圖片
    圖片
    圖片

至此,完成羣集搭建完成,若是應用要使用調用能夠直接採用 q-sqlcluster01.q-vmcloud.com(192.168.108.68) 進行訪問,當一個 SQL 節點掛了後 Cluster 就會切換到另一個節點(這裏會存在停機時間 1~2s),若是要實現沒有停機時間的羣集,能夠採用目前推薦使用的 AlwayOn 或者直接採用 PaaS 級別的 CDB (底層其實也是 AlwayOn )。 


關於如何鏈接該羣集實例及安全相關:


  • 直接使用 SQL Server Manager Stuio 連接,注意使用 SQLCluster VIP :192.168.108.68 進行連接 

  • 鏈接後先添加一個 SQL 管理員到登陸名中並指定相關權限

相關文章
相關標籤/搜索