SQL Server群集知識介紹

2022-03-06 06:33:07 字數 2636 閱讀 2520

一、sql server群集基本架構

無論群集還是非群集sql server伺服器,都是需要有以下基本組成部分才能提供資料服務:

sql server例項,也可以認為是sql server二進位制可執行檔案,它組成資料庫管理系統執行的各個服務,管理資料庫資料和客戶端的需求,執行操作等。不管是群集還是非群集這些例項都是安裝在本地磁碟上,以提供服務,因此在安裝sql server群集不僅在活動節點安裝主sql server群集,還要在不同節點添**集服務。

系統和使用者資料庫,包含實實在在的資料,以及各個資料庫單獨的設定等;非群集下,資料儲存在本地,被本地例項訪問;群集情況下,資料庫放在共享儲存上,每個節點都有能力訪問到(但任何時候只允許活動節點訪問);sql server例項通過掛載資料庫來完成資料庫管理。

訪問資料庫還需要伺服器網路名,或者ip位址。本地採用本地ip或者別名,群集訪問虛擬名稱或虛擬ip。

figure 1.1 sql server群集基本架構

通過以上群集伺服器的改變,sql server服務故障轉移到另外乙個節點前首先停止失敗節點的sql server服務,共享儲存掛載到備節點,虛擬ip重新繫結到備節點的公共網絡卡介面,再啟動備節點的sql server服務,備節點的服務讀取共享儲存資料,從而業務恢復。客戶端只是通過虛擬名稱或虛擬ip訪問sql server服務,從而訪問資料庫資源。

windows群集方式有多種,在多種凡是的基礎上,sql server群集例項安裝也有多種方式,不同業務可選擇不同方式安裝,在以安全和穩定的基礎上可盡量的利用伺服器資源。

二、sql server群集資源與依賴關係

在dos介面輸入cluster res 可檢視cluster群集資源有哪些,如下圖所示為windows群集的資源,哪些資源為sql server群集服務呢?

儲存系統和使用者資料庫,資料庫錯誤日誌。tempdb可不儲存在共享儲存上,由於重啟服務時,tempdb會從新生成。然而要求不同節點都擁有tempdb的存放路徑。以防止重啟出現路徑不存在異常。

儲存一直都是計算機界的乙個瓶頸,對io讀寫要求高的資料庫此瓶頸尤為明顯,因此在訪問頻繁的資料庫建議使用raid10以提高磁碟效能。

群機組中有windows群集的虛擬網路名稱和ip,用於管理windows群集。平常情況下,不管是心跳檢測還是服務檢測,都是節點網路之間通訊,很少涉及訪問域的情況,但若是發生故障轉移,需要驗證各個群集節點,涉及到域伺服器。

sql server網路名稱對於跨子網群集同樣存在是否所有ip都註冊上線問題,通過測試確定是不需要都註冊上線。需要將registerallprovidersip 設定為0:cluster res "sql server群集名稱" /priv registerallprovidersip=0

sql server服務和其他服務提供資料庫服務。

以上資源相互協作,通過群集服務管理器管理彼此關係,從而提供服務。這些資源的依賴關係如下圖所示:

1.網路名稱依賴於虛擬ip位址

2. sql server服務依賴於共享儲存與網路名稱

3. sql agent服務依賴於sql server 服務

四、sql server群集服務

sql server資料庫的核心元件,可以做成群集。在群集中安裝sql server資料庫引擎,連帶安裝sql server複製分發,全文索引,資料質量分析。

從sql server 2005開始支援分析服務群集;

如果單獨部署分析服務群集,則非常簡單,不需要考慮太多;如果要和資料庫引擎服務一起部署到同乙個群集上面,建議是將資料庫引擎服務和分析服務單獨安裝到各自的資源組裡面(這就需要各自資源組各自占有自己的共享磁碟、名稱、ip位址資源)

如果將分析服務和資料庫引擎服務安裝在同乙個資源組裡面,分析服務系統資料庫會和資料庫系統資料庫安裝在一起,一旦放置系統資料庫的磁碟出現問題,分析服務也會受到影響。同時在需要公升級資料庫引擎服務或者分析服務時候,二個服務也必須同時公升級。

從sql server 2008開始,全文索引和sql server broker服務已經整合到資料庫引擎服務裡面,所以在發生資料庫引擎服務故障轉移之後,二者亦可正常工作。

報表和ssis服務程式裡面暫不支援群集api,無法向資料庫引擎那樣做成群集。但是也可以通過建立通用群集應用程式來將報表和ssis做成群集。不過因為二者**裡面並不包含群集api,所以某些功能可能在切換之後不正常。

群集每個節點上面都會安裝該服務,預設禁用。

群集中每個節點也會安裝該服務,該服務無法群集。

SQLServer故障轉移群集的建立

本文主要給大家介紹如何建立sql server 故障轉移群集。在建立sql server 2000 故障轉移群集之前,必須配置 microsoft 群集服務 mscs 並使用 microsoft windows nt4.0 或 windows 2000 中的群集管理員建立至少乙個群集磁碟資源。在執行...

MySQL Cluster 群集安裝環境介紹

mysql cluster 群集安裝環境介紹 mysql 群集支援的作業系統 linux red hat,novell suse sun solaris ibm aix hp ux mac os x mysql 軟體 mysql max 版本 並不是指 maxdb mysql ndb cluster...

SqlServer索引介紹

索引的用途 我們對資料查詢及處理速度已成為衡量應用系統成敗的標準,而採用索引來加快資料處理速度通常是最普遍採用的優化方法。索引是什麼 資料庫中的索引類似於一本書的目錄,在一本書中使用目錄可以快速找到你想要的資訊,而不需要讀完全書。在資料庫中,資料庫程式使用索引可以重啊到表中的資料,而不必掃瞄整個表。...