第二章集群的系统配置0compuchem:/usr/local/usr/localnfsrw,defaults0S以第一行为例解释一下这个文件的含义:compuchem:/home/home:表示把compuchem主机的/home目录挂载到本地的/home目录上。通俗的说,就是当读者在计算节点上访问/home时,实际上访问的是控制节点上的/home。这和Windows下的共享是类似的。后面几个参数照抄就可以。然后重启网络服务:#/etc/init.d/networkingrestart这样子节点就把服务器共享的文件挂载了。例如,在node021上,执行如下命令就可以看到# dfFilesystem1K-blocksUsedAvailableUse%MountedonIdev/sda1151225248714456 1428289161% /tmpfs1037944010379440%/lib/init/rwudev1024040102001%Idev0tmpfs03794410379440%/dev/shm4807190721% /homecompuchem:/home45238445584748815122524815334721420098882% loptcompuchem:/optcompuchem:/usr/local15122524815334721420098882%/usr/local看到最后三行了吗?我们已经成功的共享了目录!比如,当我们在控制节点上在/usr/local下安装了一个Gaussiano3C时,所有的计算节点都可以通过/usr/local找到完全相同的Gaussian,因为它们实际上是通过网络访问的compuchem上的/usr/local。NFS的作用,就是把这些操作屏蔽起来,使计算节点在访问网络上的文件时如同访问本地一样。好了,coolrainbow的目录已经通过NFS共享到计算节点了,但是coolrainbow要想登陆计算节点,计算节点上必须有coolrainbow才行。好,现在就来这最后一步!$2.2.3NIS:主机间的用户同步第三步,配置用户信息。这里就要用NIS。NIS(NetworkInformationService)即网络信息服务,是集中控制几个系统管理数据库的网络用品。NIS简化了UNIX和LINUX用户的管理工作,客户端利用它可以使用NIS服务器的管理文件,无第13页
第二章 集群的系统配置 第 13 页 compuchem:/usr/local /usr/local nfs rw,defaults 0 0 以第一行为例解释一下这个文件的含义: compuchem:/home /home:表示把 compuchem 主机的/home 目录挂载到 本地的/home 目录上。通俗的说,就是当读者在计算节点上访问/home 时,实际 上访问的是控制节点上的/home。这和 Windows 下的共享是类似的。后面几个参 数照抄就可以。 然后重启网络服务: # /etc/init.d/networking restart 这样子节点就把服务器共享的文件挂载了。例如,在 node021 上,执行如下 命令就可以看到. # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 151225248 714456 142828916 1% / tmpfs 1037944 0 1037944 0% /lib/init/rw udev 10240 40 10200 1% /dev tmpfs 037944 0 1037944 0% /dev/shm compuchem:/home 480719072 452384 455847488 1% /home compuchem:/opt 151225248 1533472 142009888 2% /opt compuchem:/usr/local 151225248 1533472 142009888 2% /usr/local 看到最后三行了吗?我们已经成功的共享了目录!比如,当我们在控制节点 上在/usr/local 下安装了一个 Gaussian03C 时,所有的计算节点都可以通过 /usr/local 找到完全相同的 Gaussian,因为它们实际上是通过网络访问的 compuchem 上的/usr/local。NFS 的作用,就是把这些操作屏蔽起来,使计算节 点在访问网络上的文件时如同访问本地一样。 好了,coolrainbow 的目录已经通过 NFS 共享到计算节点了,但是 coolrainbow 要想登陆计算节点,计算节点上必须有 coolrainbow 才行。好,现在就来这最后 一步! §2.2.3 NIS:主机间的用户同步 第三步,配置用户信息。这里就要用 NIS。NIS(Network Information Service) 即网络信息服务,是集中控制几个系统管理数据库的网络用品。NIS 简化了 UNIX 和 LINUX 用户的管理工作,客户端利用它可以使用 NIS 服务器的管理文件,无
第二章集群的系统配置需建立他们自己的/etc/passwd,只简单的使用和维护在NIS服务器的文件即可。1.在所有机器上安装NIS:# aptitude install nis安装过程中会要求输入NIS的域名,这里必须输入控制节点compuchem。配置NIS端。以下操作在控制节点上:2.确认域名。打开/etc/defaultdomain(这是包含NIS域名的文件),确认里面有一行:compuchem如果没有则添上;3.打开/etc/default/nis,修改NISSERVER=master,NISCLIENT=true,这样本机便成为NIS服务器:4.配置NIS主机。打开/etc/yp.conf,写入:ypservercompuchem5.重启NIS服务:#/etc/init.d/nis restart6.编译用户数据库:# cd /var/yp#make注意:以后无论控制节点对passwd,group,shadow文件做了任何修改,都必须进入/var/yp重新make,才能保证服务器和客户端的用户信息同步。以下操作在计算节点上:6.确认域名。打开/etc/defaultdomain(这是包含NIS域名的文件),确认里面有一行:compuchem如果没有则添上;7.打开/etc/default/nis,修改NISSERVER=false,NISCLIENT=true,这样本机便成为NIS客户端;8.打开/etc/yp.conf,通过写入ypservercompuchem配置Nis主机名:9.写入“伪用户”信息,即:打开/etc/passwd,最后一行写入字符串:+(一个“+”六个“”);打开/etcgroup,最后一行写入字符串:+(一个“+”三个“:”):打开/etc/shadow,最后一行写入字符串:+..(一个“+”八个“.”);第14页
第二章 集群的系统配置 第 14 页 需建立他们自己的/etc/passwd,只简单的使用和维护在 NIS 服务器的文件即可。 1. 在所有机器上安装 NIS: # aptitude install nis 安装过程中会要求输入 NIS 的域名,这里必须输入控制节点 compuchem。 配置 NIS 端。以下操作在控制节点上: 2. 确认域名。打开/etc/defaultdomain(这是包含 NIS 域名的文件),确认里 面有一行: compuchem 如果没有则添上; 3. 打开/etc/default/nis,修改 NISSERVER=master,NISCLIENT=true,这 样本机便成为 NIS 服务器; 4. 配置 NIS 主机。打开/etc/yp.conf,写入: ypserver compuchem 5. 重启 NIS 服务: # /etc/init.d/nis restart 6. 编译用户数据库: # cd /var/yp # make 注意:以后无论控制节点对 passwd,group,shadow 文件做了任何修改, 都必须进入/var/yp 重新 make,才能保证服务器和客户端的用户信息同步。 以下操作在计算节点上: 6. 确认域名。打开/etc/defaultdomain(这是包含 NIS 域名的文件),确认里 面有一行: compuchem 如果没有则添上; 7. 打开/etc/default/nis,修改 NISSERVER=false,NISCLIENT=true,这样 本机便成为 NIS 客户端; 8. 打开/etc/yp.conf,通过写入 ypserver compuchem 配置 NIS 主机名; 9. 写入“伪用户”信息,即: 打开/etc/passwd,最后一行写入字符串:+::::::(一个“+”六个“:”); 打开/etc/group,最后一行写入字符串:+:::(一个“+”三个“:”); 打开/etc/shadow,最后一行写入字符串:+::::::::(一个“+”八个“:”);
第二章集群的系统配置10.打开/etc/nsswitch文件,将hostsfiles dns改为hostsfiles nisdns11.重启nis服务:#/etc/init.d/nis restart这样整个集群的NIS服务都打通了。那么NIS究竟有什么用呢?我们知道,控制节点compuchem已经有了coolrainbow的用户信息,而计算节点如node021没有。nodeo21开启了NIS,那么它就会自动寻找NIS服务器即compuchem,此时compuchem所有的用户信息:用户名,密码,组信息等就都会被node021所接受,这样在NIS的帮助下,coolrainbow就成为了node021的合法用户,就可以登陆了。到此为止,本节开头所指出的问题彻底的解决了。用户信息、文件系统都已经在整个集群间共享,并且,ssh可以在整个集群间无密码登陆了一一为什么?很简单,当coolrainbow通过ssh连接node021时(命令:sshnode021),由于NIS,coolrainbow成为了node021的合法用户,所以有资格登陆;登陆后,系统自动搜索家目录,由于NFS,这个家目录实际就是compuchem上的家目录;而在s2.2.1中,我们已经在./ssh中生成了authorizedkeys,所以登陆就不需要密码了(当然,第一次登陆时会遇到提问,只要回答一次yes以后就不用了,所以现在最好把所有的计算节点都ssh一下,这样ssh无密码的问题就解决了)。我们发现,通过ssh,NFS和NIS这三个相互关联的技术,我们彻底的解决了集群通信的问题。下一步,我们就可以开始安装软件了!$2.3编译器的安装编译器是Linux下最重要的软件之一,几乎所有的软件都可以在Linux下重新编译,从而达到最高的效率。在本教程中,需要两种编译器:GNU编译器和intel编译器。S2.3.1GNU编译器我们需要两种编译器,Fortran和C的。非常简单:第15页
第二章 集群的系统配置 第 15 页 10. 打开/etc/nsswitch 文件,将 hosts files dns 改为 hosts files nis dns 11. 重启 nis 服务: # /etc/init.d/nis restart 这样整个集群的 NIS 服务都打通了。那么 NIS 究竟有什么用呢?我们知道, 控制节点 compuchem 已经有了 coolrainbow 的用户信息,而计算节点如 node021 没有。node021 开启了 NIS,那么它就会自动寻找 NIS 服务器即 compuchem,此 时 compuchem 所有的用户信息:用户名,密码,组信息等就都会被 node021 所 接受,这样在 NIS 的帮助下,coolrainbow 就成为了 node021 的合法用户,就可 以登陆了。 到此为止,本节开头所指出的问题彻底的解决了。用户信息、文件系统都已 经在整个集群间共享,并且,ssh 可以在整个集群间无密码登陆了——为什么? 很简单,当 coolrainbow 通过 ssh 连接 node021 时(命令:ssh node021),由于 NIS,coolrainbow 成为了 node021 的合法用户,所以有资格登陆;登陆后,系统 自动搜索家目录,由于 NFS,这个家目录实际就是 compuchem 上的家目录;而 在§2.2.1 中,我们已经在./ssh 中生成了 authorized_keys,所以登陆就不需要密 码了(当然,第一次登陆时会遇到提问,只要回答一次 yes 以后就不用了,所以 现在最好把所有的计算节点都 ssh 一下,这样 ssh 无密码的问题就解决了)。 我们发现,通过 ssh,NFS 和 NIS 这三个相互关联的技术,我们彻底的解决 了集群通信的问题。下一步,我们就可以开始安装软件了! §2.3 编译器的安装 编译器是 Linux 下最重要的软件之一,几乎所有的软件都可以在 Linux 下重 新编译,从而达到最高的效率。在本教程中,需要两种编译器:GNU 编译器和 intel 编译器。 §2.3.1 GNU 编译器 我们需要两种编译器,Fortran 和 C 的。非常简单: