PBS排队不运行--网络信息服务器NIS

在Linux PBS集群中,由于一个节点的NIS服务停止,导致用户无法登录并造成任务调度阻塞。通过检查节点服务、启动NIS服务和手动调度任务,问题得到解决。NIS(网络信息服务)允许集中管理用户账户信息,简化多节点集群的账户同步。其工作流程包括服务器维护数据库,客户端查询本地缓存,若未找到信息则广播请求,服务器响应验证登录。

引子

前几天困扰我的问题终于破案了,n01节点的NIS服务挂了,导致用户engzsinger无法登录到该节点上,而提交PBS任务时,我指定的是提交到任意计算节点即#PBS -l nodes=1:ppn=24,这个设置导致默认提交到按顺序的第一个节点n01,而此时节点并没有接受任务,还处于空闲状态,所以下一个任务继续分配到这个节点上。总体表现就是大量任务阻塞,同时大量的计算节点处于空闲状态,又没有直接报错。
然而上述只是猜想,到底实情如何还需要验证。
首先使用root账户ssh登录到n01节点上,查看该计算节点上运行的服务

[root@master yp]# ssh n01
Last login: Fri Aug 29 14:40:57 2014 from master
[root@n01 ~]# ps -e | grep ypbind
[root@n01 ~]#
[root@n01 ~]# service ypbind status
ypbind is stopped

然后登录到正常节点上,查看运行的服务

[root@n01 ~]# ssh n03
Last login: Thu Aug 20 19:28:49 2020 from master
[root@n03 ~]# ps -e | grep ypbind 
 3851 ?        00:00:01 ypbind

可以看到n01节点上的ypbind服务停止运行,而n03节点正常

那下一步就是启动这个服务

[root@n01 ~]# service ypbind start 
Starting NIS service:                                      [  OK  ]
Binding NIS service: .                                     [  OK  ]

再使用普通账户engzsinger登录到n01看是否正常

[engzsinger@master ~]$ ssh n01
Last login: Tue Aug 26 11:20:21 2014 from master

能够正常登陆,说明NIS服务能够正常运行,再看一眼队列状态

[root@master ~]# qstat
Job ID                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
82327.ILC                 conformation     engzsinger			  0 Q hpc001         
82460.ILC                 ...mole-n01      engzsinger             0 Q hpc001         
82471.ILC                 conformation     engzsinger      165:14:1 R hpc001

此时任务82327还是没有被调度,可能是maui还没有反应过来n01节点的网络信息服务已经恢复了,那我就手动调度吧。

[root@ILC ~]# qrun 82327
[root@ILC ~]# qstat
Job ID                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
82327.ILC                 conformation     engzsinger             0 R hpc001         
82460.ILC                 ...mole-n01      engzsinger             0 Q hpc001         
82471.ILC                 conformation     engzsinger      165:19:5 R hpc001

ok 至此问题就解决了,至于n01节点的NIS为什么会突然挂掉,至今也没有想通,当然现在不重要了。

网络信息服务

为了解决上面的问题,在网上翻阅了不少资料,最终定位到网络信息服务(network information serviceNIS),关于这个服务,从安装到配置再到实例,鸟哥都有进行了详细的介绍。这里实在没有必要重复介绍,所以只挑选其中解决PBS排队问题时我最关心的部分。

为什么要有NIS

在使用Linux时,我们需要通过账号和密码进行登录,在使用集群时,网络中有十台Linux计算机,我们希望使用相同的用户和密码登录到不同的节点上,就意味着要在每个节点上设置对应的账户和密码。如果新增一个用户或者删除一个用户,还能手动登录到不同节点上挨个设置,如果是新增一批用户呢,或者网络中的节点有一百多个,还能用这么笨的方法吗?
如果能在一台机器上设置用户信息,其他机器共享这个信息,岂不妙哉。于是就有了NIS

NIS 的基本构架

NIS的工作模式是c/s,即客户端/服务器模式,在网络中指定一台计算机作为服务器,管理员只需维护服务器上的/etc/passwd文件,而在各客户端上的用户信息删除。服务器节点上运行ypserv服务,用来响应客户端的请求,客户端运行ypbind服务,向服务器发送查询请求。

NIS服务的基本流程

  • 服务器将用户信息密码等制作成数据库文件
  • 在用户信息和密码发生更改时更新数据库文件
  • 客户端发生登录行为时,查询本机的/etc/passwd/etc/shadow文件
  • 如果没有找到相关的信息,则向网络进行广播
  • 服务器响应客户端的查询请求,验证登录行为

登录过程便完成了,需要保证客户端的ypbind服务和服务器的ypserv服务同时在运行,上面的问题就是其中一个节点ypbind服务挂掉导致的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值