數(shù)據(jù)庫(kù)
SQL Server 2000 由 MSIB 2.0 及其依賴項(xiàng)用于連接到數(shù)據(jù)庫(kù)上。 由于數(shù)據(jù)庫(kù)服務(wù)器是運(yùn)行在平臺(tái)操作系統(tǒng)和服務(wù)頂部的,因此存在很多引起故障的原因,包括:
文件/磁盤系統(tǒng)失效
網(wǎng)絡(luò)故障
數(shù)據(jù)庫(kù)應(yīng)用程序故障
服務(wù)器故障
建議采用的解決方案
建議采用兩種 Windows 2000 高可用性解決方案:
Microsoft 群集服務(wù) (MSCS)。 這種解決方案適用于 MSIB 數(shù)據(jù)庫(kù)服務(wù)器。 這種解決方案可以提供可靠性,不過(guò)卻不能提供額外的可擴(kuò)展性,這是因?yàn)槠涔ぷ髫?fù)荷并不是分布式的。
網(wǎng)絡(luò)負(fù)載均衡(NLB)。 這種解決方案適用橫向擴(kuò)展模式。 在這種模式下,多個(gè)數(shù)據(jù)庫(kù)服務(wù)器在一個(gè)單一的虛擬 IP 地址之下進(jìn)行了負(fù)載均衡。 一般情況下這些數(shù)據(jù)庫(kù)服務(wù)器是作為主數(shù)據(jù)庫(kù)服務(wù)器的用戶工作的,這個(gè)數(shù)據(jù)庫(kù)服務(wù)器則作為一個(gè)數(shù)據(jù)發(fā)布者工作。 在一個(gè)數(shù)據(jù)庫(kù)服務(wù)器出現(xiàn)故障的時(shí)候, NLB 將該服務(wù)器從群集中刪除并將連接指向其他正常的服務(wù)器。
解決方案部署中應(yīng)當(dāng)包括對(duì)數(shù)據(jù)庫(kù)和構(gòu)成數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程的備份。
類似地,如果現(xiàn)有的計(jì)算機(jī)出現(xiàn)了硬件資源的瓶頸,那么您應(yīng)當(dāng)為 Web 群添加后端 SQL 服務(wù)器。 在添加了更多 SQL 服務(wù)器之后,構(gòu)成 MSIB 2.0 解決方案的數(shù)據(jù)庫(kù)應(yīng)當(dāng)在 SQL 服務(wù)器中分離開來(lái)。
MSIB 2.0 企業(yè)部署的恢復(fù)模型
下圖給出了 MSIB 2.0 企業(yè)部署中典型的單點(diǎn)故障,下表介紹了 MSIB 2.0 企業(yè)部署是如何從單點(diǎn)故障中恢復(fù)過(guò)來(lái)的。 為了避免發(fā)生這些單點(diǎn)故障,建議您在投入實(shí)際運(yùn)行之前在您的 MSIB 2.0 企業(yè)部署中采用本文前面介紹的高可用性技術(shù)。
注: 在下表中,所謂的可接受時(shí)限是指小于默認(rèn) ASP 超時(shí)時(shí)間的一個(gè)期間,在理想情況下為 15 秒鐘或更少。 為了進(jìn)行本文所述的測(cè)試,所有的故障切換時(shí)間都由 MSIB 項(xiàng)目組進(jìn)行了記錄。
單點(diǎn)故障 | 故障類型 | 檢定/描述 |
1(前端應(yīng)用程序/Web 服務(wù)器) | 套接字 | 由 NLB 將 Web 服務(wù)器從群集中刪除,終用戶不會(huì)感覺(jué)到出現(xiàn)了錯(cuò)誤或者數(shù)據(jù)丟失。 |
網(wǎng)絡(luò) | 由 NLB 將 Web 服務(wù)器從群集中刪除,終用戶不會(huì)感覺(jué)到出現(xiàn)了錯(cuò)誤或者數(shù)據(jù)丟失。 | |
2(前端搜索服務(wù)器) | 套接字 | 由 NLB 將 搜索服務(wù)器從群集中刪除,終用戶不會(huì)感覺(jué)到出現(xiàn)了錯(cuò)誤或者數(shù)據(jù)丟失。 |
網(wǎng)絡(luò) |
由 NLB 搜索服務(wù)器從群集中刪除,終用戶不會(huì)感覺(jué)到出現(xiàn)了錯(cuò)誤或者數(shù)據(jù)丟失。 | |
3 和 4(防火墻之間的連接) | 套接字 | 在可接受時(shí)限之內(nèi)平穩(wěn)過(guò)渡到備份防火墻。 |
網(wǎng)絡(luò) |
在可接受時(shí)限之內(nèi)平穩(wěn)過(guò)渡到備份防火墻。 |
|
5和6(域控制器之間的連接) | 套接字 | 在可接受時(shí)限之內(nèi)平穩(wěn)過(guò)渡到備份的域控制器。 |
網(wǎng)絡(luò) | 在可接受時(shí)限之內(nèi)平穩(wěn)過(guò)渡到備份的域控制器。 | |
7 和 8(前端 Web 和搜索服務(wù)器上的硬盤) | 磁盤 | NLB 將故障服務(wù)器從群集中刪除掉。 |
9 和 10 (Web 或搜索服務(wù)器失效) |
服務(wù)器 | NLB 將故障服務(wù)器從群集中刪除掉。 |
11(第二防火墻層上的硬盤) | 磁盤 | 由防火墻正確地將載荷傳遞到故障切換服務(wù)器上,不會(huì)給客戶端帶來(lái)數(shù)據(jù)損失或超時(shí)。 |
12(防火墻失效) | 服務(wù)器 |
由防火墻正確地將載荷傳遞到故障切換服務(wù)器上,不會(huì)給客戶端帶來(lái)數(shù)據(jù)損失或超時(shí)。 |
13(防火墻和數(shù)據(jù)庫(kù)群集之間的連接) | 套接字 | 為了測(cè)試這個(gè)連接,建議您對(duì)使用未經(jīng)高速緩存的數(shù)據(jù)庫(kù)請(qǐng)求的 Web 頁(yè)面進(jìn)行測(cè)試,以確保不會(huì)發(fā)生終用戶可見(jiàn)的錯(cuò)誤。 |
網(wǎng)絡(luò) | 為了測(cè)試這個(gè)連接,建議您對(duì)使用未經(jīng)高速緩存的數(shù)據(jù)庫(kù)請(qǐng)求的 Web 頁(yè)面進(jìn)行測(cè)試,以確保不會(huì)發(fā)生終用戶可見(jiàn)的錯(cuò)誤。 | |
14和15 (到域控制器的連接) |
套接字 | 在可接受時(shí)限之內(nèi)平穩(wěn)過(guò)渡到備份的域控制器。 |
網(wǎng)絡(luò) | 在可接受時(shí)限之內(nèi)平穩(wěn)過(guò)渡到備份的域控制器。 | |
16(Business Desk 計(jì)算機(jī)和 SQL Cluster 之間的連接) | 網(wǎng)絡(luò) |
為了測(cè)試這一連接,建議您在幾種不同模塊中對(duì)幾種 Business Desk 功能進(jìn)行測(cè)試,以確保不會(huì)發(fā)生任何錯(cuò)誤,以至令系統(tǒng)處于一種部分失效的狀態(tài)。 |
17( MSCS 數(shù)據(jù)庫(kù)故障切換: 交易、內(nèi)容、管理、運(yùn)動(dòng)) | 服務(wù)器 | 一個(gè)服務(wù)器錯(cuò)誤會(huì)引起包括應(yīng)用數(shù)據(jù)庫(kù)在內(nèi)的 MSCS 故障切換。 為了核實(shí)這種錯(cuò)誤狀態(tài),建議您對(duì)使用未經(jīng)高速緩存的數(shù)據(jù)庫(kù)請(qǐng)求的 Web 頁(yè)面執(zhí)行 GET 操作,以確保不會(huì)發(fā)生終用戶可見(jiàn)的錯(cuò)誤。 系統(tǒng)會(huì)在被動(dòng)節(jié)點(diǎn)變成活動(dòng)節(jié)點(diǎn)之后重試請(qǐng)求,由 Web 頁(yè)面返回成功的請(qǐng)求。 |
18(SQL 群集上的硬盤故障:目錄、搜索、用戶) | 磁盤 | 一個(gè)系統(tǒng)磁盤錯(cuò)誤會(huì)引起包括應(yīng)用數(shù)據(jù)庫(kù)在內(nèi)的 MSCS 故障切換。 為了檢驗(yàn)這種錯(cuò)誤狀態(tài),建議您對(duì)使用未經(jīng)高速緩存的數(shù)據(jù)庫(kù)請(qǐng)求的 Web 頁(yè)面執(zhí)行 GET 操作,以確保不會(huì)發(fā)生終用戶可見(jiàn)的錯(cuò)誤。 系統(tǒng)會(huì)在被動(dòng)節(jié)點(diǎn)變成活動(dòng)節(jié)點(diǎn)之后重試請(qǐng)求,由 Web 頁(yè)面返回成功的請(qǐng)求。 |
19(域控制器故障) | 服務(wù)器 |
|
20(域控制器磁盤失效) | 磁盤 |
|