天天看點

linux主機加入nis,一種Linux系統下NIS伺服器的同步方法和系統與流程

linux主機加入nis,一種Linux系統下NIS伺服器的同步方法和系統與流程

本發明涉及計算機領域,具體來說,涉及一種Linux系統下NIS伺服器的同步方法和系統。

背景技術:

NIS(Network Information Services,網絡資訊服務)的用途就是向用戶端提供資訊查詢,例如,使用者的賬号、密碼、預設目錄、shell(提供使用者使用界面的軟體)等,同時,在高性能計算系統中,所有的節點需要有相同的使用者資訊,基于NIS伺服器來統一管理使用者資訊是一種高效的管理方式,使用者的添加删除隻需要在主要節點操作即可,降低了使用者管理的複雜度,但是,在一個很大型高性能計算系統中,如果所有的Linux主機都向同一台NIS伺服器請求使用者資訊,如果這單一的一台NIS伺服器當機,那其他的Linux主機就無法讓使用者登入,是以,在對使用者管理可用性要求比較高的系統中,一般采用Master-Slave(主-從)機制來保證使用者查詢服務的高可用,其中,Master節點将儲存使用者的全部資訊,而Slave節點僅僅同步主節點NIS伺服器的NIS資料庫,從節點NIS伺服器上是無法操作使用者的。

但是,由于所有原始使用者資訊都存在主節點NIS伺服器上,如果主節點NIS伺服器當機,則不可進行使用者管理,隻能等主節點NIS伺服器恢複正常後使用者操作才可以進行,是以,如果從節點NIS伺服器僅僅提供了查詢的高可用性,而其無法滿足大型系統對使用者管理的高可用要求。

針對相關技術中的問題,目前尚未提出有效的解決方案。

技術實作要素:

針對相關技術中的問題,本發明提出一種Linux系統下NIS伺服器的同步方法和系統,實作了大型系統基于NIS伺服器的使用者服務的高可用性。

本發明的技術方案是這樣實作的:

根據本發明的一個方面,提供了一種Linux系統下NIS伺服器的同步方法。

該同步方法包括:INOTIFY子產品、同步子產品,其中,INOTIFY子產品檢測任一NIS伺服器的變更資訊,并将變更資訊發送給同步子產品,然後同步子產品将變更資訊同步至全部的NIS伺服器。

根據本發明的一個實施例,變更資訊包括:添加使用者的資訊、修改資訊、删除使用者的資訊。

根據本發明的一個實施例,進一步包括:NIS伺服器接收用戶端的請求資訊;NIS伺服器中任一NIS伺服器響應用戶端的請求資訊。

根據本發明的一個實施例,其特征在于,請求資訊包括:查詢資訊、修改請求資訊。

根據本發明的另一方面,提供了Linux系統下NIS伺服器的同步系統。

該同步系統包括:INOTIFY子產品,用于檢測任一NIS伺服器的變更資訊,并将變更資訊發送給同步子產品;同步子產品,用于将變更資訊同步至全部的NIS伺服器。

根據本發明的一個實施例,變更資訊包括:添加使用者的資訊、修改資訊、删除使用者的資訊。

根據本發明的一個實施例,進一步包括:NIS伺服器接收用戶端的請求資訊;NIS伺服器中任一NIS伺服器響應用戶端的請求資訊。

根據本發明的一個實施例,請求資訊包括:查詢資訊、修改請求資訊。

本發明通過INOTIFY子產品檢測任一NIS伺服器的變更資訊,并将變更資訊發送給同步子產品,然後同步子產品将變更資訊同步至全部的NIS伺服器,進而通過INOTIFY機制實作了大型系統基于NIS伺服器的使用者服務的高可用方案。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面将對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1是根據本發明實施例的Linux系統下NIS伺服器的同步方法的流程圖;

圖2是根據本發明實施例的Linux系統下NIS伺服器的同步裝置的框圖。

具體實施方式

下面将結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發明保護的範圍。

根據本發明的實施例,提供了一種Linux系統下NIS伺服器的同步方法。

如圖1所示,根據本發明實施例的同步方法包括:

步驟S101,INOTIFY子產品檢測任一NIS伺服器的變更資訊,并将變更資訊發送給同步子產品;

步驟S103,同步子產品将變更資訊同步至全部的NIS伺服器。

通過本發明的上述方案,通過INOTIFY子產品檢測任一NIS伺服器的變更資訊,并将變更資訊發送給同步子產品,然後同步子產品将變更資訊同步至全部的NIS伺服器,進而通過INOTIFY機制實作了大型系統基于NIS伺服器的使用者服務的高可用方案。

根據本發明的一個實施例,變更資訊包括:添加使用者的資訊、修改資訊、删除使用者的資訊。

根據本發明的一個實施例,進一步包括:NIS伺服器接收用戶端的請求資訊;NIS伺服器中任一NIS伺服器響應用戶端的請求資訊。

根據本發明的一個實施例,其特征在于,請求資訊包括:查詢資訊、修改請求資訊。

為了更好的描述本發明,下面通過具體的實施例進行詳細的描述。

從版本号2.6.13的Linux系統開始,Linux系統推出了INOTIFY是一個Linux特性,它允許監控程式打開一個獨立檔案描述符,并針對事件集監控一個或者多個檔案,例如打開、關閉、移動/重命名、删除、建立或者改變屬性。

本發明是基于該INOTIFY機制來實作的高可用方案,如果有使用者資訊改動(如添加使用者、修改密碼、删除使用者等)的情況下,其中的一台NIS伺服器會通過該INOTIFY機制(或INOTIFY子產品)感覺到這次改動資訊并通知給我們的監控程式(或同步子產品),進而得知到使用者資料有修改後,立馬将改動資訊同步至所有的NIS伺服器,這樣就所有的NIS伺服器都儲存了最新的原始使用者資料,此外,由于用戶端是向整個網段請求使用者資訊的,隻要NIS伺服器提供的域與用戶端請求一緻就可回答用戶端的請求,其中,域是指Windows網絡中獨立運作的機關,由于我們将所有NIS伺服器中的使用者資料保持一緻,所有NIS伺服器可都可以回答用戶端的請求(包括資訊修改的請求),這樣就實作了使用者資訊查詢的負載均衡和使用者管理的高可用。

根據本發明的實施例,還提供了一種Linux系統下NIS伺服器的同步系統。

如圖2所示,根據本發明實施例的同步系統包括:INOTIFY子產品21,用于檢測任一NIS伺服器的變更資訊,并将變更資訊發送給同步子產品;同步子產品22,用于将變更資訊同步至全部的NIS伺服器。

根據本發明的一個實施例,變更資訊包括:添加使用者的資訊、修改資訊、删除使用者的資訊。

根據本發明的一個實施例,進一步包括:NIS伺服器接收用戶端的請求資訊;NIS伺服器中任一NIS伺服器響應用戶端的請求資訊。

根據本發明的一個實施例,請求資訊包括:查詢資訊、修改請求資訊。

綜上所述,借助于本發明的上述技術方案,通過INOTIFY子產品檢測任一NIS伺服器的變更資訊,并将變更資訊發送給同步子產品,然後同步子產品将變更資訊同步至全部的NIS伺服器,進而通過INOTIFY機制實作了大型系統基于NIS伺服器的使用者服務的高可用方案。

以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之内,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之内。