DNS 資料庫的類型:master、slave 架構

由 Derek 發表於 九月 2, 2011 / 尚無評論

就現在來說,DNS真的是越來越重要了。通常在設定DNS都會設定兩組,以避免當主要的掛掉時,還有備用的可以使用。或許有人會問說,那同時設兩台DNS的話,在網路上會先搜尋那一個呢?這個並沒有一定的答案,因為在網路上是採用隨機的方式來做查詢的。因此這兩部DNS也就必須要設定的一樣。才不會有資料上的錯誤。

 

要解決資料同步的問題,因此除了hint類型的資料庫檔案外,還可區分兩種基本類型,master(主要)資料庫和slave(次要)資料庫。

 

Master :

      此種DNS資料庫,在資料方面全部都要管裡者自行輸入設定或修改。設定完成後需要重新啟動DNS服務,讓DNS服務重新讀取正確的資料內容。一般在架設的DNS大多是屬於此種類型的。另外,這種資料庫還能提供資料內容給slaveDNS伺服器。

 

 

Slave :

 

     在架設DNS時,通常不會指架設一台DNS Server。就如同GOOGLE來說他就有5台的DNS Server,但若是都是用Master的方式來架設的話,一旦當有要修改資料的時候,一筆資料就得做5次。如此一來不就增加了設定錯誤的風險。所以在這個時後,就要使用Slave類型的方式來架設DNS Server

 

簡單來說,總和以上所說的,Slave必須要和Master相互搭配,就拿google來說,當google使用5DNS Server時,他一定會指定一台server做為Master,然後其他的4DNS Server都設定為MasterSlave Server,如此一來當修改一筆資料時,只需要手動在Master Server上的設定檔做修改,後重新啟動BIND此服務,之後其他4Slave也就會自動被通知更新。

 

查詢優先權 :

     在使用DNS服務的時,同時會提供internet的領域名稱解析,不論是MasterSlave在網路上的查詢方式是採用『隨機』的方式。因此每一部DNS 伺服器的資料內容都必須要是完全相同。要不然就會造成用戶端找不到正確的IP

 

資料同步化過程 :

      在資料同步的過程中。簡單來說,Slave的資料內容來自於Master。但Slave是如何判斷何時才要同步更新資料。基本上不論是Master或是Slave都會有「序號」,並且以此序號的大小來研判是否要更新或是同步。同步更新的方式大約分成兩種:

Master主動通知】: 在修改Master的資料內容,並增加序號大小,一但當重啟DNS

                                務時,Master會主動通知Slave有資料更新。以便達到同步。

Slave主動提出要求】: 基本上Slave會定時的查看Master的序號大小,當發現Master

                                  的序號比Slave大時,就會主動更新。若序號不變,則不會更新。

 

關於作者

一個半路殺出來的傻小子,憑著一股傻勁努力的學習、嘗試、分享。希望能用自己微薄之力,替IT界和資訊界盡一點心力。單憑一己之力始終還是有限,歡迎和我有相同理念的夥伴一同加入一同努力。

評論

此文章尚無評論。

發表評論

*