TWI721355B - 高可用度資料庫系統 - Google Patents
高可用度資料庫系統 Download PDFInfo
- Publication number
- TWI721355B TWI721355B TW108100653A TW108100653A TWI721355B TW I721355 B TWI721355 B TW I721355B TW 108100653 A TW108100653 A TW 108100653A TW 108100653 A TW108100653 A TW 108100653A TW I721355 B TWI721355 B TW I721355B
- Authority
- TW
- Taiwan
- Prior art keywords
- server
- slave
- database
- master
- storage carrier
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
一種高可用度資料庫系統,包括至少一對從屬伺服器,其各建置有一資料庫管理系統(DBMS);一主要儲存載體,該主要儲存載體與一對從屬伺服器之間透過ISCSI協定,使在此作為DBMS的一對從屬伺服器與作為資料庫(DB)的主要儲存載體之間獲得連結與溝通、並各自獨立而分離;以及,一第一主伺服器,根據預設的權重值對該一對從屬伺服器進行服務的分配,亦即,該第一主伺服器會將資料庫的連線都導向預設為高權重值的從屬伺服器,而另一低權重值的從屬伺服器則作為待命,成為資料庫管理服務的備援以提供系統服務不中斷的高可用度。
Description
本發明是關於一種資料庫系統,特別是一種提供高可用度機制運行的資料庫系統架構,用以確保資料庫的服務不中斷,以及所儲存的資料具有一致及完整性。
所謂「高可用度系統」(High Availability System)是提供運行中的設備能在災害、故障發生時立刻轉換到備援設備來維持服務不間斷的機制,以降低系統中因為單一設備故障或斷電而中止服務的發生率。為了保持設備的「高可用度」(HA),在系統中至少包含有兩台可互相切換的設備,此正在使用的設備稱為「運行設備」,其擁有一目的IP位址,而另一台則稱為「待命設備」,其不具有目的IP位址;當所謂「運行設備」發生故障、失效時,「待命設備」將自動切換為運行設備,
並接管該目的IP位址來提供服務。
本發明所要探討的是用來儲存企業營運資料的資料庫系統,由於其關乎到企業生存的命脈,因此,要如何維持該系統的「高可用度」,使其提供的管理與服務不中斷就顯得格外重要。大致上來說,資料庫系統損壞及故障最常發生的原因是在資料交易過程中突然死機、或者斷電造成災害,尤其一般資料庫管理系統中都具有一項將資料儲存在暫存記憶體再寫入硬碟而提升該系統運作效能的機制,因此,若該資料庫系統發生死機或斷電的情形時,縱使在系統中建置有「高可用度」的備援機制而進行故障、災害轉移(failover),卻仍免不了因為資料來不及寫入硬碟中而造成漏失,使原本待命設備在沒有獲得完整、正確的儲存資料就接手運行,終將造成硬碟中的資料庫混亂而難以補救。
為改善先前技術,本發明提供一種新穎的「高可用度資料庫系統」,在建立起系統高可用度的機制下,把資料庫管理系統(DBMS)與資料庫(DB)各自獨立而分離,透過
ISCSI協定建立起彼此的溝通與連結,可以彈性規劃配置檔案的容量給資料存放,在進行資料儲存時寫入儲存載體內,縱使任一個DBMS死機或毀損,經由故障、災害轉移(failover)時也不會因資料還在暫存記憶體中而來不及存入硬碟產生資料的漏失,更能確保資料的一致以及完整性,為本發明之主要目的。
為實現此目的,本發明所揭露之資料庫系統包括一對從屬伺服器,其各建置有一資料庫管理系統(DBMS);二座儲存載體,分別為一主要儲存載體,以及一第二儲存載體,該主要儲存載體與所述一對從屬伺服器之間透過ISCSI協定,使在此作為DBMS的一對從屬伺服器與作為資料庫(DB)的主要儲存載體之間獲得連結與溝通,並各自獨立而分離;以及,一第一主伺服器,係根據預設的權重值對該一對從屬伺服器(DBMS)進行服務的分配而非負載平衡,亦即,該第一主伺服器會將資料庫的連線都導向預設為高權重值的從屬伺服器,而另一低權重值的從屬伺服器則作為待命,成為資料庫管理服務的備援機制;同時,在任一個從屬伺服器(DBMS)將每一筆資料寫入資料庫(DB)時,會預先記錄於主要儲存載體的
一個log文件檔案中,使不論是任一個從屬伺服器發生故障後,接手的另一個從屬伺服器都能夠從該log文件檔案中獲得尚未寫入資料庫(DB)的資料而維持資料的一致性。另一方面,該主要儲存載體與該第二儲存載體透過網際網路建置有一DRBD鏡像機制,當所述主要儲存載體發生故障時,可以得到一即時的備份資料進行災害恢復所需,不僅為資料庫系統建構了一個高可用度的環境,更兼顧到未來的擴充性以及資料備份的效率。
10‧‧‧第一主伺服器MA
11‧‧‧第二主伺服器MB
20‧‧‧第一從屬伺服器SA
21‧‧‧第二從屬伺服器SB
30‧‧‧主要儲存載體LUNA
31‧‧‧第二儲存載體LUNB
4‧‧‧ISCSI
5‧‧‧DRBD
6:Heartbeat
7:log文件檔案
第1圖為本發明所建置的資料庫系統架構圖。
如第1圖所示,本發明之資料庫系統包括一第一主伺服器MA(10),至少一對從屬伺服器SA、SB(20,21),及至少二座獨立的儲存載體LUNA(30)及LUNB(31),透過網際網路,該一對從屬伺服器(20,21)及該二座儲存載體(30,31)與該第一主伺服器(10)相連並接受其控制。
更具體地說,所述一對從屬伺服器包括一第一從屬伺服器SA(20)、及一第二從屬伺服器SB(21),在該第一從屬伺服器SA(20)、及第二從屬伺服器SB(21)中各建置有一資料庫管理系統(database management system,以下均簡稱為DBMS),該資料庫管理系統(DBMS)是一套電腦程式,可以控制資料庫(database,以下均簡稱為DB)的分類、運算及資料的存取。
所述二座儲存載體包括一主要儲存載體LUNA(30)、及一第二儲存載體LUNB(31),該主要儲存載體LUNA(30)與第一從屬伺服器SA(20)、第二從屬伺服器SB(21)之間係透過以網路建置的小型電腦系統介面(Internet Small Computer System Interface,以下均簡稱為ISCSI),基於網際網路及SCSI協定下的儲存技術,將該主要儲存載體LUNA(30)設定為ISCSI(4)的目的端(target),該第一從屬伺服器SA(20)、及第二從屬伺服器SB(21)設定為啟動端(initiator),使在此作為資料庫管理系統(DBMS)的第一從屬伺服器SA(20)、及第二從屬伺服器SB(21)與作為資料庫(DB)的該主要儲存載體LUNA(30)之間獲得連結與溝通,並產生該資料庫管理
系統(DBMS)與該資料庫(DB)各自獨立而分離。
在該主要儲存載體LUNA(30)與該第二儲存載體LUNB(31)的底層透過網際網路建立有一DRBD(Distributed Replicated Block Device)機制,此DRBD(5)是Linux平台上的分散式儲存系統,類似磁碟陣列的RAID 1鏡像技術使該二者的資料同步。在本發明的設計中,該儲存載體的DRBD(5)採用單主模式,係指任何資源在任何特定的時間,這個雙節點叢集只存在有一個主節點,亦即,作為DBMS的第一從屬伺服器SA(20)、或第二從屬伺服器SB(21)均會將資料寫入該主要儲存載體LUNA(30)中,而該第二儲存載體LUNB(31)則為待命狀態,負責為主要儲存載體LUNA(30)進行即時備份以避免資料的遺失,換言之,當所述主要儲存載體LUNA(30)不慎發生故障時,仍會產生一即時的備份資料可供進行資料庫(DB)的恢復。
所述第一主伺服器MA(10)控制了該第一從屬伺服器SA(20)、及第二從屬伺服器SB(21)的運行狀態,特別是,在本發明所揭之資料庫系統中,該第一主伺服器MA(10)係根據預設的權重值而對第一從屬伺服器SA(20)、及第二從
屬伺服器SB(21)進行服務的分配而非負載的平衡。更詳細地說,透過一自動控制的程式,使運行中的主伺服器MA(10)將資料庫的連線都導向預設為高權重值(w=1)的第一從屬伺服器SA(20),而另一低權重值(w=0)的第二從屬伺服器SB(21)則作為待命;如果該第一從屬伺服器SA(20)無法正常提供服務,則第一主伺服器MA(10)便會將該第二從屬伺服器SB(21)的權重值由0提高為1,並將所有資料庫的連線導向該第二從屬伺服器SB(21),作為資料庫服務的備援。舉例來說,系統首先會產生一個虛擬的IP位址(VIP)做為該從屬伺服器叢集(SA及SB)在內網的IP代表位置,接著將此VIP設定於第一主伺服器MA(10)上,所述第一主伺服器MA(10)主要是利用Linux的兩個套件ipvsadm以及keepalived來實現彼此的「HA」功能,也利用這兩個套件來執行權重值的控管,以達成分配至從屬伺服器叢集(SA及SB)的使用者連線功能。這個備援機制的設定都在keepalivd套件內的keepalived.conf設定檔內,透過keepalive偵測資料庫tcp或udp的連接埠,當SA(即第一從屬伺服器)無法提供服務時,MA(10)即會透過notify_down觸發去管控權重值,將SB(即第二從屬伺服
器)的權重值由0設為1,同時也將連線導向SB繼續為使用者提供資料庫管理系統(DBMS)服務,若SA資料庫管理系統(DBMS)恢復正常,MA(10)則會透過notify up觸發將SB權重值由1設為0,並將連線再度導回SA。
另外,為避免第一從屬伺服器SA(20)及第二從屬伺服器SB(21)進行故障、災害轉移(failover)時發生資料的遺失,在該第一從屬伺服器SA(20)或第二從屬伺服器SB(21)將每一筆資料寫入資料庫(DB)時,會透過WAL(Write-Ahead-Logging)技術,領先資料庫(DB)將該資料記錄於主要儲存載體LUNA(30)的一個log文件檔案(7)中,並藉由DRBD(5)將資料庫(DB)及該log文件檔案(7)同步鏡射於第二儲存載體LUNB(31),使不論是第一從屬伺服器SA(20)或第二從屬伺服器SB(21)發生故障後,接手的另一個資料庫管理系統(DBMS)都能夠從該log文件檔案(7)中獲得尚未寫入資料庫(DB)的資料而維持一致性的服務。
此外,為提升本發明之資料庫系統架構的高可用度「HA」,在本發明中更建置有一第二主伺服器MB(11)與所述至少一對從屬伺服器SA、SB(20,21),及至少二座儲存載體
LUNA及LUNB(30,31)透過網際網路連線並對其產生控制,在該第一主伺服器MA(10)預設為運行設備時,該第二主伺服器MB(11)則作為待命,該第一主伺服器MA(10)與第二主伺服器MB(11)之間建立有一心跳(Heartbeat,6)偵測機制,彼此週期性地互送心跳封包,在預定的時間內,若是該第二主伺服器MB(11)沒有收到第一主伺服器MA(10)的心跳封包,則該第二主伺服器(11)就會自動切換成為運行設備並接管資源來維持資料庫服務的正常運作,自而建立起一種高可用度的作業環境。
藉由以上的說明可以瞭解到,本發明之資料庫系統以ISCSI協定完成了DBMS與DB的分離,可以彈性規劃配置檔案的容量給資料存放,在進行資料儲存時直接寫入主要儲存載體LUNA(30)內,縱使任一個DBMS(SA或SB)死機或毀損,在經由MA(10)的權重值調配進行故障、災害轉移(failover)時不會因資料還在記憶體中而來不及存入硬碟(LUNA)產生資料的漏失,更能確保資料的完整及正確性;同時,透過主要儲存載體LUNA(30)與第二儲存載體LUNB(31)建置的DRBD鏡像機制,當所述主要儲存載體LUNA(30)不
慎發生故障時,仍可以得到一即時的備份資料進行災害恢復所需。不僅為資料庫系統建構了一個高可用度的機制,更兼顧到未來的擴充性以及資料備份的效率。
雖然本發明已透過上述之較佳實施方式進行詳細說明,但熟悉此相關技藝者當知,對於所屬型態與細節的修飾亦應不偏離本發明後敘之申請專利範圍的精神與範疇,合先陳明。
10‧‧‧第一主伺服器MA
11‧‧‧第二主伺服器MB
20‧‧‧第一從屬伺服器SA
21‧‧‧第二從屬伺服器SB
30‧‧‧主要儲存載體LUNA
31‧‧‧第二儲存載體LUNB
4‧‧‧ISCSI
5‧‧‧DRBD
6‧‧‧Heartbeat
7‧‧‧log文件檔案
Claims (4)
- 一種高可用度資料庫系統,包括一第一主伺服器,至少一對從屬伺服器,以及一主要儲存載體,透過網際網路,該一對從屬伺服器及該主要儲存載體與該第一主伺服器相連並接受其控制;其中,所述一對從屬伺服器包括一第一從屬伺服器及一第二從屬伺服器,在該第一從屬伺服器及第二從屬伺服器中各建置有一資料庫管理系統(DBMS);所述主要儲存載體與該第一從屬伺服器、及第二從屬伺服器之間透過ISCSI協定,將該主要儲存載體設定為ISCSI的目的端,以及該第一從屬伺服器及第二從屬伺服器設定為啟動端,使在此作為資料庫管理系統(DBMS)的第一從屬伺服器及第二從屬伺服器與作為資料庫(DB)的該主要儲存載體之間獲得連結與溝通,並產生該資料庫管理系統(DBMS)與該資料庫(DB)各自獨立而分離;另外,在任一個從屬伺服器(DBMS)將每一筆資料寫入資料庫(DB)時,會領先資料庫(DB)將該資料記錄於主要儲存載體的一個log文 件檔案中,使不論是任一個從屬伺服器發生故障後,接手的另一個從屬伺服器都能夠從該log文件檔案中獲得尚未寫入資料庫(DB)的資料而維持資料的一致性;所述第一主伺服器係根據預設的權重值對該第一從屬伺服器及第二從屬伺服器進行服務的分配,將資料庫的連線都導向預設為高權重值的第一從屬伺服器,而另一低權重值的第二從屬伺服器則作為待命。
- 如請求項1所述之高可用度資料庫系統,其中,更包括有一第二儲存載體,所述主要儲存載體與該第二儲存載體透過網際網路建立有一DRBD機制,該DRBD機制採用單主模式,係指任何資源在任何特定的時間,這個雙節點叢集只存在有一個主節點,亦即,作為DBMS的第一從屬伺服器、或第二從屬伺服器均會將資料寫入該主要儲存載體中,而該第二儲存載體則為待命狀態,負責為主要儲存載體進行即時備份。
- 如請求項2所述之高可用度資料庫系統,其中,在該架構中更建置有一第二主伺服器與所述至少一對從屬伺服器及二座儲存載體透過網際網路連線並對其產生控制,在該第一 主伺服器預設為運行設備時,該第二主伺服器則作為待命。
- 如請求項3所述之高可用度資料庫系統,其中,該第一主伺服器與第二主伺服器之間建立有一心跳(Heartbeat)偵測機制,彼此週期性地互送心跳封包,在預定的時間內,若是該第二主伺服器沒有收到第一主伺服器的心跳封包,則該第二主伺服器會自動切換成為運行設備並接管資源來維持資料庫服務的正常運作。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108100653A TWI721355B (zh) | 2019-01-08 | 2019-01-08 | 高可用度資料庫系統 |
| CN201910122337.2A CN111414411B (zh) | 2019-01-08 | 2019-02-19 | 高可用度数据库系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW108100653A TWI721355B (zh) | 2019-01-08 | 2019-01-08 | 高可用度資料庫系統 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202026905A TW202026905A (zh) | 2020-07-16 |
| TWI721355B true TWI721355B (zh) | 2021-03-11 |
Family
ID=71492668
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW108100653A TWI721355B (zh) | 2019-01-08 | 2019-01-08 | 高可用度資料庫系統 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN111414411B (zh) |
| TW (1) | TWI721355B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI744039B (zh) | 2020-10-15 | 2021-10-21 | 威聯通科技股份有限公司 | 分散式儲存系統及應用於上之資料同步方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7826470B1 (en) * | 2004-10-19 | 2010-11-02 | Broadcom Corp. | Network interface device with flow-oriented bus interface |
| TW201721458A (zh) * | 2015-12-14 | 2017-06-16 | 財團法人工業技術研究院 | 伺服器備份方法及其備份系統 |
| CN107911238A (zh) * | 2017-11-13 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种基于ipsan服务器双机备份方法和系统 |
| US20180157521A1 (en) * | 2016-12-02 | 2018-06-07 | Nutanix, Inc. | Virtualized server systems and methods including load balancing for virtualized file servers |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004055674A1 (ja) * | 2002-12-18 | 2004-07-01 | Fujitsu Limited | 分散トランザクション処理装置、分散トランザクション処理プログラム、分散トランザクション処理方法および分散トランザクション処理システム |
| AU2009342005A1 (en) * | 2009-03-09 | 2011-11-03 | Arbitron Mobile Oy | Mobile terminal and method for providing life observations and a related server arrangement and method with data analysis, distribution and terminal guiding features |
| CN103019875B (zh) * | 2012-12-19 | 2015-12-09 | 北京世纪家天下科技发展有限公司 | 一种实现数据库双主改造的方法及装置 |
-
2019
- 2019-01-08 TW TW108100653A patent/TWI721355B/zh active
- 2019-02-19 CN CN201910122337.2A patent/CN111414411B/zh active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7826470B1 (en) * | 2004-10-19 | 2010-11-02 | Broadcom Corp. | Network interface device with flow-oriented bus interface |
| TW201721458A (zh) * | 2015-12-14 | 2017-06-16 | 財團法人工業技術研究院 | 伺服器備份方法及其備份系統 |
| US20180157521A1 (en) * | 2016-12-02 | 2018-06-07 | Nutanix, Inc. | Virtualized server systems and methods including load balancing for virtualized file servers |
| CN107911238A (zh) * | 2017-11-13 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种基于ipsan服务器双机备份方法和系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202026905A (zh) | 2020-07-16 |
| CN111414411A (zh) | 2020-07-14 |
| CN111414411B (zh) | 2024-06-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5026305B2 (ja) | 視覚化および地理的分散データセンタ用記憶装置およびサーバプロビジョニング | |
| TWI710915B (zh) | 一種基於互聯網資料中心的資源處理方法、相關裝置以及通信系統 | |
| US7165158B1 (en) | System and method for migrating a replication system | |
| US9182918B2 (en) | Network storage systems having clustered raids for improved redundancy and load balancing | |
| US6598174B1 (en) | Method and apparatus for storage unit replacement in non-redundant array | |
| US10191677B1 (en) | Asynchronous splitting | |
| US9965306B1 (en) | Snapshot replication | |
| US8335899B1 (en) | Active/active remote synchronous mirroring | |
| JP5968554B2 (ja) | ディザスタリカバリ仮想化の方法及び装置 | |
| US9639383B1 (en) | Volume moving | |
| US9659074B1 (en) | VFA statistics | |
| US20060179218A1 (en) | Method, apparatus and program storage device for providing geographically isolated failover using instant RAID swapping in mirrored virtual disks | |
| US20140122816A1 (en) | Switching between mirrored volumes | |
| US9619264B1 (en) | AntiAfinity | |
| US9619255B1 (en) | Remote live motion | |
| US20100031081A1 (en) | Data Storage System and Control Method Thereof | |
| TWI721355B (zh) | 高可用度資料庫系統 | |
| CN103814352A (zh) | 一种虚拟设备重建方法与装置 | |
| JP2008107896A (ja) | 物理資源制御管理システム、物理資源制御管理方法および物理資源制御管理用プログラム | |
| US7680839B1 (en) | System and method for resynchronizing mirrored volumes | |
| US20220382657A1 (en) | High availability database system | |
| US9582384B2 (en) | Method and system for data replication | |
| CN114063896A (zh) | 存储系统、协作方法以及程序 | |
| US11308122B2 (en) | Remote copy system | |
| US20240289045A1 (en) | Storage system and communication path control method |