## 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 是一個可以發展的課題喔!

* 另一個不成材的實例
那我們有沒有辦法來實作一下平行化的叢集架構呢?老實說,很麻煩~不過,至少我們可以先完成前面談到的兩個組件! 分別是 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 參考數據與延伸閱讀