網(wǎng)絡(luò)中存在一臺DC域控制器,域名為“xxx.com”, IP 地址為192.168.0.1,兩臺IIS服務(wù)器組成負載均衡架構(gòu),為外界提高訪問服務(wù),WebServer1的IP地址為192.168.0.3,WebServer2的IP為192.168.0.4。通過Forefront TMG防火墻發(fā)布到公網(wǎng)上,防火墻主機的外部 IP為 89.221.163.101,內(nèi)部IP為192.168.0.60。 后臺SQL Server數(shù)據(jù)庫負責管理數(shù)據(jù),兩臺SQL Server服務(wù)器組成故障轉(zhuǎn)移群集架 構(gòu),SQLServer1的 IP為192.168.0.5,內(nèi)部私有IP為170.30.0.1,訪問SAN共享存儲區(qū)域的IP為10.0.0.101。
SQLServer2服務(wù)器的IP為 192.168.0.6,私有 IP為170.30.0.2,訪問SAN存儲區(qū)域的IP為10.0.0.102。SQL Server的共有IP是面對用戶訪問的,私有IP用來連接心跳線。數(shù)據(jù)存儲在SAN中,IP為10.0.0.150,提供多塊硬盤組成RAID陣列來存儲數(shù)據(jù)。這些服務(wù)器上安裝的都是Windows Server 2012。
一 臺Windows Server 2012服務(wù)器名稱為Sanserver,配有三塊硬盤,用來組件RAID 1陣列。運行“diskmgmt.msc”程序,在磁盤管理窗口中選擇“磁盤1”項,在右鍵菜單上點擊“轉(zhuǎn)換到動態(tài)磁盤”項,在“磁盤”列表中選擇“磁盤1”和“磁盤 2”,點擊“確定”,在“磁盤1”項的右鍵菜單上點擊“新建鏡像卷→下一步”按鈕,在選擇磁盤窗口中的“可用”列表中選擇“磁盤2→添加”,將其添加到“已選擇”列表中。兩塊硬盤的容量均為1TB,所以卷大小總數(shù)和最大可用空間量也為1TB。
點擊“下一步”為該鏡像卷設(shè)置盤符(例如“K”盤)。之后選擇“執(zhí)行快速格式化”執(zhí)行格式化操作,這樣,就將兩塊磁盤制作成了RAID1陣列。在服務(wù)器管理器中點擊“添加角色和功能”項,選擇“文件和iSCSI服務(wù)→文件服務(wù)器”分支下的“iSCSI目標存儲提供程序”和“iSCSI目標服務(wù)器”項,點擊“安裝”按鈕,安裝上述組件。
在服務(wù)器管理器左側(cè)選擇“文件和存儲服務(wù)→iSCSI”項,點擊右上角的“任務(wù)→新建iSCSI虛擬磁盤”,在向?qū)У摹鞍淳磉x擇”列表中選擇K盤,點擊“下一步”,為其設(shè)置名稱(如“xndisk1”)和 描 述 信息,之后設(shè)置容量。在“下一步”窗口中選擇“新建iSCSI目標”,輸入目標名(如“target1”)和描述信息,在“下一步”窗口中點擊“添加”,在添加發(fā)起程序ID窗口中選擇“輸入選定類型的值”項,在“類型”列表中選擇“IP地址”項,在“值”欄中輸入“10.0.0.101”,點擊“確定”,添加該IP。按照上述方法,添加另外一個地址為 10.0.0.102的 IP。
這樣,就允許上述兩個SQLServer服務(wù)器訪問該目標存儲。之后點擊“創(chuàng)建”創(chuàng)建iSCSI虛擬磁盤和iSCSI目標,執(zhí)行且為目標設(shè)置訪問權(quán)限,分配iSCSI虛擬磁盤等操作。按照同樣的方法,分別創(chuàng)建名為“xndisk2”和“xndisk3”的iSCSI虛擬磁盤。操作方法基本相同,所不同的是在向?qū)Т翱谥羞x擇“現(xiàn)有iSCSI目標”項,共用上述創(chuàng)建的iSCSI目標。這里的“xndisk1”盤作為存儲盤,用來存儲SQL Server數(shù)據(jù)庫文件,容量最大?!皒ndisk2”盤作為仲裁磁盤使用,“xndisk3”磁盤作為SQL Server的分布式事務(wù)協(xié)調(diào)器(DTC)使用。
在 S Q L S e r v e r 1和SqlServer2上分別配置三塊網(wǎng)卡,其中一塊用來連接DC控制器,網(wǎng)絡(luò)連接名稱 為“gongy”,設(shè) 置 的 IP為192.168.0.5,將 其 加入域環(huán)境。一塊網(wǎng)卡用來連接心跳網(wǎng)絡(luò),網(wǎng)絡(luò)連接名稱為“xtwl”,設(shè)置的 IP為 170.30.0.10。 注 意,在Internet協(xié)議版本4(TCP/IP)屬性窗口中點擊“高級”,在“DNS”面板中不選擇“在DNS中注冊此連接的地址”項,在“WINS”面板中取消“啟用LMHOSTS查找”項的選擇狀態(tài),并選擇“禁用TCP/IP上的NetBIOS”項,取消與網(wǎng)絡(luò)廣播相關(guān)的設(shè)置,防止影響心跳線的數(shù)據(jù)傳輸和信號識別。
另一塊網(wǎng)卡連接后臺虛擬存儲,設(shè)置器IP為10.0.0.10。 對 于SQLServer,同樣配置三塊網(wǎng)卡,執(zhí)行與上述相同的操作,設(shè)置好所需的IP。在SQLServer1上打開服務(wù)器管理器,點擊“工具→iSCSI發(fā)起程序”,在“目標”面板中輸入Sanserver的IP,這里為10.0.0.150。點擊“快速連接”,在“已發(fā)現(xiàn)的目標”列表中選擇上述iSCSI目標,點擊“完成”。之后在磁盤管理器中可以看到上述三個iSCSI虛擬盤,在其上分別點擊“聯(lián)機”,使其處于聯(lián)機狀態(tài)。之后分別在“磁盤1”到“磁盤3”上點擊右鍵,選擇“初始化磁盤”項,進行初始化。之后點擊“新建簡單卷”項,執(zhí)行設(shè)定盤符,調(diào)整容量、格式化等操作。例如,將盤符分別設(shè)置為S,Q和T。
在SQLServer1上執(zhí)行同樣的連接操作,所不同的是,對磁盤執(zhí)行聯(lián)機操作,并修改盤符,與SQLServer一致即可。在SQLServer的服務(wù)器管理器中點擊“添加角色和功能→故障轉(zhuǎn)移群集→安裝”,安裝該角色。同理,在SQLServer上也安裝該角色。在SQLServer上打開故障轉(zhuǎn)移群集控制臺,點擊“創(chuàng)建群集”鏈接,在向?qū)Ы缑嬷蟹謩e輸入兩臺SQLServer服務(wù)器的全稱,例 如“sqlserver1.xxx.com”,“sqlserver2.xxx.com”點 擊“添加”添加到“選定的服務(wù)器”列表中。之后按照提示,執(zhí)行群集的測試操作。
測試通過后,輸入群集的名稱(例如“qunji1”),在“地址”列中設(shè)置器對外的IP(例如192.168.1.30)。點擊“下一步”,執(zhí)行群集的創(chuàng)建操作。在故障轉(zhuǎn)移群集控制臺左側(cè)打開“qunji1.xxx.com”群集,打開“節(jié)點”,可以看到兩臺SQLServer主機,點擊“存儲→磁盤”項,可以看到上述三塊iSCSI共享磁盤。打開“網(wǎng)絡(luò)”,可以看到上述三個網(wǎng)絡(luò)項目。選擇作為心跳網(wǎng)絡(luò)的項目(例如“群集網(wǎng)絡(luò)2”),在屬性窗口中選擇“不允許在此網(wǎng)絡(luò)上進行群集網(wǎng)絡(luò)通訊”項,點擊“確定”保存配置。
搭建好群集后,接下來配置角色。右擊“角色”,選擇“配置角色”項,在選擇角色窗口中選擇“分布式事務(wù)協(xié)調(diào)器”,點擊“下一步”,輸入客戶訪問點名稱(例 如“clientp”),IP設(shè) 置為192.168.1.31。在下一步的選擇存儲窗口中選擇盤符為T的卷,點擊“完成”,執(zhí)行針對DTC的高可用配置操作。在控制臺左側(cè)選擇“qunji1.xxx.com”群集名,在右側(cè)的“當前主服務(wù)器”欄中顯示活動的節(jié)點主機名。例如SQLServer1為活動主機,在該機上需要安裝.NET Framework 3.5組件,之后插入SQL Server 2012安裝盤或者安裝鏡像文件,執(zhí)行SQL Server 2012的安裝操作。在安裝界面中點擊“新的SQL Server故障轉(zhuǎn)移群集安裝”鏈接,之后按照提示按部就班地完成SQL Server的安裝操作。注意,在群集磁盤選擇窗口中的“可用共享磁盤”列表中選擇上述第一個iSCSI共享磁盤(盤符為S),用來存儲SQL Server數(shù)據(jù)庫。
在群集網(wǎng)絡(luò)配置窗口中設(shè)置群集的IP,例如192.168.1.33。 在SQLServer2上同樣執(zhí)行SQL Server 2012的安裝操作,所不同的是需要選擇“向SQL Server故障轉(zhuǎn)移群集添加節(jié)點”鏈接,執(zhí)行SQL Server的安裝操作,具體的安裝過程和上述基本相同,所不同的是在群集節(jié)點配置和群集網(wǎng)絡(luò)配置窗口顯示已經(jīng)配置好的群集和網(wǎng)絡(luò)項目,選中后,按部就班地執(zhí)行其余的安裝操作(例如設(shè)置數(shù)據(jù)庫引擎賬號等)。在故障轉(zhuǎn)移群集控制臺左側(cè)選擇“群集名稱→角色”項,在右側(cè)顯示上述安裝的MSDTC和SQL Server角色,在“所有者節(jié)點”列中顯示這些角色當前運行在哪臺節(jié)點主機上。
在DC域控制器上執(zhí)行SQL Server 2012安裝程序,點 擊“全 新SQL Server獨立安裝或向現(xiàn)有安裝添加功能”鏈接,在“功能選擇”中選擇“管理工具→管理工具(完整)→安裝”,安裝所需的SQL Server管理工具。在DC上打開SQL Server Management Studio管理工具,在“服務(wù)器名稱”欄輸入上述SQL群集 名,例 如“qunji1.xxx.com”。使用 Windows 身份驗證模式,點擊“連接”,連接到SQLServer群集。為了順利連接,可以在SQLServer1和SQLServer2上關(guān)閉Windows防火墻,或者在防火墻上開啟TCP 1433端口。
因為網(wǎng)站需要使用SQL Server后臺數(shù)據(jù)庫,所以在左側(cè)選擇“數(shù)據(jù)庫→新建數(shù)據(jù)庫”項,或者打開查詢窗口,執(zhí)行諸如“create database數(shù)據(jù)庫名稱”之類的命令,來創(chuàng)建所需的數(shù)據(jù)庫。為了讓網(wǎng)站順利連接數(shù)據(jù)庫,需要配置賬戶,例如選擇“安全性→登錄名→sa”,在屬性窗口中設(shè)置密碼,在狀態(tài)面板中選擇“授予”和“已啟用”項,點擊“確定”并刷新“登錄名”列表。如果使用SA賬戶連接,需要在SQL Server實例的屬性窗口中選擇“安全性”,在右側(cè)選擇“SQL Server和Windows身份驗證模式”項。之后在SQL Server實例的右鍵菜單中點擊“重新啟動”,使配置生效。
在WebServer1上分別打開服務(wù)器管理器,點擊“添加角色和功能”,在角色列表中選擇“Web服務(wù)器(IIS)”和“網(wǎng)絡(luò)負載平衡”,點擊“安裝”。將網(wǎng)站相關(guān)文件復制到WebServer1服務(wù)器的合適路徑中,之后分別打開IIS管理器,可以使用默認的站點,或者新建所需的站點。例如在左側(cè)的“網(wǎng)站”項的右鍵菜單上點擊“添加站點”并輸入網(wǎng)站名稱,在“內(nèi)容目錄”欄點擊瀏覽,選擇網(wǎng)站目錄。在“IP地址”列表中選擇“全部未分配”項,讓其包含所有地址。點擊“確定”創(chuàng)建該網(wǎng)站。
如果網(wǎng)站版本比較老的話,需要在左側(cè)選擇“應用程序池”項,在右側(cè)選擇上述站點名稱,在右鍵菜單上點擊“基本設(shè)置”項,在編輯應用程序池窗口中的“托管管道模式”列表中選擇“經(jīng)典”項。點擊“確定”保存配置信息。在WebServer2上執(zhí)行同樣的操作,安裝所需的角色,配置網(wǎng)站參數(shù)。因為網(wǎng)站需要連接后臺SQL Server數(shù)據(jù)庫,根據(jù)以上操作配置好數(shù)據(jù)庫后,在相應的網(wǎng)站連接配置界面中的數(shù)據(jù)庫服務(wù)器地址應該指向群集地址,例如“qunji1.xxx.com”,設(shè)置數(shù)據(jù)庫名稱,登錄名和密碼等參數(shù)后,就可以順利啟動網(wǎng)站了。
在WebServer1上打開網(wǎng)絡(luò)負載平衡管理器,在左側(cè)選擇“網(wǎng)絡(luò)負載平衡群集→新建群集”項,在“主機”欄輸入WebServer1的IP,點擊“連接”按鈕,連接成功后,點擊“下一步”按鈕,在群集IP地址窗口中點擊“添加”按鈕,輸入群集IP,例如192.168.1.50。在下一步的群集參數(shù)窗口中的“完整Internet名稱”欄中輸入具體的該網(wǎng)站的網(wǎng)址,例如“www.xxx.com”。在“群集操作模式”欄中選擇“多播”項,當然,這需要交換機的支持。在下一步的端口規(guī)則窗口中點擊“編輯”按鈕,在彈出窗口中的“端口范圍”欄中設(shè)置80到80,這樣就只提供網(wǎng)站訪問功能。
點擊“完成”按鈕,在網(wǎng)絡(luò)負載平衡管理器中查看到WebServer1的狀態(tài)從掛起變成已聚合后,在本群集名稱的右鍵菜單上點擊“添加主機到群集”項,按照操作向?qū)У奶崾荆砑覹ebServer2主機,方法與上述完全相同。為了讓外部用戶順利訪問網(wǎng)站,需要向Internet上的域名提供商申請一個域名,例如“xxx.com”。當域名申請成功后,登錄到其后臺管理界面,在域名管理中點擊“新增解析”之類的按鈕,增加一個A記錄,主機記錄名為“www”,在“記錄值”中設(shè)置內(nèi)網(wǎng)的公網(wǎng)地址,這樣Internet上的用戶就可以訪問該域名了。之后在DC上執(zhí)行“dnsmgmt.msc”程序,在DNS管理器中選擇“DNS→域控制器名稱→正向查找區(qū)域→xxx.com”,在右鍵菜單上點擊“新建主機”,在“名稱”欄輸入“www”,在“IP地址”欄中輸入負載平衡群集的IP,點擊“添加主機”按鈕,添加該記錄。
本例使用Forefront TMG作為防火墻,對80端口設(shè)置映射到內(nèi)網(wǎng)的Web服務(wù)器上。在Forefront TMG控制臺窗口左側(cè)選擇“防火墻策略”,在右鍵菜單上點擊“新建→網(wǎng)站發(fā)布規(guī)則”,輸入本規(guī)則名稱。在下一步窗口中選擇“允許”,點擊下一步,在發(fā)布類型窗口中選擇“發(fā)布單個網(wǎng)站或負載平衡器”項。在下一步窗口中選擇“使用不安全的連接發(fā)布的Web服務(wù)器或服務(wù)器場”,表示發(fā)布HTTP網(wǎng)站。在下一步的內(nèi)部發(fā)布詳細信息窗口中輸入內(nèi)部站點名稱,選擇“使用計算機名稱或IP地址連接到發(fā)布的服務(wù)器”項,輸入內(nèi)網(wǎng)Web服務(wù)器地址,這里為負載平衡群集的IP。
在下一步窗口中的“路徑”欄中輸入“/*”,表示發(fā)布整個網(wǎng)站。點擊下一步,在發(fā)布名稱細節(jié)窗口中的“公網(wǎng)名稱”欄中輸入實際的網(wǎng)站域名,例如“www.xxx.com”,即上述申請的域名信息。在下一步的選擇Web偵聽器窗口中點擊“新建”按鈕,在彈出窗口中輸入該偵聽器名稱,例如“http80”。點擊下一步,選擇“不需要與客戶端建立SSL安全連接”項,點擊下一步,在Web偵聽器IP地址窗口中選擇“外部”項,在下一步窗口中的列表中選擇“沒有身份驗證”項,點擊完成,創(chuàng)建該偵聽器。返回上一級窗口,選擇使用該偵聽器,在下一步窗口中選擇“無委派,但是客戶端可以直接進行身份驗證”項,之后點擊完成按鈕,創(chuàng)建該發(fā)布規(guī)則。點擊Forefront TMG窗口上部的“應用”按鈕,激活該規(guī)則。
在上述偵聽器“屬性”窗口的“身份驗證”面板中點擊“高級”,選擇“允許通過HTTP進行客戶端身份驗證”項,點擊應用和確定按鈕保存配置信息。
有了故障轉(zhuǎn)移群集和負載平衡群集的支持,上述網(wǎng)站的可靠性大大提高。例如,某臺WebServer服務(wù)器出現(xiàn)故障無法工作時,另外一臺WebServer服務(wù)器可以繼續(xù)為外界提供訪問服務(wù)。當某臺SQLServer出現(xiàn)問題時,活動主機可以自動切換到另外一臺SQL Server服務(wù)器上,依然可以正常支持網(wǎng)站的數(shù)據(jù)查詢、存儲、修改等要求。即使后臺存儲系統(tǒng)的某塊硬盤損壞,因為有RAID1磁盤陣列的支持,另外一塊磁盤依然可以保存所有的數(shù)據(jù),SQL Server數(shù)據(jù)庫依然處于完整可用狀態(tài),為SQL Server服務(wù)器提供有力的存儲服務(wù)支持。