簡述SQL2008部署多實例集群(學習)

来源:http://www.cnblogs.com/wenBlog/archive/2016/08/25/5807490.html
-Advertisement-
Play Games

資料庫集群 集群的存在意義是為了保證高可用、數據安全、擴展性以及負載均衡。 什麼是集群? 由二台或更多物理上獨立的伺服器共同組成的"虛擬"伺服器稱之為集群伺服器。一項稱做MicroSoft集群服務(MSCS)的微軟服務可對集群伺服器進 行管理。一個SQL Server集群是由二台或更多運行SQL S ...


資料庫集群

      集群的存在意義是為了保證高可用、數據安全、擴展性以及負載均衡。

什麼是集群?

     由二台或更多物理上獨立的伺服器共同組成的"虛擬"伺服器稱之為集群伺服器。一項稱做MicroSoft集群服務(MSCS)的微軟服務可對集群伺服器進 行管理。一個SQL Server集群是由二台或更多運行SQL Server的伺服器(節點)組成的虛擬伺服器。如果集群中的一個節點發生故障,集群中的另一個節點就承擔這個故障節點的責任。認為一個 SQL Server集群能夠給集群中的兩個節點帶來負載平衡,這是一種常見的誤解。雖然這似乎很有用,但卻是不正確的。這也意味著SQL Server集群不能真正提高性能,只能提供故障轉移功能。故障轉移就是當系統中的一臺機器發生故障失去其功能時,另一臺機器將接手運行它的SQL Server實例。這種功能失效可能是由於硬體故障、服務故障、人工故障或各種其它原因。

     對於在SQL Server 2008\2008R2下安裝SQLServer 實例的集群似乎有越來越多的問題。與2005相比安裝方法要求每個節點都被獨立執行。下麵我我們一起看一下如何實現集群的部署。

