## 14.4 NIS 搭配 NFS 的设定在丛集计算机上的应用
刚刚在 NIS 客户端的 nisuser1 登入测试中,你应该已经发现了一件事,那就是怎么 nisuser1 没有家目录啊?这很正常啊!因为 nisuser1 的家目录是在服务器端的 /home 上头,而你在客户端登入时, 在客户端的 /home 底下根本不可能有 nisuser1 的家目录嘛!那怎办?很简单,将服务器端的 /home 挂载到客户端上面即可啊! 那这个观念跟丛集计算机有啥关系啊?就让我们来谈谈吧!
* 什么是丛集计算机?
因为个人计算机的 CPU 速度越来越快,核心数目越来越多,因此个人计算机的效能已经不比服务器等级的大型计算机差了! 不过,如果要用来作为计算大型数值模式的应用,即使是最快的个人计算机,还是没有办法有效的负荷的。此时你可能就得要考虑一下, 是要买超级计算机 (Top 500) 还是要自己组一部 PC 丛集计算机 (PC cluster)。
超级计算机的结构中,主要是透过内部电路将好多颗 CPU 与内存连接在一块,因为是特殊设计,因此价格非常昂贵。 如果我们可以将较便宜的个人计算机串接在一块,然后将数值运算的任务分别丢给每一部串接在一块的个人计算机, 那不就很像超级计算机了吗?没错!这就是 PC cluster 最早的想法。
但是这个作法当中有几个限制喔,因为每部计算机都需要运算相同的程序,而我们知道运算的数据都在内存当中, 而程序启动时需要给予一个身份,而程序读取的程序在每部计算机上面都需要是相同的!同时,每部计算机都需要支持平行化运算! 所以,在 PC cluster 上面的所有计算机就得要有:
* 相同的用户帐户信息,包括账号、密码、家目录等等一大堆信息;
* 相同的文件系统,例如 /home, /var/spool/mail 以及数值程序放置的位置
* 可以搭配的平行化函式库,常见的有 MPICH, PVM...
上面的三个项目中,第一个项目我们可以透过 NIS 来处理,第二个项目则可以使用 NFS 来搞定~所以啰,你说, NIS 与 NFS 有没有可使用的空间啊? ^_^
**Tips:** 由于『预测』这个玩意儿越来越重要,比如说气象预报、空气质量预报等等,而预测需要一个很庞大的模式来进行仿真的工作, 这么庞大的模拟工作需要大量的运算,在学校单位要买一部很贵的大型主机实在很不容易!不过,如果能够串接十部四核心的个人计算机的话, 那么可能只需要不到 20 万便能够组成相当于具有 40 颗 CPU 的大型主机的运算能力了!所以说,在未来 PC cluster 是一个可以发展的课题喔!
![](https://box.kancloud.cn/2016-05-13_5735736501917.gif)
* 另一个不成材的实例
那我们有没有办法来实作一下平行化的丛集架构呢?老实说,很麻烦~不过,至少我们可以先完成前面谈到的两个组件! 分别是 NIS 与 NFS 嘛!但是,在我们目前这个网络环境中,用户账号实在是太紊乱了~所以,如果想要将服务器的 /home 挂载到客户端的 /home,那么那个测试用的客户端可能很多本地用户都无法登入了~因此,在这个测试练习中, 我们打算这样做:
* 账号:建立大于 2000 以上的账号,账号名称为 cluser1, cluser2, cluser3 (将 cluster user 缩写为 cluser,不是少写一个 t 喔!),且这些账号的家目录预计放置于 /rhome 目录内,以与 NIS client 本地的用户分开;
* NIS 服务器:领域名为 vbirdcluster,服务器是 www.centos.vbird (192.168.100.254),客户端是 clientlinux.centos.vbird (192.168.100.10);
* NFS 服务器:服务器分享了 /rhome 给 192.168.100.0/24 这个网域,且预计将所有程序放置于 /cluster 目录中。 此外,假设所有客户端都是很干净的系统,因此不需要压缩客户端 root 的身份。
* NFS 客户端:将来自 server 的文件系统都挂载到相同目录名称底下!
那就分别来实作一下啰!
* NIS 实作阶段
```
# 1\. 建立此次任务所需要的账号数据:
[root@www ~]# mkdir /rhome
[root@www ~]# useradd -u 2001 -d /rhome/cluser1 cluser1
[root@www ~]# useradd -u 2002 -d /rhome/cluser2 cluser2
[root@www ~]# useradd -u 2003 -d /rhome/cluser3 cluser3
[root@www ~]# echo password | passwd --stdin cluser1
[root@www ~]# echo password | passwd --stdin cluser2
[root@www ~]# echo password | passwd --stdin cluser3
# 2\. 修改 NISDOMAIN 的名称
[root@www ~]# vim /etc/sysconfig/network
NISDOMAIN=vbirdcluster <==重点在改这个项目喔!
```
这个案例中,你只要做完上述的动作就即将完成了,其他的配置文件请参考前面 14.2 节所谈到的各个必要项目。 接下来当然就是重新启动 ypserv 以及制作数据库啰!
```
# 3\. 制作数据库以及重新启动所需要的服务:
[root@www ~]# nisdomainname vbirdcluster
[root@www ~]# /etc/init.d/ypserv restart
[root@www ~]# /etc/init.d/yppasswdd restart
[root@www ~]# /usr/lib64/yp/ypinit -m
```
依序一个一个指令下达!上述的这四个指令稍微有相依性关系的!所以不要错乱了顺序喔!接下来,请换到客户端进行:
1. 以 setup 进行 NIS 的设定,在领域的部分请转为 vbirdcluster 才对!
2. 做完后再以 id cluser1 确认看看。
作法太简单了,鸟哥这里就不示范啰。
* NFS 服务器的设定
```
# 1\. 设定 NFS 服务器开放的资源:
[root@www ~]# mkdir /cluster
[root@www ~]# vim /etc/exports
/rhome 192.168.100.0/24(rw,no_root_squash)
/cluster 192.168.100.0/24(rw,no_root_squash)
# 2\. 重新启动 NFS 啰:
[root@www ~]# /etc/init.d/nfs restart
[root@www ~]# showmount -e localhost
Export list for localhost:
/rhome 192.168.100.0/24
/cluster 192.168.100.0/24
```
服务器的设定是很单纯的~客户端的设定得要注意啰!
```
# 1\. 设定 NIS Client 的 mount 数据!
[root@clientlinux ~]# mkdir /rhome /cluster
[root@clientlinux ~]# mount -t nfs 192.168.100.254:/rhome /rhome
[root@clientlinux ~]# mount -t nfs 192.168.100.254:/cluster /cluster
# 如果上述两个指令没有问题,可以将他加入 /etc/rc.d/rc.local 当中啊!
[root@clientlinux ~]# su - cluser1
[cluser1@clientlinux ~]$
```
最后你应该就能够在客户端以 cluser1 登入系统!就这么简单的将账号与文件系统同步做完啦!如果你真的想要玩一下 PC Cluster 的话,鸟哥也有写过一篇不是很成熟的 PC cluster 简易架设,有兴趣的话请自行参考:
* [http://linux.vbird.org/linux_server/0600cluster.php](http://linux.vbird.org/linux_server/0600cluster.php)
* * *
- 鸟哥的Linux私房菜:服务器架设篇 第三版
- 第一部份:架站前的进修专区
- 作者序
- 第一章、架设服务器前的准备工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架设服务器流程
- 1.3 自我评估是否已经具有架站的能力
- 1.4 本章习题
- 第二章、基础网络概念
- 2.1 网络是个什么玩意儿
- 2.2 TCP/IP 的链结层相关协议
- 2.3 TCP/IP 的网络层相关封包与数据
- 2.4 TCP/IP 的传输层相关封包与数据
- 2.5 连上 Internet 前的准备事项
- 2.6 重点回顾:
- 2.7 本章习题
- 2.8 参考数据与延伸阅读
- 第三章、局域网络架构简介
- 3.1 局域网络的联机
- 3.2 本书使用的内部联机网络参数与通讯协议
- 第四章、连上 Internet
- 4.1 Linux 连上 Internet 前的注意事项
- 4.2 连上 Internet 的设定方法
- 4.3 无线网络--以笔记本电脑为例
- 4.4 常见问题说明
- 4.5 重点回顾
- 4.6 本章习题
- 4.7 参考数据与延伸阅读
- 第五章、 Linux 常用网络指令
- 5.1 网络参数设定使用的指令
- 5.2 网络侦错与观察指令
- 5.3 远程联机指令与实时通讯软件
- 5.4 文字接口网页浏览
- 5.5 封包撷取功能
- 5.6 重点回顾
- 5.7 本章习题
- 5.8 参考数据与延伸阅读
- 第六章、 Linux 网络侦错
- 6.1 无法联机原因分析
- 6.2 处理流程
- 6.3 本章习题
- 6.4 参考数据与延伸阅读
- 第二部分:主机的简易资安防护措施
- 第七章、网络安全与主机基本防护:限制端口, 网络升级与 SELinux
- 7.1 网络封包联机进入主机的流程
- 7.2 网络自动升级软件
- 7.3 限制联机埠口 (port)
- 7.4 SELinux 管理原则
- 7.5 被攻击后的主机修复工作
- 7.6 重点回顾
- 7.7 课后练习
- 7.8 参考数据与延伸阅读
- 第八章、路由观念与路由器设定
- 8.1 路由
- 8.2 路由器架设
- 8.3 动态路由器架设:quagga (zebra + ripd)
- 8.4 特殊状况:路由器两边界面是同一个 IP 网段: ARP Proxy
- 8.5 重点回顾
- 8.6 本章习题
- 8.7 参考数据与延伸阅读
- 第九章、防火墙与 NAT 服务器
- 9.1 认识防火墙
- 9.2 TCP Wrappers
- 9.3 Linux 的封包过滤软件:iptables
- 9.4 单机防火墙的一个实例
- 9.5 NAT 服务器的设定
- 9.6 重点回顾
- 9.7 本章习题
- 9.8 参考数据与延伸阅读
- 第十章、申请合法的主机名
- 10.1 为何需要主机名
- 10.2 注册一个合法的主机名
- 10.3 重点回顾
- 10.4 本章习题
- 10.5 参考数据与延伸阅读
- 第三部分:局域网络内常见的服务器架设
- 第十一章、远程联机服务器SSH / XDMCP / VNC / RDP
- 11.1 远程联机服务器
- 11.2 文字接口联机服务器: SSH 服务器
- 11.3 最原始图形接口: Xdmcp 服务的启用
- 11.4 华丽的图形接口: VNC 服务器
- 11.5 仿真的远程桌面系统: XRDP 服务器
- 11.6 SSH 服务器的进阶应用
- 11.7 重点回顾
- 11.8 本章习题
- 11.9 参考数据与延伸阅读
- 第十二章、网络参数控管者: DHCP 服务器
- 12.1 DHCP 运作的原理
- 12.2 DHCP 服务器端的设定
- 12.3 DHCP 客户端的设定
- 12.4 DHCP 服务器端进阶观察与使用
- 12.5 重点回顾
- 12.6 本章习题
- 12.7 参考数据与延伸阅读
- 第十三章、文件服务器之一:NFS 服务器
- 13.1 NFS 的由来与其功能
- 13.2 NFS Server 端的设定
- 13.3 NFS 客户端的设定
- 13.4 案例演练
- 13.5 重点回顾
- 13.6 本章习题
- 13.7 参考数据与延伸阅读
- 第十四章、账号控管: NIS 服务器
- 14.1 NIS 的由来与功能
- 14.2 NIS Server 端的设定
- 14.3 NIS Client 端的设定
- 14.4 NIS 搭配 NFS 的设定在丛集计算机上的应用
- 14.5 重点回顾
- 14.6 本章习题
- 14.7 参考数据与延伸阅读
- 第十五章、时间服务器: NTP 服务器
- 15.1 关于时区与网络校时的通讯协议
- 15.2 NTP 服务器的安装与设定
- 15.3 客户端的时间更新方式
- 15.4 重点回顾
- 15.5 本章习题
- 15.6 参考数据与延伸阅读
- 第十六章、文件服务器之二: SAMBA 服务器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服务器的基础设定
- 16.3 Samba 客户端软件功能
- 16.4 以 PDC 服务器提供账号管理
- 16.5 服务器简单维护与管理
- 16.6 重点回顾
- 16.7 本章习题
- 16.8 参考数据与延伸阅读
- 第十七章、区网控制者: Proxy 服务器
- 17.1 什么是代理服务器 (Proxy)
- 17.2 Proxy 服务器的基础设定
- 17.3 客户端的使用与测试
- 17.4 服务器的其他应用设定
- 17.5 重点回顾
- 17.6 本章习题
- 17.7 参考数据与延伸阅读
- 第十八章、网络驱动器装置: iSCSI 服务器
- 18.1 网络文件系统还是网络驱动器
- 18.2 iSCSI target 的设定
- 18.3 iSCSI initiator 的设定
- 18.4 重点回顾
- 18.5 本章习题
- 18.6 参考数据与延伸阅读
- 第四部分:常见因特网服务器架设
- 第十九章、主机名控制者: DNS 服务器
- 19.1 什么是 DNS
- 19.2 Client 端的设定
- 19.3 DNS 服务器的软件、种类与 cache only DNS 服务器设定
- 19.4 DNS 服务器的详细设定
- 19.5 协同工作的 DNS: Slave DNS 及子域授权设定
- 19.6 DNS 服务器的进阶设定
- 19.7 重点回顾
- 19.8 本章习题
- 19.9 参考数据与延伸阅读
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服务器之三: FTP 服务器
- 21.1 FTP 的数据链路原理
- 21.2 vsftpd 服务器基础设定
- 21.3 客户端的图形接口 FTP 联机软件
- 21.4 让 vsftpd 增加 SSL 的加密功能
- 21.5 重点回顾
- 21.6 本章习题
- 21.7 参考数据与延伸阅读
- 第二十二章、邮件服务器: Postfix
- 22.1 邮件服务器的功能与运作原理
- 22.2 MTA 服务器: Postfix 基础设定
- 22.3 MRA 服务器: dovecot 设定
- 22.4 MUA 软件:客户端的收发信软件
- 22.5 邮件服务器的进阶设定
- 22.6 重点回顾
- 22.7 本章习题
- 22.8 参考数据与延伸阅读