鸟哥的Linux私房菜(服务器)- 簡易 Cluster 架設
生活随笔
收集整理的這篇文章主要介紹了
鸟哥的Linux私房菜(服务器)- 簡易 Cluster 架設
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
簡易?Cluster?架設(shè)
最近更新日期:2003/05/20
?
原理: ?
:什麼是 Cluster 與 Cluster 的優(yōu)點(diǎn) ?
:Cluster 的主從架構(gòu) ?
:達(dá)成 Cluster 所需要額外功能 ( RSH ) 與軟體 ( MPICH ) ?
架設(shè)流程: ?
:整體架構(gòu) ?
:鳥哥的一個實(shí)例規(guī)範(fàn) ?
:系統(tǒng)安裝 ( Red Hat 9 ) ?
:防火牆 ( 含 NAT 主機(jī) ) 與網(wǎng)路設(shè)定 ?
:NFS 架設(shè)規(guī)劃(相當(dāng)重要,參考說明) ?
:NIS 架設(shè)規(guī)劃 ?
:RSH 設(shè)定 ?
:安裝 Fortran 90 的編譯程式 PGI pgf90 ( PS. server version ) ?
:安裝 MPICH ?
其他主機(jī)相關(guān)設(shè)定: ?
:X-Window Server/Slave 架構(gòu) ?
重點(diǎn)回顧 ?
參考資源 ?
原理:
架設(shè)流程
其他主機(jī)相關(guān)設(shè)定:
後記:雖然架設(shè)一個 X Server/Client 是很簡單的一件事,不過,如果您的機(jī)器並不是在 LAN 裡面的話,而是在 Internet 上面進(jìn)行 Server/Client 的 X 系統(tǒng)架構(gòu)的連結(jié),請?zhí)貏e留意的是,由於 X Window 的圖形介面需要一直傳輸圖形到您的工作機(jī)上面來,如此一來,將會損耗掉大部分的頻寬喔!在我的實(shí)際案例當(dāng)中,發(fā)現(xiàn)到我的 X Server/Client 之間流量傳輸達(dá)到 2000 Kbits/second, 亦即是 250KBytes/second ,還記得流量的算法吧?!如果是 ADSL 撥接架構(gòu)的話,目前已經(jīng)蠻常見 下載/上傳 = 1.5M/386K 的傳輸速度,不過,即使下載達(dá)到 1.5M 了,不過在我的案例中竟然高達(dá)了 2.0M 的傳輸!呵呵!瞭解吧!所以囉,這個 X Window 的 Server/Client 架構(gòu)請務(wù)必在內(nèi)部網(wǎng)路架設(shè)就好,不要想連上 Internet 啊!會等的快睡著.....
重點(diǎn)回顧
參考資源
| 近年來因?yàn)閿?shù)值模式模擬的盛行,所以『平行運(yùn)算』的架構(gòu)也就越來越重要了!什麼是數(shù)值模擬呢?主要就是藉由一些物理理論去開發(fā)出來的一些『計(jì)算公式』,而這些計(jì)算公式藉由程式語言(例如C、Fortran等等)實(shí)際的將他編譯成為可執(zhí)行的程式,最常見的例如中央氣象局不是每天都會預(yù)報天氣嗎?這個預(yù)報的動作就是利用數(shù)值計(jì)算去演算出來的。另外,還有空氣品質(zhì)模式模擬,也是經(jīng)過運(yùn)算出來的,除此之外,例如天文、物理、水文等等很多方面的工作,都是利用這種數(shù)值模擬的運(yùn)算的喔!不過,這些程式是很大型的!也就是說,他們在運(yùn)算的時間是很長的,如果使用單顆 CPU 的話,不論這顆 CPU 的頻率與效能有多高,還是得要運(yùn)算個好幾個鐘頭的~如此一來,對於像氣象預(yù)報這個急需時效性的工作可能就會有所延誤啊!不過,如果我將這個運(yùn)算的工作同時丟給多顆 CPU 呢?也就是讓多顆 CPU 同時進(jìn)行這個程式的運(yùn)算工作,如此一來,將可以大大的減低時間的損耗了~這就是平行運(yùn)算的簡單說明。在 Linux 平臺上面,要達(dá)成簡單的平行運(yùn)算,可以透過 MPI 的函式庫,例如 MPICH 就是一個很有名的 MPI 軟體喔!馬上來給他看看平行運(yùn)算類型的 Cluster 建置吧! |
原理: ?
:什麼是 Cluster 與 Cluster 的優(yōu)點(diǎn) ?
:Cluster 的主從架構(gòu) ?
:達(dá)成 Cluster 所需要額外功能 ( RSH ) 與軟體 ( MPICH ) ?
架設(shè)流程: ?
:整體架構(gòu) ?
:鳥哥的一個實(shí)例規(guī)範(fàn) ?
:系統(tǒng)安裝 ( Red Hat 9 ) ?
:防火牆 ( 含 NAT 主機(jī) ) 與網(wǎng)路設(shè)定 ?
:NFS 架設(shè)規(guī)劃(相當(dāng)重要,參考說明) ?
:NIS 架設(shè)規(guī)劃 ?
:RSH 設(shè)定 ?
:安裝 Fortran 90 的編譯程式 PGI pgf90 ( PS. server version ) ?
:安裝 MPICH ?
其他主機(jī)相關(guān)設(shè)定: ?
:X-Window Server/Slave 架構(gòu) ?
重點(diǎn)回顧 ?
參考資源 ?
原理:
- 什麼是 Cluster 與 Cluster 的優(yōu)點(diǎn)
?
什麼是 Cluster 呢?目前常見的 Cluster (叢集)架構(gòu)有兩種,一種是 Web / Internet cluster system,這種架構(gòu)主要是將資料放置在不同的主機(jī)上面,亦即由多部主機(jī)同時負(fù)責(zé)一項(xiàng)服務(wù);而另外一種則是所謂的平行運(yùn)算了!平行運(yùn)算其實(shí)就是將同一個運(yùn)算的工作,交給整個 Cluster 裡面的所有 CPU 來進(jìn)行同步運(yùn)算的一個功能。由於使用到多個 CPU 的運(yùn)算能力,所以可以加快運(yùn)算的速度。目前比較常見於平行運(yùn)算功能的,通常需要在超級電腦上面才看的到,這些超級電腦主要是用在天文、軍事、物理等需要很精密的、大量的運(yùn)算的工作中,而考慮到穩(wěn)定性,則通常是用在 Unix 系統(tǒng)上面的硬體架構(gòu)上。不過,目前由於 PC 上面的 CPU 的運(yùn)算功能越來越強(qiáng)大了~因此,當(dāng)然很多程式開發(fā)者就動腦筋到 PC 上面來製作平行電腦的系統(tǒng)囉!我們這篇短文主要在介紹的就是『平行運(yùn)算』這一類的 Cluster 了!?
?
由於 Cluster 主要是用在平行運(yùn)算上面的,而所謂的平行運(yùn)算是使用到多顆 CPU 的運(yùn)算功能,因此可以讓您的大型運(yùn)算的程式很快的執(zhí)行完畢!因此,如果你的工作環(huán)境當(dāng)中,常常會使用到很耗 CPU 運(yùn)算功能的程式時,就可以嘗試使用 Cluster 來進(jìn)行工作囉!應(yīng)該可以節(jié)省您不少的時間吶!此外,我們這篇短文主要是在 X86 架構(gòu)下的 PC 來架設(shè) Cluster 的喔!?
?
不過,也需要特別留意的是,由於我們的 Cluster 是將一個工作平均分給所有的 node (註:一顆 CPU 在一個 Cluster 架構(gòu)下,就稱為一個 node 囉!),所以,萬一您做成的 Cluster 系統(tǒng)當(dāng)中,所有的 node 並非完全相同的運(yùn)算等級,那麼先做完工作的 node 將會暫停工作,會等到所有的 node 都進(jìn)行完畢後,才會在進(jìn)行下一動~所以啦!強(qiáng)烈的建議在同一個 cluster 的架構(gòu)中,盡量所有的 CPU 都使用相同的 CPU 型號,應(yīng)該會比較好一點(diǎn)喔!?
?
- Cluster 的主從架構(gòu)
?
最簡單的 Cluster 其實(shí)就是以一種主從架構(gòu)來進(jìn)行資料的運(yùn)算工作的,圖示如下:- 上面的 Master 與 Slave 指的都是 CPU 喔!
- Master 那部機(jī)器上面必須要有可以將工作分配給各個 node 去工作的函式庫,也就是 MPI ,他最重要的功能就是將工作給他分配下去的啦!而最重要的軟體就是:(1)MPICH;(2)編譯器(compiler, 例如 Fortran);
- 什麼是網(wǎng)路功能呢?如果 master 與 slave 是在同一部機(jī)器當(dāng)中,例如雙 CPU 的主機(jī)板,那麼這裡就不需要網(wǎng)路功能啦!不過,如果我是使用四臺雙 CPU 的 PC 呢?呵呵!那麼這四部主機(jī)就需要以高速網(wǎng)路架構(gòu)進(jìn)行連線啦!此外,還需要在這四部主機(jī)之間建立可以互通訊息的通訊協(xié)定才行,這方面的功能就含有:(1)R Shell, 亦即稱為 RSH;(2)NIS,使 Master 與 Slave 具有相同的帳號群組關(guān)係;(3)NFS,使讀取寫入的資料可以在同一個 partition 上面;
- Slave 就是單純的將來自 Master 的任務(wù)給他做完就是了!
整個主從架構(gòu)大致上就是這樣啦!因此,可以知道的是,我們需要的就是上面那些咚咚囉!?
?
- 上面的 Master 與 Slave 指的都是 CPU 喔!
- 達(dá)成 Cluster 所需要額外功能 ( RSH ) 與軟體 ( MPICH )
?
由上面的 Cluster 主從架構(gòu)當(dāng)中,我們知道 Master 與 Slave 之間的網(wǎng)路溝通很重要的一個咚咚,那就是 R Shell 囉!此外,還有將一個工作傳送給不同的 node 來進(jìn)行計(jì)算的任務(wù),就需要 MPICH 這個函式庫來進(jìn)行!簡單的談一談這兩個玩意兒吧!?
- RSH:
在我們的 Linux 主機(jī)上面工作,通常使用 BASH 這個 shell 來傳達(dá)給 kernel 工作的訊息,以使主機(jī)正確的工作;而如果在不同的主機(jī)之間,那就可以使用 R Shell 來進(jìn)行指令的下達(dá)喔,如此一來,我們就可以直接在 A 機(jī)器,向 B 機(jī)器下達(dá)工作的指令,而不需要登入 B 機(jī)器呢~那就是 RSH 的主要功能啦!最常見的 RSH 指令就是 rcp 與 rsh 了!有興趣的朋友應(yīng)該知道以 man 來查尋一下該指令的用法囉!?
需要附帶一提的是,這個 RSH 是『相當(dāng)危險』的一個服務(wù)喔!由於我們可以直接登入 RSH 主機(jī),並且在上面進(jìn)行指令的下達(dá),為了避免還要輸入密碼的問題,因此通常 RSH 已經(jīng)將信任主機(jī)設(shè)定好了,不過,由於 RSH 會啟動一些 port 來監(jiān)聽 Clients 的需求,而偏偏這些 port 與 daemon 都還挺危險的,因此,『Cluster 最好是設(shè)定在內(nèi)部網(wǎng)域當(dāng)中,並使用私有 IP ,比較能夠避免危險』喔!此外,那個 Master 也必須要設(shè)定好一定程度的嚴(yán)密防火牆喔!?
- MPICH:
MPI 是?Messages Passing Interface?的縮寫,他本身是一個規(guī)格很嚴(yán)密的通訊標(biāo)準(zhǔn),主要的功能是在處理平行運(yùn)算之間各個 node 的資料交換,請注意, MPI 並不是一套軟體喔!而至於 MPICH 就是符合 MPI 這個標(biāo)準(zhǔn)通訊協(xié)定的一套軟體了!因此,我們可以經(jīng)由 MPICH 這個軟體提供的 MPI 函式庫來達(dá)成平行運(yùn)算的功能喔!也就是說,我們所寫的程式,只要能夠使用 MPICH 提供的函式庫,那麼該程式就可以進(jìn)行平行運(yùn)算時候所需要的功能了,這就可以避免程式開發(fā)者還要去處理通訊節(jié)點(diǎn)上面的問題,而可以將程式開發(fā)的重心著重在程式本身的問題上面!?
MPICH 是由 Mathematics and Computer Science Division的 Argonne 實(shí)驗(yàn)室所發(fā)展,詳細(xì)的資料可以參考:http://www-unix.mcs.anl.gov/mpi/mpich/
除了這兩個軟體之外,還需要 NIS 與 NFS 喔!所以啦!要建置一個 Cluster 的話,身為系統(tǒng)管理員的您,必須要學(xué)會的技能真是相當(dāng)?shù)亩嗟?#xff0c;至少需要:?
- 熟悉 Linux 的操作技巧;
- 熟悉 Linux 基礎(chǔ)網(wǎng)路參數(shù)設(shè)定;
- 熟悉 Linux 相關(guān)的 Server 架設(shè)(這方面請參考鳥哥的私房菜架站篇);
- 瞭解 RSH 的相關(guān)功能與設(shè)定技巧;
- 瞭解 MPICH 的設(shè)定與相關(guān)功能;
- 熟悉至少一種程式語言。
還真的是不好學(xué)啊!鳥哥也是新手玩弄 Cluster 說~大家一起研究研究吧! ^_^ - RSH:
架設(shè)流程
- 要架設(shè) Cluster 當(dāng)然就是需要多部的 PC 來連線啦!不然怎麼稱為 Cluster 呢?您說是吧!所以,無論如何,在架設(shè) Cluster 之前,請務(wù)必要確認(rèn)您的『所有硬體以及網(wǎng)路功能都是完整無缺的!』否則就無法繼續(xù)下去啦!另外,建議 Cluster 的所有主機(jī)規(guī)格盡量相同,可以避免等待的困擾呢!底下就來談一談?wù)麄€架設(shè)流程吧!?
?
- 整體架構(gòu)
?
整體架構(gòu)的架設(shè)當(dāng)中,需要的所有軟體為:?
- Master 主機(jī)安裝需要:
- 防火牆的設(shè)定(含 NAT 架設(shè));
- RSH
- NIS Server
- NFS Server
- Compiler Install
- MPICH Install
- 其他特殊功能
- Slave 主機(jī)安裝需要:
- 防火牆的設(shè)定
- RSH
- NIS Client
- NFS Client
基本上,幾乎所有的工作都是在 Master 上面做啦! Slave 最大的任務(wù)就是進(jìn)行來自 Master 所要求的計(jì)算工作,因此,Slave 能夠越簡單越好~至於 Master 上面,由於我們都是在 Master 主機(jī)上面下達(dá)工作指令,而總不能老是在螢?zāi)磺懊嫦逻_(dá)指令吧!因此上,Master 通常會有兩個網(wǎng)路介面,分別是對外的 Public IP 與對內(nèi)的 Priavte IP。而既然 Master 有提供 Public IP 的設(shè)定,自然就比較擔(dān)心所謂的駭客入侵問題,所以啦,您的 Master 主機(jī),要嗎就不要開放 Public IP ,要嗎就務(wù)必要設(shè)定很嚴(yán)密的防火牆,並且不必要的服務(wù)就盡量關(guān)閉他~畢竟我們的 Cluster 是要用來做為計(jì)算運(yùn)作的,所以不必要的網(wǎng)路協(xié)定服務(wù),當(dāng)然就是關(guān)閉他啦!底下鳥哥將以自己的一個實(shí)際案例進(jìn)行說明的啦!參考看看吧!?
?
- Master 主機(jī)安裝需要:
- 鳥哥的一個實(shí)例規(guī)範(fàn)
?
在我這個案例當(dāng)中, Cluster 主要的功能為:進(jìn)行 MM5 這個氣象模式的運(yùn)算以及 Models-3/CMAQ 這個空氣品質(zhì)模式的運(yùn)算,而由於這兩個咚咚都是使用 PGI Fortran 90 做為 Compiler ,因此,我就必須要進(jìn)行 PGI 的安裝啦!而我的硬體架構(gòu)主要是這樣的:?
- Master : 為雙 CPU 主機(jī),使用 AMD MP 的 CPU ,並且有一顆 120 GB 的硬碟,此外,由於我的數(shù)值模式需要 PGI Fortran ,所以就必須要安裝 Server 版的 PGI Fortran 喔!
- Slave : 共有三部 Slave ,每一部均為雙 CPU 的 AMD MP 的 CPU ,並且有一顆 120 GB 的硬碟;
- 連接 Master 與 Slave 的為 10/100/1000 的 Switch ,當(dāng)然,四部主機(jī)(1 x master + 3 x slave)都是安裝 Intel 的 1GB 網(wǎng)路卡喔!
硬體連接有點(diǎn)像這樣: 那麼底下就來談一談怎麼安裝他吧!?
?
- 系統(tǒng)安裝( Red Hat 9 )
?
我的這個系統(tǒng)使用的是最新的 Red Hat 出版的 Red Hat 9 ,會用這個玩意兒最大的原因是因?yàn)?Red Hat 是目前支援的 Linux 軟體最多的一個 Linux Distribution 了,安裝他之後,就比較不會欠東欠西的,此外,很多的軟體都是以 Red Hat 做為測試的平臺,因此我就選擇他來做為我的系統(tǒng)平臺啊!另外,需要留意的是,由於 Slave 並不需要使用到圖形介面的功能,他單純是用在計(jì)算上面,因此我沒有在 slave 上面安裝圖形介面的打算~至於 Master 則安裝了 KDE 這個咚咚喔!好了,Linux 的安裝相信大家應(yīng)該都要很熟悉了,所以我就不再談安裝的詳細(xì)步驟,僅提幾個特別需要注意的地方囉:?
- Partition 方面:
因?yàn)槲业挠驳鷮?shí)在是在蠻大的,並且在 Slave 上面也是 120 GB 的硬碟,如果不將 Slave 的硬碟使用的話,實(shí)在覺得很浪費(fèi),因此,一開始我就規(guī)劃將四部主機(jī)的硬碟全部都以 NFS 分享到內(nèi)部網(wǎng)域當(dāng)中,而為了避免跟系統(tǒng)的檔案放在一起,因此,我就將硬碟分割出除了必要的 partition 之外,其他的就掛載在 /disk1 這個目錄當(dāng)中,四部主機(jī)的 parition 都相同,分別是:?
- /???? : 10 GB
- /var? :? 5 GB
- /tmp? :? 3 GB
- Swap? :? 3 GB ( 因?yàn)槲颐坎?Linux 主機(jī)上面都有 1.5 GB 的記憶體 )
- /disk1: 96 GB
- 安裝時選擇的套件:
所有的主機(jī)都需要底下的套件安裝(註:因?yàn)樵镜墓P記記錄的很亂,所以如果找不到相同的字眼,那就是我寫錯啦!):- Administrattion Tools
- Development Tools
- Editors
- Engineering and Scientific
- FTP Server
- Kernel Development
- Network Servers
- Server configuration Tools
- Sound and vedio
- System Tools
- Text-based Internet
- Windows File servers
系統(tǒng)安裝大致上就是這些吧,如果有疏漏的,請未來在安裝完畢之後,再以原本 Red Hat 9 的光碟來重新安裝他吧!反正 Red Hat 系統(tǒng)都是以 rpm 來安裝的,挺容易安裝的喔!整個安裝完畢後,還花不到幾分鐘呢!?
?
- Partition 方面:
- 防火牆 ( 含 NAT 主機(jī) ) 與網(wǎng)路設(shè)定
?
由於我們的 Cluster 主要是用在數(shù)值運(yùn)算,因此,當(dāng)然不需要對外開放網(wǎng)路服務(wù)啦!所以,最好就是以私有 IP 來進(jìn)行網(wǎng)路的設(shè)定是比較好的!此外,最好還是要設(shè)定好防火牆的啦!我的網(wǎng)域參數(shù)預(yù)設(shè)是這樣的:?
- Network/netmask:192.168.10.0/255.255.255.0
- Master:(對外)140.116.xxx.yyy;(對內(nèi))192.168.10.30, Gateway 為對外的 Gateway 喔!並且有設(shè)定 NAT 啊!
- Slave:192.168.10.10, 192.168.10.20, 192.168.10.40 三部,Gateway 為 192.168.10.30
網(wǎng)路參數(shù)的各個檔案是這樣的:?
- 各個主機(jī)的主機(jī)名稱請修改:/etc/sysconfig/network
- 各個主機(jī)的網(wǎng)路卡設(shè)定項(xiàng)目請修改:/etc/sysconfig/network-scripts/ifcfg-eth0
- 各個主機(jī)的 DNS 查尋系統(tǒng)請修改:/etc/resolv.conf
- 各個主機(jī)的內(nèi)部主機(jī)名稱查尋系統(tǒng)請修改:/etc/hosts,我的 /etc/hosts 如下:
127.0.0.1?????? localhost?????? localhost.localdomain?
192.168.10.10?? node1.cluster?
192.168.10.20?? node2.cluster?
192.168.10.30?? server.cluster?
192.168.10.40?? node4.cluster
而我的每部主機(jī)先將所有的網(wǎng)路服務(wù)都給他關(guān)掉去,僅剩下 SSH 這個網(wǎng)路協(xié)定存在而已~所以,我利用 Red Hat 提供的 ntsysv 這個指令來選擇開機(jī)時啟動的項(xiàng)目有:?
- atd
- crond
- iptables
- keytable
- network
- random
- sshd
- syslogd
- xinetd
至於防火牆系統(tǒng)的規(guī)劃上面,由於 Master 主機(jī) (192.168.10.30) 具有 NAT 的功能,所以必須要修改一下他的防火牆機(jī)制,因此,就有兩個不同的防火牆機(jī)制 scripts 囉!另外,由於擔(dān)心外來的入侵攻擊,因此,在這個 Cluster 的系統(tǒng)當(dāng)中,我的 iptables 防火牆機(jī)制是使用『MAC(網(wǎng)路卡卡號)』來做為設(shè)定的基準(zhǔn),而不是使用 IP 啊!為什麼呢?因?yàn)榉凑覂H允許我自己同網(wǎng)域內(nèi)的幾部電腦連進(jìn)來而已,當(dāng)然沒有必要針對 IP 啊!所以囉,就必須要收集四部主機(jī)的網(wǎng)路卡來允許他進(jìn)入囉。此外,由於我可能並不在 Cluster 前面操作,因此會啟用一兩部主機(jī)的網(wǎng)路卡卡號,好讓他能夠進(jìn)入 Cluster 呦!底下就將我的防火牆機(jī)制給他列出來一下:?
- Master:
#!/bin/bash?
# This program is for iptables' rules?
# VBird 2003/05/02?
#?
# 0. PATH and modules?
? PATH=/sbin:/bin:/usr/sbin:/usr/bin?
? export PATH?
? modprobe ip_tables?
? modprobe iptable_nat?
? modprobe ip_nat_ftp?
? modprobe ip_nat_irc?
? modprobe ip_conntrack?
? modprobe ip_conntrack_ftp?
? modprobe ip_conntrack_irc?
#?
# 1. clear the rules and make the policys?
? iptables -F?
? iptables -X?
? iptables -Z?
? iptables -F -t nat?
? iptables -X -t nat?
? iptables -Z -t nat?
? iptables -P INPUT?? DROP?
? iptables -P OUTPUT? ACCEPT?
? iptables -P FORWARD ACCEPT?
? iptables -t nat -P PREROUTING? ACCEPT?
? iptables -t nat -P POSTROUTING ACCEPT?
? iptables -t nat -P OUTPUT????? ACCEPT#?
# 2. NAT services?
? echo "1" > /proc/sys/net/ipv4/ip_forward?
? iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j MASQUERADE?
#?
# 3. Trust network and conditions?
? iptables -A INPUT -m state --state ESTABLISHED,RELATED? -j ACCEPT??
? iptables -A INPUT -i lo -j ACCEPT?
? iptables -A INPUT -m mac --mac-source?XX:YY:ZZ:WW:QQ:PP?-j ACCEPT??
# 上面這一行就是網(wǎng)路卡的卡號啦! - Slave:
Slave 的防火牆機(jī)制跟 Master 幾乎一模一樣,只是因?yàn)樵趦?nèi)部啊,所以不需要啟動 NAT 的服務(wù)即可!上面的給改一改先~
好啦!網(wǎng)路的設(shè)定與防火牆就到這裡為止,要記得喔,你的網(wǎng)路必須要已經(jīng)能夠正確的啟動了!如果還是無法啟動網(wǎng)路,或者是防火牆機(jī)制還是有問題,那麼對外的那個網(wǎng)路卡的網(wǎng)路線還是先給他拔掉吧!比較安全一些些的啦!等到都設(shè)定妥當(dāng),尤其是防火牆,然後才來啟動他吧!?
?
- NFS 架設(shè)規(guī)劃
?
由於我這裡預(yù)計(jì)要設(shè)定 NIS ,並且每部主機(jī)的 /disk1 都要分享出去,因此,每部主機(jī)都必須要開放 NFS 的服務(wù)喔!並且,每一部主機(jī)的設(shè)定都可以相同吶!這樣比較容易來設(shè)定囉~此外,比較不一樣的地方在於 Master 這一部,由於我的 Cluster 所有的帳號都在 NIS 的管制之中,因此,我將 Master 的 /home 也分享出來,並且每部 Slave 主機(jī)都掛載 Master 的 /home 才成!?
?
這個 NFS 在 Cluster 當(dāng)中是相當(dāng)重要的,為什麼呢?因?yàn)槲覀儾皇窃谒牟恐鳈C(jī)上面工作嗎,而這四部主機(jī)會去讀取的『資料』其實(shí)都是『在本機(jī)上面可以看的到的』資料才行,這還包括底下我們會持續(xù)介紹的 mpich 這個軟體的函式庫呢!也就是說:『在 Cluster 裡面,所有的機(jī)器會使用到的資料必須都在相同的目錄當(dāng)中!』所以,這就是為什麼我們要對 /home 進(jìn)行分享,以及進(jìn)行 NIS 的設(shè)定了!此外,因?yàn)槲业?Server 這部 Master 機(jī)器分享出去的目錄中,已經(jīng)含有 /disk1 這個 partition,此外,還通通將他掛載在 /cluster/server 底下,因此,可以建議:『未來在安裝所有的 Cluster 需要的套件資料時,例如 Compiler 以及 MPICH 等等,都可以安裝到 /cluster/server 這個目錄底下,以使所有的主機(jī)都能夠使用同一個 partition 來源的資料喔!』?
?
設(shè)定程序:?
- Master:
1. 啟動 portmap 並且設(shè)定開機(jī)啟動:?
[root @server root]#?/etc/rc.d/init.d/portmap start?
[root @server root]#?chkconfig --level 35 portmap on?
?
2. 設(shè)定 NFS 分享出去:?
[root @server root]#?vi /etc/exports?
/home? 192.168.10.0/24(rw,async,no_root_squash)?
/disk1 192.168.10.0/24(rw,async,no_root_squash)?
[root @server root]#?exportfs -rv?
[root @server root]#?/etc/rc.d/init.d/nfs start?
[root @server root]#?chkconfig --level 35 nfs on?
?
3. 設(shè)定預(yù)計(jì)的掛載點(diǎn):?
[root @server root]#?mkdir -p /cluster/node1?
[root @server root]#?mkdir -p /cluster/node2?
[root @server root]#?mkdir -p /cluster/node4?
[root @server root]#?mkdir -p /cluster/server- Slave:
1. 啟動 portmap 並且設(shè)定開機(jī)啟動:?
[root @node1 root]#?/etc/rc.d/init.d/portmap start?
[root @node1 root]#?chkconfig --level 35 portmap on?
?
2. 設(shè)定 NFS 分享出去:?
[root @node1 root]#?vi /etc/exports?
/disk1 192.168.10.0/24(rw,async,no_root_squash)?
[root @node1 root]#?exportfs -rv?
[root @node1 root]#?/etc/rc.d/init.d/nfs start?
[root @node1 root]#?chkconfig --level 35 nfs on?
?
3. 設(shè)定預(yù)計(jì)的掛載點(diǎn):?
[root @node1 root]#?mkdir -p /cluster/node1?
[root @node1 root]#?mkdir -p /cluster/node2?
[root @node1 root]#?mkdir -p /cluster/node4?
[root @node1 root]#?mkdir -p /cluster/server
- Master:
將底下這些指令測試執(zhí)行一下,如果成功後,將指令寫入 /etc/rc.d/rc.local 當(dāng)中
[root @server root]#?mount -t nfs -o bg,intr server.cluster:/disk1 /cluster/server?
[root @server root]#?mount -t nfs -o bg,intr? node1.cluster:/disk1 /cluster/node1?
[root @server root]#?mount -t nfs -o bg,intr? node2.cluster:/disk1 /cluster/node2?
[root @server root]#?mount -t nfs -o bg,intr? node4.cluster:/disk1 /cluster/node4
- Slave:
- 將底下這些指令測試執(zhí)行一下,如果成功後,將指令寫入 /etc/rc.d/rc.local 當(dāng)中
[root @node1 root]#?mount -t nfs??????????? server.cluster:/home? /home?
[root @node1 root]#?mount -t nfs -o bg,intr server.cluster:/disk1 /cluster/server?
[root @node1 root]#?mount -t nfs -o bg,intr? node1.cluster:/disk1 /cluster/node1?
[root @node1 root]#?mount -t nfs -o bg,intr? node2.cluster:/disk1 /cluster/node2?
[root @node1 root]#?mount -t nfs -o bg,intr? node4.cluster:/disk1 /cluster/node4
?
- NIS 架設(shè)規(guī)劃
?
NIS 的設(shè)定也是很簡單,不過主要還是需要分為 NIS Server 與 NIS Client 兩部份來設(shè)定的!請注意,在設(shè)定之前,就已經(jīng)要將 NFS 搞定喔!這些流程都是有一定程度的相關(guān)性的呢!?
- Master:
在 Master 上面需要進(jìn)行的工作很多喔!首先,一定要修改 ypserv.conf 以及其他相關(guān)的檔案的吶!?
?1. 啟動 time 與 time-udp 這兩個預(yù)先要啟動的 daemon?
[root @server root]#?chkconfig --level 35 time on?
[root @server root]#?chkconfig --level 35 time-upd on?
[root @server root]#?/etc/rc.d/init.d/xinetd restart?
?
2. 建立 NIS 的領(lǐng)域名稱 (我這裡是設(shè)定為 cluster ):??
[root @server root]#?nisdomainname cluster??
[root @server root]#?echo "/bin/nisdomainname cluster" >> /etc/rc.d/rc.local??
[root @server root]#?echo "NISDOMAIN=cluster" >> vi /etc/sysconfig/network?
?
3. 建立 NIS 設(shè)定檔:?
[root @server root]#?vi /etc/ypserv.conf?(在這個檔案內(nèi)增加三行即可)?
127.0.0.0/255.255.255.0?? :? *? :? *? :? none??
192.168.10.0/255.255.255.0:? *? :? *? :? none??
*???????????????????????? :? *? :? *? :? deny??
[root @server root]#?touch /etc/netgroup?
?
4. 啟動 NIS:?
[root @server root]#?/etc/rc.d/init.d/ypserv??? start??
[root @server root]#?/etc/rc.d/init.d/yppasswdd start??
[root @server root]#?chkconfig --level 35 ypserv on??
[root @server root]#?chkconfig --level 35 yppasswdd on?
?
5. 製作資料庫:(每次有更動使用者資訊時,就必須要進(jìn)行這個步驟!)?
[root @server root]#?/usr/lib/yp/ypinit -m?
[root @server root]#?chkconfig --level 35 ypserv on??
[root @server root]#?chkconfig --level 35 yppasswdd on - Slave:
至於 NIS Client 則是需要設(shè)定 yp.conf 這個檔案呢!?
?1. 建立 NIS 的領(lǐng)域名稱 (我這裡是設(shè)定為 cluster ):??
[root @node1 root]#?nisdomainname cluster??
[root @node1 root]#?echo "/bin/nisdomainname cluster" >> /etc/rc.d/rc.local??
[root @node1 root]#?echo "NISDOMAIN=cluster" >> vi /etc/sysconfig/network?
?
2. 建立 NIS 查尋的主機(jī)名稱:?
[root @node1 root]#?vi /etc/yp.conf??
domain cluster??
ypserver server.cluster?
?
3. 修改密碼驗(yàn)證方式:?
[root @node1 root]#?vi /etc/passwd?(在這個檔案的最底下新增如下一行)?
+::::::?
[root @node1 root]#?vi /etc/nsswitch.conf??
passwd:???? files nis nisplus??
shadow:???? files nis nisplus??
group:????? files nis nisplus??
hosts:????? files nis dns??
?
4. 啟動 NIS:?
[root @server root]#?/etc/rc.d/init.d/ypbind??? start??
[root @server root]#?chkconfig --level 35 ypbind on?
?
- Master:
- RSH 設(shè)定
?
這個 RSH 已經(jīng)提過了,主要的功能是提供 Master 可以使用 R 指令(如 rsh, rlogin, rcp 等等)來進(jìn)行 slave 端主機(jī)的操控的!所以啦, RSH daemon 主要是在 slave 機(jī)器上面架設(shè)的喔!與 Master 就無關(guān)啦!Master 只要能夠執(zhí)行 R command 即可!雖然是如此,不過,在我的測試當(dāng)中,最好 Master 也啟動 RSH 比較好一些些囉!在底下的設(shè)定當(dāng)中,我們假設(shè) Server 上面的所有使用者都可以使用 R command 呢!設(shè)定的方法很簡單啊!?
- Slave & Master:
底下的設(shè)定在 Master 與 Slave 上面都需要動作喔!設(shè)定一樣即可!
?1. 啟動 RSH 囉!?
[root @node1 root]#?chkconfig --level 35 rsh on?
[root @node1 root]#?/etc/rc.d/init.d/xinetd restart?
?
2. 編輯可使用 R command 的主機(jī)設(shè)定檔:?
[root @node1 root]#?vi /etc/hosts.equiv?
server.cluster +
特別注意,由於 RSH 預(yù)設(shè)就是不支援 root 使用 R command ,所以您必須要到 master 上面去,並以一般身份使用者進(jìn)行 R command 的測試才行喔!不要直接以 root 工作,會無法成功的啦!(顯示 permission deny 的啦!)
- Master:
由於 RSH Server 上面的設(shè)定中,您的 User 家目錄必須要存在一個名為 .rhosts 的檔案,原本我的 Server 上面就有一個名為 test 的使用者,而並且為了讓我未來新建立的使用者都能夠使用 R command ,所以我在 Master 這部機(jī)器上面做了這樣的動作喔:[root @server root]#?vi /home/test/.rhosts?
server.cluster?
[root @server root]#?vi /etc/skel/.rhosts?
server.cluster?
[root @server root]#?chmod 644 /etc/skel/.rhosts
?
- Slave & Master:
- 安裝 Fortran 90 的編譯程式 PGI pgf90 ( PS. server version )
?
我由 PGI 的官方網(wǎng)站下載了最新的 PGI Server 套件,請?zhí)貏e留意的是,由於 PGI 有兩種模式,一種是工作站(Workstation)一種則是伺服器(Server)模式,其中,工作站僅能提供單一主機(jī)來操作,無法進(jìn)行 Cluster 的功能的!因此,請務(wù)必要下載 Server 的版本,並且是支援 Linux 版本的喔!不要搞混了! PGI Fortran Server version 的下載網(wǎng)址在這個地方:http://www.pgroup.com/downloads.htm,請自行下載吧!比較需要留意的是,從上面這個網(wǎng)站下載的版本僅是分享軟體的版本,您安裝之後可以具有 15 天的免費(fèi)使用期限,超過期限之後,又需要重新安裝一次,很是麻煩的啦!如果您的 Cluster 是用來進(jìn)行學(xué)術(shù)研究的,那麼在測試完成之後,可能需要去他的網(wǎng)站註冊,這個註冊的費(fèi)用差異可就很大了~因?yàn)槲磥砦业?Cluster 需要一直不斷的運(yùn)作,因此是需要去註冊的啦!並且,我只會用到 Fortran 這個編譯器,因此,我就直接使用 PGIHPF 這個版本來測試安裝而已,而不是使用全部 ( 含 PGI Fortran 與 C ) 的版本喔!因?yàn)樵]冊的價差差了兩~三萬臺幣啊!安裝 Fortran 真是很簡單的啦!假設(shè)您將 linux86-HPF.tar.gz 放置在 /root/software 底下,則:(註:以下的動作僅只要在 Master 上面進(jìn)行即可喔!)?
?1. 建立 pgi fortran 在 /cluster/server/program/pgi 底下:?
[root @server root]#?cd /usr/local/src?
[root @server src]#?mkdir pgi-fortran; cd pgi-fortran?
[root @server pgi-fortran]#?tar -zxvf /root/software/linux86-HPF.tar.gz?
[root @server pgi-fortran]#?./install?
接下來會有一些問題,請依序回答您的問題喔!?
至於授權(quán)嘛!請建立吧!?
最重要的地方,是在第三個問題,他會問你要安裝的目錄,請選擇?
/cluster/server/program/pgi?
?
2. 修改個人參數(shù):由於 RSH 不以 root 工作,所以我以使用者 test 來測試:?
[root @serer root]#?vi /home/test/.bashrc?
# 加入這幾行關(guān)於 PGI 的咚咚:?
PGI=/cluster/server/program/pgi?
export PGI?
PATH=$PGI/linux86/bin:$PATH?
?
3. 設(shè)定查尋路徑:?
[root @server root]#?vi /etc/man.config?
# 加入這一行:?
MANPATH /cluster/server/program/pgi/man
這樣就好了嗎?!沒錯!確實(shí)是這樣就完成了!很是簡單吧! ^_^要注意的是:?
- 記得 pgf90 必須要讓所有的 node 都能夠讀的到,所以一定要安裝在 Server 的分享出去的目錄當(dāng)中,我這裡的例子就是安裝在 /cluster/server/program/gpi 這個目錄當(dāng)中囉!
- 執(zhí)行檔要能夠執(zhí)行,當(dāng)然是必須要讓目錄在 PATH 這個變數(shù)底下,而我的 pgf90 是在 /cluster/server/program/pgi/linux86/bin 底下,所以,您的 PATH 必須要含有這個目錄才行!
大概就是如此囉!?
?
- 安裝 MPICH
?
前面我們提過了,安裝 MPICH 是平行運(yùn)算裡面最重要的一項(xiàng)工作了!因?yàn)槲覀兙褪强克麃韼臀覀冞_(dá)成運(yùn)作的啊!那麼怎麼來安裝呢?又是簡單得不得了啊!首先,請先下載 mpich 吧!下載的網(wǎng)址在底下,我是以 mpich 1.2.5-1a 來測試的喔!?
- http://www-unix.mcs.anl.gov/mpi/mpich/download.html
假設(shè)您將 mpich 下載在 /root/software 裡面,並且預(yù)計(jì)要安裝到 /cluster/server/program/mpich 當(dāng)中,而且僅安裝 Fortran 而已的話,可以這樣做:?
?1. 建立 mpich 在 /cluster/server/program/mpich 底下:?
[root @server root]#?cd /usr/local/src?
[root @server src]#?tar -zxvf /root/software/mpich.tar.gz?
[root @server src]#?cd mpich-1.2.5?
[root @server mpich-1.2.5]#?./configure --enable-debug \?
>?-fc=pgf77 -f90=pgf90? \?
>?--prefix=/cluster/server/program/mpich?
[root @server mpich-1.2.5]#?make && make install?
?
2. 建立可以利用的主機(jī)狀態(tài):?
[root @server mpich-1.2.5]#?cd /cluster/server/program/mpich/share?
[root @server share]#?vi machines.LINUX?
node1.cluster:2?
node2.cluster:2?
node4.cluster:2?
server.cluster:2?
# 這個檔案當(dāng)中,格式為 <主機(jī)名稱>:<主機(jī)的 CPU 個數(shù)>?
?
3. 建立需要的變數(shù):(又是以 test 為準(zhǔn)喔!)?
[root @server root]#?vi /home/test/.bashrc?
# 加入這一些資料:?
PATH=$PATH:/cluster/server/program/mpich/bin?
export PATH?
MPI_HOME=/cluster/server/program/mpich?
MPI_ARCH=$MPI_HOME/bin/tarch?
export MPI_ARCH MPI_HOME?
[root @server root]#?vi /etc/man.config?
# 加入這一行:?
MANPATH /cluster/server/program/mpich/man
呵呵!這樣就已經(jīng)完成了 MPICH 的安裝與設(shè)定了!就跟你說很簡單吧!但是呢,要測試可就得需要特別留意了,因?yàn)?root 預(yù)設(shè)是不許使用 RSH 的,所以測試一定要使用一般身份的使用者,這裡我以 test 這個人做為測試的使用者喔!所以,請以 test 的身份登入主機(jī),並且,這個 test 必須要在所有的主機(jī)上面都可以被查詢的到才行(請參考 NIS 的設(shè)定喔!)。?
?[test @server test]$?cp -r /cluster/server/program/mpich/examples/ .?
[test @server test]$?cd examples?
[test @server examples]$?make pi3f90?
[test @server examples]$?mpirun -np 8 pi3f90?
# 上面那個 -np 後面接的就是使用 CPU 的個數(shù)啦!因?yàn)槲矣?8 個 node ,?
# 所以當(dāng)然就以最大的 CPU 個數(shù)來測試看看,如果要看到底 CPU 有沒有啟動的話,?
# 可以先登入各個 slave 的主機(jī),然後執(zhí)行『 top -d 1 』來觀察 CPU 的使用率,?
# 再執(zhí)行上面這個程式,就能夠知道 CPU 有沒有運(yùn)作了! ^_^
呵呵!沒想到 PGI 的試用版本就能夠提供多顆 CPU 的 Cluster 運(yùn)作,真是給他很高興!這樣既然可以測試成功了,自然就可以去向 PGI 的官方網(wǎng)站註冊了!註冊費(fèi)用不低,但是挺值得的啊!
其他主機(jī)相關(guān)設(shè)定:
- 除了一些基本的 Cluster 設(shè)定之外,您的主機(jī)其實(shí)可能還需要其他的設(shè)定項(xiàng)目的!最常見的可能就是 X-Window System 的 server/slave 架構(gòu)了!您總不希望老是呆在 cluster 前面吧?!粉吵的呢!這個時候,或許就會希望可以在 Client 端連接上 Server 的 X Server 囉!?
?
- X-Window Server/Slave 架構(gòu)
?
架設(shè)一個很簡單的 X Server 真的是很容易,容易到讓你會很想笑出來~在上面的環(huán)境設(shè)定好了之後,請注意:『您的主機(jī)應(yīng)該是在 run-level 為三的文字模式底下,也就是沒有 X Window 存在』才對!這個時候,要設(shè)定完成 X Server ,僅要修改一個檔案,並且啟動一支程式即可!先說明一下我的環(huán)境:?
?
X Server 主機(jī)的 IP 是 192.168.10.30,作業(yè)系統(tǒng)是 Red Hat 9;?
X Client 的 IP 是 192.168.10.100 ,作業(yè)系統(tǒng)同時是 Linux 與 Windows 2000 。?
- X Server 的設(shè)定:
由於我們需要啟動監(jiān)聽來自 X Client 的要求,這個時候需要重新做一下設(shè)定:1. 先備份原先的設(shè)定檔:?
[root @server root]#?cd /etc/X11/gdm?
[root @server gdm]#?mv gdm.conf gdm.conf.bak?
?
2. 編輯設(shè)定檔,只要底下兩行即可!?
[root @server gdm]#?vi gdm.conf?
[xdmcp]?
Enable=1?
?
3. 啟動 gdm :?
[root @server gdm]#?gdm?
[root @server gdm]#?netstat -uln?
udp??????? 0????? 0 0.0.0.0:177???????????? 0.0.0.0:*?
# 如果有出現(xiàn)上面這行就對了!?
[root @server gdm]#?echo "/usr/bin/gdm" >> /etc/rc.d/rc.local?
# 上面這行在設(shè)定開機(jī)時啟動 gdm 囉! - X Client 的設(shè)定(在 Linux 上面):
如果您的 X Client 同樣是 Linux ,那麼:『在這目前這個 Client 端連接到 X Server 端執(zhí)行 X 視窗』的功能,只要進(jìn)行幾個步驟就可以了!0. 請務(wù)必要在 X Window 當(dāng)中,進(jìn)入 X Window 的方式有:?
[root @client root]#?startx?
或?
[root @client root]#?init 5?
?
1. 在 X Window 的畫面當(dāng)中,啟用一個 shell ,然後輸入:?
[root @client root]#?xhost + 192.168.10.30?
192.168.10.30 being added to access control list?
[root @client root]#?init 3?(離開 X Window)2. 在文字介面下輸入:?
[root @client root]#?X -query 192.168.10.30?
.....(進(jìn)入 X Window 囉!) - X Client 的設(shè)定(在 Windows 上面):
如果您的 X Client 是在 Windows 上面,那麼就必須要額外的來執(zhí)行其他的軟體了!目前您可以選擇購買?Exceed?這個連線軟體,或者是先『試用』?X-Win這個軟體!都是用在 Windows 上面模擬連接到 Linux X Server 用的軟體啦!我這裡是以 X-Win 這套程式做為介紹的,您可以在各大學(xué)的 FTP 網(wǎng)站上面捉到這個軟體,當(dāng)然,也可以在我這裡下載 5.4 版。http://linux.vbird.org/download/#x-win54?
- 在 Windows 上的安裝步驟,就是執(zhí)行他即可啊!然後一直給他下一步就是了!
- 執(zhí)行 X-Win32 這個程式,在出現(xiàn)如下的圖示後,按下 Evaluation 這個試用按鈕;
?
- 按下確認(rèn)按鈕;
?
- 在右下角的小圖示當(dāng)中,例如:?給他按下那個 X 囉,就會出現(xiàn)如下的圖示:
?
- 按下 Add 之後,會出現(xiàn)如下的圖示:
?
- 上面選擇 XDMCP 這個項(xiàng)目,然後選擇 Next 之後,會出現(xiàn):
?
- 重要的地方在於 Query 這個選項(xiàng),以及 192.168.10.30 這個 IP 指向喔!都設(shè)定好之後,給他 Save 一下,會出現(xiàn):
?
- 上面的圖示當(dāng)中,給他按下確定吧!然後呢?在右下角的 X 小圖示中 (??) 按一下 X 之後,就會出現(xiàn)剛剛我們建立的 My Linux X Server 這個選項(xiàng),給他選擇下去的啦,呵呵!就會出現(xiàn)囉:
?
很棒吧!這樣就能在 Windows 上面連線進(jìn)入 Linux 使用他的 X Window 功能囉!
- X Server 的設(shè)定:
後記:雖然架設(shè)一個 X Server/Client 是很簡單的一件事,不過,如果您的機(jī)器並不是在 LAN 裡面的話,而是在 Internet 上面進(jìn)行 Server/Client 的 X 系統(tǒng)架構(gòu)的連結(jié),請?zhí)貏e留意的是,由於 X Window 的圖形介面需要一直傳輸圖形到您的工作機(jī)上面來,如此一來,將會損耗掉大部分的頻寬喔!在我的實(shí)際案例當(dāng)中,發(fā)現(xiàn)到我的 X Server/Client 之間流量傳輸達(dá)到 2000 Kbits/second, 亦即是 250KBytes/second ,還記得流量的算法吧?!如果是 ADSL 撥接架構(gòu)的話,目前已經(jīng)蠻常見 下載/上傳 = 1.5M/386K 的傳輸速度,不過,即使下載達(dá)到 1.5M 了,不過在我的案例中竟然高達(dá)了 2.0M 的傳輸!呵呵!瞭解吧!所以囉,這個 X Window 的 Server/Client 架構(gòu)請務(wù)必在內(nèi)部網(wǎng)路架設(shè)就好,不要想連上 Internet 啊!會等的快睡著.....
重點(diǎn)回顧
- Cluster 可以是平行計(jì)算的一種,主要除了雙 CPU 系統(tǒng)外,也可以用在多主機(jī)架構(gòu)下的一種增快數(shù)值計(jì)算的方式;
- 平行計(jì)算的 Cluster 主要是藉由主從的架構(gòu)去運(yùn)行的,其主要的設(shè)定都在 Master 上面設(shè)定的, Slave 主要是計(jì)算功能而已,
- Cluster 上面相當(dāng)重要的地方在於 NFS 的設(shè)定,因?yàn)?Master/Slaves 都需要讀取同樣的資料,所以 NFS 分享的檔案資料就極其重要了;
- 除了 NFS 之外,還需要 MPI 這個平行計(jì)算的函式庫之安裝,有了 MPI ,Cluster 才能真的運(yùn)作起來;
- 在 Cluster 當(dāng)中,所有的主機(jī)之指令的溝通主要亦經(jīng)過 RSH 的運(yùn)作;
參考資源
- Marty's Linux Cluster 架設(shè)日誌:http://web.csie.chu.edu.tw/~cs87668/cluster.htm
- 張?jiān)w胂壬男∥恼?#xff1a;http://www.se.ntou.edu.tw/~ylchang/MyDocuments/MPICH-ins.txt
- 國家高速電腦中心:http://binfo.ym.edu.tw/edu/seminars/200201.files/frame.htm
- MPICH官方網(wǎng)站:http://www-unix.mcs.anl.gov/mpi/mpich/
總結(jié)
以上是生活随笔為你收集整理的鸟哥的Linux私房菜(服务器)- 簡易 Cluster 架設的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸟哥的Linux私房菜(服务器)- 簡易
- 下一篇: 鸟哥的Linux私房菜(服务器)- 架站