十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
請問sqlserver集群是否一定要建立在windows集群的基礎(chǔ)上,
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),白云企業(yè)網(wǎng)站建設(shè),白云品牌網(wǎng)站建設(shè),網(wǎng)站定制,白云網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,白云網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
要實現(xiàn)微軟的微軟服務(wù)器群集(MSCS群集)需要滿足以下幾個條件:
1.、需要域環(huán)境,并且群集中的節(jié)點在域中需要相同的身份,要么都是DC,要么都是非DC
2、需要準(zhǔn)備一個域用戶帳戶,并且這個域用戶帳戶是群集節(jié)點主機本地管理員組成員
3、需要節(jié)點主機都可以訪問的共享存儲介質(zhì),并且是NTFS文件系統(tǒng),不能是動態(tài)磁盤
4、至少需要兩個網(wǎng)絡(luò)鏈接
5、需要Windows Server 2003企業(yè)版或數(shù)據(jù)中心版
集群的類型集群分為兩種類型:負(fù)載平衡和失效轉(zhuǎn)移作為共享硬盤,不同于包含操作系統(tǒng)的硬盤控制器。
MSCS解決方案可以采用主動/被動模式工作。在同一時間集群中只有一個節(jié)點是主動的,主動服務(wù)器存儲著集群內(nèi)的全部資源,并不斷將數(shù)據(jù)寫入共享硬盤,這就是所謂的quorum驅(qū)動器。它可以在故障恢復(fù)時,將共享狀態(tài)信息從一個節(jié)點轉(zhuǎn)移到另一個節(jié)點。定時的發(fā)送信號會通過服務(wù)器間的專用網(wǎng)傳遞,當(dāng)處于被動模式的服務(wù)器沒有受到這個信號,就認(rèn)為主動服務(wù)器已經(jīng)失效。此時,它便開始接管集群資源,并從quorum分區(qū)上讀取狀態(tài)信息。
在集群中安裝 SQL Server
為了在集群上安裝 SQL Server ,你必須首先按以下步驟建立一個可操作的集群:
1. 在每個服務(wù)器上安裝支持MSCS的Windows Server操作系統(tǒng)。
2. 為每個服務(wù)器建立一個"公開的"網(wǎng)絡(luò)連接。這個連接用來接收外部查詢請求。
3. 在集群的兩個節(jié)點間建立一個專用網(wǎng)絡(luò),用來傳輸節(jié)點狀態(tài)信號。
5. 將兩個服務(wù)器。連接到共享驅(qū)動器上,并建立磁盤資源。開啟集群中的一號節(jié)點(主動模式)。建立并初始化邏輯磁盤空間用來設(shè)置quorum驅(qū)動器,并建立其它的邏輯分區(qū)。
6. 通過控制面板的添加/刪除程序中的Windows組件添加并配置Microsoft Cluster Service。其中包括設(shè)置集群的虛擬名稱、IP地址,以及共享磁盤資源。
7. 開啟二號節(jié)點(被動模式)。當(dāng)二號節(jié)點在線時,回到一號節(jié)點,通過集群管理程序添加二號節(jié)點。在集群中添加二號節(jié)點非常容易,只要通過在一號節(jié)點進(jìn)行簡單配置就可以完成。
集群建立好后,就按照以下步驟安裝SQL Server了:
1. 插入SQL Server企業(yè)版的安裝光盤。如果沒有啟動自動安裝程序,就在光盤上setup.exe。
2. 在確認(rèn)計算機名界面,選擇虛擬服務(wù)器并輸入一個虛擬名稱。
3. 建立一個運行SQL Server的服務(wù)賬號。將集群中每個節(jié)點的管理權(quán)限賦給這個賬號。
4. 填寫IP地址、服務(wù)賬號,以及共享磁盤資源等內(nèi)容。
安裝程序會在集群中的每個節(jié)點上安裝SQL Server的復(fù)本,并在集群中建立虛擬設(shè)置。
差是except 交是intersection
UNION的語法格式為:
SELECT COLUMN_NAME
FROM TABLE_NAME
WHERE CONDITION
UNION [ALL]
SELECT COLUMN_NAME
FROM TABLE_NAME
WHERE CONDITION
[, ...n ]
其中COLUMN_NAME為查詢字段的名稱。字段的定義(UNION 運算的一部分)不必完全相同,但它們必須能夠通過隱式轉(zhuǎn)換相互兼容。UNION 指定組合多個結(jié)果集并返回為單個結(jié)果集。ALL表示將所有行合并到結(jié)果集合中。不指定該項時,被聯(lián)合查詢結(jié)果集合中的重復(fù)行將只保留一行。
EXCEPT和INTERSECT運算符的使用語法如下所示。
SELECT COLUMN_NAME
FROM TABLE_NAME
WHERE CONDITION
{ EXCEPT | INTERSECT }
SELECT COLUMN_NAME
FROM TABLE_NAME
WHERE CONDITION
[,...n ]
運算符的查詢選擇列表中的所有對應(yīng)項必須是相容的。有關(guān)更多信息,參見 SQL Reference 中的數(shù)據(jù)類型相容性表。
ORDER BY 子句(如果使用該子句的話)必須放在最后一個帶有集合運算符的查詢后面。對于每個運算符來說,如果列的名稱與查詢的選擇列表中對應(yīng)項的名稱相同,則該列名只能在 ORDER BY 子句中使用。
在具有相同數(shù)據(jù)類型和相同長度的列之間進(jìn)行的運算會產(chǎn)生一個具有該類型和長度的列。針對 UNION、EXCEPT 以及 INTERSECT 集合運算符的結(jié)果,參見 SQL Reference 中結(jié)果數(shù)據(jù)類型的規(guī)則。
isalive:根據(jù)SQLSERVER資源的Advanced Polices選項卡中的設(shè)置,這個檢查默認(rèn)是60秒做一次
也就是說每12次Looksalive檢查就會伴隨一個Isalive檢查。SQLSERVER需要Isalive檢查是因為即使
SQLSERVER服務(wù)是正在運行狀態(tài)也不能說明SQLSERVER就可以良好地響應(yīng)應(yīng)用程序的請求。有時候
可能整個SQLSERVER已經(jīng)掛起了,但是服務(wù)的狀態(tài)還是“啟動”,所以需要Isalive Check來進(jìn)一步
檢查SQLSERVER的狀態(tài)。此外,一旦lookalive檢查的結(jié)果失敗,Windows群集服務(wù)就會立刻觸發(fā)
Isalive檢查
很多組織機構(gòu)慢慢的在不同的服務(wù)器和地點部署SQL Server數(shù)據(jù)庫——為各種應(yīng)用和目的——開始考慮通過SQL Server集群的方式來合并。
將SQL Server實例和數(shù)據(jù)庫合并到一個中心的地點可以減低成本,尤其是維護和軟硬件許可證。此外,在合并之后,可以減低所需機器的數(shù)量,這些機器就可以用于備用。
當(dāng)尋找一個備用,比如高可用性的環(huán)境,企業(yè)常常決定部署Microsoft的集群架構(gòu)。我常常被問到小的集群(由較少的節(jié)點組成)SQL Server實例和作為中心解決方案的大的集群哪一種更好。在我們比較了這兩個集群架構(gòu)之后,我讓你們自己做決定。
什么是Microsoft集群服務(wù)器
MSCS是一個Windows Server企業(yè)版中的內(nèi)建功能。這個軟件支持兩個或者更多服務(wù)器節(jié)點連接起來形成一個“集群”,來獲得更高的可用性和對數(shù)據(jù)和應(yīng)用更簡便的管理。MSCS可以自動的檢查到服務(wù)器或者應(yīng)用的失效,并從中恢復(fù)。你也可以使用它來(手動)移動服務(wù)器之間的負(fù)載來平衡利用率以及無需停機時間來調(diào)度計劃中的維護任務(wù)。
這種集群設(shè)計使用軟件“心跳”來檢測應(yīng)用或者服務(wù)器的失效。在服務(wù)器失效的事件中,它會自動將資源(比如磁盤和IP地址)的所有權(quán)從失效的服務(wù)器轉(zhuǎn)移到活動的服務(wù)器。注意還有方法可以保持心跳連接的更高的可用性,比如站點全面失效的情況下。
MSCS不要求在客戶計算機上安裝任何特殊軟件,因此用戶在災(zāi)難恢復(fù)的經(jīng)歷依賴于客戶-服務(wù)器應(yīng)用中客戶一方的本質(zhì)??蛻舻闹匦逻B接常常是透明的,因為MSCS在相同的IP地址上重啟應(yīng)用、文件共享等等。進(jìn)一步,為了災(zāi)難恢復(fù),集群的節(jié)點可以處于分離的、遙遠(yuǎn)的地點。
在集群服務(wù)器上的SQL Server
SQL Server 2000可以配置為最多4個節(jié)點的集群,而SQL Server 2005可以配置為最多8個節(jié)點的集群。當(dāng)一個SQL Server實例被配置為集群之后,它的磁盤資源、IP地址和服務(wù)就形成了集群組來實現(xiàn)災(zāi)難恢復(fù)。
SQL Server 2000允許在一個集群上安裝16個實例。根據(jù)在線幫助,“SQL Server 2005在一個服務(wù)器或者處理器上可以支持最多50個SQL Server實例,”但是,“只能使用25個硬盤驅(qū)動器符,因此如果你需要更多的實例,那么需要預(yù)先規(guī)劃?!?/p>
注意SQL Server實例的災(zāi)難恢復(fù)階段是指SQL Server服務(wù)開始所需要的時間,這可能從幾秒鐘到幾分鐘。如果你需要更高的可用性,考慮使用其他的方法,比如log shipping和數(shù)據(jù)庫鏡像。
單個的大的SQL Server集群還是小的集群
下面是大的、由更多的節(jié)點組成的集群的優(yōu)點:
◆更高的可用新(更多的節(jié)點來災(zāi)難恢復(fù))。
◆更多的負(fù)載均衡選擇(更多的節(jié)點)。
◆更低廉的維護成本。
◆增長的敏捷性。多達(dá)4個或者8個節(jié)點,依賴于SQL版本。
◆增強的管理性和簡化環(huán)境(需要管理的少了)。
◆更少的停機時間(災(zāi)難恢復(fù)更多的選擇)。
◆災(zāi)難恢復(fù)性能不受集群中的節(jié)點數(shù)目影響。
下面是單個大的集群的缺點:
◆集群節(jié)點數(shù)目有限(如果需要第9個節(jié)點怎么辦)。
◆在集群中SQL實例數(shù)目有限。
◆沒有對失效的防護——如果磁盤陣列失效了,就不會發(fā)生災(zāi)難恢復(fù)。
◆使用災(zāi)難恢復(fù)集群,無法在數(shù)據(jù)庫級別或者數(shù)據(jù)庫對象級別,比如表,創(chuàng)建災(zāi)難恢復(fù)集群。
虛擬化和集群
虛擬機也可以參與到集群中,虛擬和物理機器可以集群在一起,不會發(fā)生問題。SQL Server實例可以在虛擬機上,但是性能可能會受用影響,這依賴于實例所消耗的資源。在虛擬機上安裝SQL Server實例之前,你需要進(jìn)行壓力測試來驗證它是否可以承受必要的負(fù)載。
在這種靈活的架構(gòu)中,如果虛擬機和物理機器集群在一起,你可以在虛擬機和物理機器之間對SQL Server進(jìn)行負(fù)載均衡。比如,使用虛擬機上的SQL Server實例開發(fā)應(yīng)用。然后在你需要對開發(fā)實例進(jìn)行壓力測試的時候,將它災(zāi)難恢復(fù)到集群中更強的物理機器上。
集群服務(wù)器可以用于SQL Server的高可用性、災(zāi)難恢復(fù)、可擴展性和負(fù)載均衡。單個更大的、由更多的節(jié)點組成的集群往往比小的、只有少數(shù)節(jié)點的集群更好。大個集群允許更靈活環(huán)境,為了負(fù)載均衡和維護,實例可以從一個節(jié)點移動到另外的節(jié)點。
由二臺或更多物理上獨立的服務(wù)器共同組成的“虛擬”服務(wù)器稱之為集群服務(wù)器。一項稱做MicroSoft集群服務(wù)(MSCS)的微軟服務(wù)可對集群服務(wù)器進(jìn)行管理。一個SQL Server集群是由二臺或更多運行SQL Server的服務(wù)器(節(jié)點)組成的虛擬服務(wù)器。如果集群中的一個節(jié)點發(fā)生故障,集群中的另一個節(jié)點就承擔(dān)這個故障節(jié)點的責(zé)任。
認(rèn)為一個SQL Server集群能夠給集群中的兩個節(jié)點帶來負(fù)載平衡,這是一種常見的誤解。雖然這似乎很有用,但卻是不正確的。這也意味著集束SQL Server不能真正提高性能。集束SQL Server只能提供故障轉(zhuǎn)移功能。故障轉(zhuǎn)移就是當(dāng)系統(tǒng)中的一臺機器發(fā)生故障失去其功能時,另一臺機器將接手運行它的SQL Server實例。這種功能失效可能是由于硬件故障、服務(wù)故障、人工故障或各種其它原因。
為何要集束SQL Server環(huán)境?
在實用性方面,集群SQL Server環(huán)境令人滿意。在進(jìn)行故障轉(zhuǎn)移時,將數(shù)據(jù)庫實例由一臺服務(wù)器轉(zhuǎn)移到另一臺服務(wù)器的時間非常短暫,一般只需要3至7秒鐘。雖然需要重建連接,但對數(shù)據(jù)庫的終端用戶而言,故障轉(zhuǎn)移處理通常是透明的。低廉的故障轉(zhuǎn)移成本還可幫助你對集群中的節(jié)點進(jìn)行維護,而不會造成服務(wù)器完全無法訪問。
SQL Server集群類型
一共有兩種類型的SQL Server集群:主動/被動集群和主動/主動集群。下面分別對它們進(jìn)行說明(說明以兩個節(jié)點的SQL Server集群為基礎(chǔ))。
主動/被動集群
在這種類型的集群中,一次只有一個節(jié)點控制SQL Server資源。另一個節(jié)點一直處于備用模式,等待故障發(fā)生。進(jìn)行故障轉(zhuǎn)移時,備用的節(jié)點即取得SQL Server資源的控制權(quán)。
優(yōu)點:由于服務(wù)器上只有一個實例在運行,所以在進(jìn)行故障轉(zhuǎn)移時,不需要另外的服務(wù)器來接管兩個SQL Server實例,性能也不會因此降低。
缺點:由于虛擬服務(wù)器上只有一個SQL Server實例在運行,另一臺服務(wù)器總是處理備用模式與空閑狀態(tài)。這意味著你并沒有充分利用你購買的硬件。
主動/主動集群
在這種類型的集群中,集群中的每個節(jié)點運行一個獨立且主動的SQL Server實例。發(fā)生節(jié)點故障時,另一個節(jié)點能夠控制發(fā)生故障節(jié)點的SQL Server實例。然后這個正常的節(jié)點將運行兩個SQL Server實例——它自己的實例和發(fā)生故障的實例。
優(yōu)點:通過這種配置,你能夠充分利用你的硬件。在這樣的系統(tǒng)中,兩個服務(wù)器都在運行,而不是只有一臺服務(wù)器運行,而另一臺處于等待故障發(fā)生的備用模式,因此你能夠充分利用你購買的機器。
缺點:如果進(jìn)行故障轉(zhuǎn)移,一臺服務(wù)器運行兩個SQL Server實例,性能就會受到不利影響。然而,性能降低總比虛擬服務(wù)器完全失靈要強得多。這種配置的另一故障在于它要求購買的許可要比主動/被動集群多一些。因為集群在運行兩個主動SQL Server實例,這要求你購買兩個單獨的服務(wù)器許可。在某些情況下,這也可能對你形成阻礙。
集群考慮
在高實用性方面,集群SQL Server環(huán)境有一定的優(yōu)勢。然而,高實用性也確實伴隨某種折衷。
首先,建立一個集群SQL Server環(huán)境非常昂貴。這是因為集群中的節(jié)點必須遵照集群節(jié)點的兼容性列表。而且,還需要建立一個復(fù)雜的網(wǎng)絡(luò),機器的配置必須幾乎相同,同時需要實現(xiàn)數(shù)據(jù)庫文件磁盤子系統(tǒng)共享。存儲區(qū)網(wǎng)絡(luò)(SAN)是建立這種子系統(tǒng)的不錯選擇,但SAN并非必要,而且十分昂貴。另外,如果你正在運行一個主動/主動集群,你需要為集群中運行SQL Server實例的每臺機器的處理器購買一個許可。
因為當(dāng)?shù)丶褐饕窒抻谕坏乩韰^(qū)域,自然災(zāi)難可能會使集群完全失靈。在那種情況下,你需要轉(zhuǎn)移到災(zāi)難恢復(fù)站點進(jìn)行繼續(xù)操作。你也可以建立地理分散的SQL Server集群,但這樣的系統(tǒng)更加復(fù)雜與昂貴。