部署

    本篇針對Share-Disk架構的集群進行介紹,為了更好展現,我們假定一下幾個場景(http://www.it165.net/admin/html/201403/2499.html--配置步驟):

    有3台電腦作為節點,分別叫做NodeA, NodeB 和NodeC ,IP地址如下。

  • NodeA - IP Address 10.10.10.10
  • NodeB - IP Address 10.10.10.11
  • NodeC - IP Address 10.10.10.12.

    三個節點是Windows集群SQLFAILSET01 (虛擬IP地址是10.10.10.20)的成員。在安裝集群應用程式之前需要安裝和配置這個基於Windows 集群的平臺包括虛擬網路和IP。三個節點有獨立的硬體(處理器,記憶體,NIC等等)和軟體(操作系統)。安裝兩個新的SQLServer集群實例,使用唯 一的虛擬網路名稱和實例名稱。兩個虛擬網路名稱和虛擬IP地址如下:

  • SQLCLUST01 - Virtual IP Address 10.10.10.21
  • SQLCLUST02 - Virtual IP Address 10.10.10.22.

實例名:

  • INST1 (SQLCLUST01)
  • INST2 (SQLCLUST02)

為了實現集群按照以下文檔部署(配置步驟請參考連接或者其他文獻):

  • 虛擬網路名稱: 與你的電腦在Windows域中的名稱一樣。它一定是唯一併且命名遵循常規的名稱命名限制如字元長度和特殊字元的使用,
  • 虛擬IP地址: 與分配客戶\公共網路IP一樣。這是一種共用的IP節點,用來接收跟指定實例通信的IP。
  • 共用驅動器: 這些共用存儲是典型的通過光纖通道或者iSCSI連接的邏輯單元。這些邏輯單元對所有的集群幾點公開並且分配唯一的邏輯驅動字元。不要與本地驅動器(通常由物理磁碟直接附加到伺服器上)混淆。
  • NIC: 網路介面卡。

    如果你沒有這樣做,則需要將集群磁碟資源R、S和T故障轉移部署到NodeA,同樣也會安裝軟體組件和資料庫到這些驅動器上。從在NodeA開啟 SQLServer2008的安裝開始,選擇"New SQL Server failover cluster installation"。然後安裝相關的基礎選項配置以及許可。來到實例配置啟動的安裝部分。

    從功能列表中選擇你想去安裝的項目。下一個屏幕就是你說提供的實例配置,由實例名稱和虛擬網路名稱組成。對於NodeA使用如下配置:

network name - SQLCLUST01

instance name - INST1

 

在下一個屏幕詳細展示集群資源組和共用磁碟資源(分配給新實例的)。對於NodeA如下配置:

SQL Server data - R:

SQL Server logs - S:

SQL Server backups - T:

    一旦這些信息被提交,系統將提示網路配置將使用之前選擇的虛擬IP地址。剩下的安裝明細包括了集群的安全策略,服務配置(服務賬戶明細)和資料庫引擎配置 (包括賬戶配置、文件流設置和數據目錄)。在數據目錄的標簽下,展示你選擇的之前提供的驅動盤符--“驅動\目錄” 結構。繼續安裝,只要安裝成功你就會擁有第一個集群實例在NodeA上。

     接下來是NodeB,需要將故障轉移集群磁碟資源L,M和N部署到NodeB上準備安裝。

    現在在NodeB上開啟SQLServer2008的安裝並且再次點擊"New SQL Server failover cluster installation"。根據之前的步驟安裝,用網路名SQLCLUST02替換之前的,實例名稱為INST2,邏輯磁碟驅動器為L(數據),M(日 志)和N(備份)。

    此刻,我們已經有了兩個故障轉移實例,分別部署到了NodeA和NodeB上。兩個實例使用完全不同的磁碟驅動器和盤符,不同的Windows2008程式組和獨立的虛擬網路名稱,實例名稱和虛擬IP地址。激活節點的信息如下:

  • SQLCLUST01\INST1 active on NodeA.
  • SQLCLUST02\INST2 active on NodeB.

 

    但是,目前對於每個實例都沒有可以利用的故障轉移伺服器,現在來解決這個問題。為了讓NodeC作為每個實例的轉移節點,需要在NodeC上多次安裝SQLServer實例。

    首先在C上開啟2008的安裝,並且選擇"Add node to a SQL Server failover cluster"。安裝程式將完成多個選擇和提示等關鍵信息。之後,安裝將提示集群節點配置。在這裡選擇你希望加入的SQLServer實例 (SQLCLUST01\INST1)。繼續完成安裝,就有了NodeC作為SQLCLUST01\INST1的故障轉移“搭檔”。

    接下來,第二次安裝SQLServer 2008在NodeC上,選擇"Add node to a SQL Server failover cluster"。再一次按照如上步驟,再一次按提示配置集群節點。選擇(SQLCLUST02\INST2) 作為集群實例並且按照安裝步驟完成。這是NodeC就成為了SQLCLUST02\INST2的故障轉移“搭檔”。

下麵就是安裝中心的截圖以及選擇的選項:

下麵的截圖展示的是安裝定義加入實例的地方:

 

    如上所示,安裝已經完畢,整個流程更加易於管理。當然利用新的氣流特性和集成服務包或累積更新來減少可以減少部署新SQL伺服器實例的時間。這裡就不展開講了。

 

總結

    本篇只是簡單介紹了最簡單的故障轉移集群如何搭建。集群有很多種形式如本篇這種共用磁碟模式的資料庫集群,以及實現負載均衡的集群等等,但是正如文章一開 始我提到的SQL Server集群不能真正提高性能。業務的應用場景各有不同還是需要不斷地配置升級來完成匹配適應的集群。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Android Weekly issue #219, 筆記. ...
  • 一:首先查看一下關於UIButton的定義 UIButton是繼承於UIControl,並且也遵循NSCoding的協議; 知識點1:關於UIControlState的Enum值 知識點2:contentHorizontalAlignment;可以設置UIButton文字的對齊方式,contentH ...
  • 改變顏色 [_hotProductsTableView setSeparatorColor : kSeparatorColor]; -(void)viewDidLayoutSubviews { [super viewDidLayoutSubviews]; if ([_hotProductsTable ...
  • 最近在Android手機開發中使用了ORM框架Sugar1.4,節省了大量代碼,同時也遇到不少麻煩,記錄如下: 1. 使用group by將查詢結果轉換為POJO對象 在Sugar1.4中,可以使用如下代碼將查詢結果轉換為POJO對象。 該方法會調用SugarRecord類的inflate方法,如下 ...
  • 表大小 慢的sql select a.city, a.agent_id, a.username, a.real_name, phone, zgy_name, login_count, user_count, count(distinct b.invest_id) user_invested, sum ...
  • 項目裡面需要對mongodb的性能進行測試,看了下網上很多做法都是使用YCSB進行測試,因此開始學習使用YCSB。 參考資料: 1 安裝 基於參考文檔(https://github.com/brianfrankcooper/YCSB/tree/master/mongodb )安裝java,mvn,y ...
  • 久等了,近期公司比較忙,學習的時間都沒有啊,到今日才有時間呢!!!好了,下麵就跟著筆者開始配置Hadoop集群吧。 hosts文件和SSH免密碼登錄配置好了之後,現在進入Hadoop安裝目錄,修改一些配置文件,修改配置還是相對簡單的,一下是需要修改的文件內容(當然這裡只是學習時的配置,更加深入的配置 ...
  • 轉自:http://chuansong.me/n/443660447865 PDB 的創建和訪問 在使用 dbca 建庫時,創建資料庫之前,可以保存一下創建腳本,分析其具體執行過程。以自定義方式創建名稱為julia的資料庫為例,其主要腳本 julia.sql 中包含如下腳本調用: 在第一個腳本 Cr ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...