一种Linux系统下NIS服务器的同步方法和系统与流程

文档序号:11156910阅读:704来源:国知局
一种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服务器的用户服务的高可用方案。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1