叢集手冊/網路
叢集中的節點需要連線起來以共享資訊。為此,每個節點都成為一個主節點(頭節點)或伺服器節點。一旦配置確定,就必須設定 DHCP 和 DNS 的網路配置。
DHCP - 動態主機配置協議 - 允許伺服器為客戶端分配網路配置。它的優點是,客戶端不需要進行任何手動配置。在構建具有數百個客戶端的龐大互連繫統時,任何手動配置都會很快變得很麻煩。但是,伺服器必須在每個客戶端上設定,並且重要的是,此分配是唯一的。DNS - 域名系統 - 將主機名或域名解析為 IP 地址。這使得連線更容易閱讀和理解,因為它將各種資訊與域名相關聯。所有這些都需要共享的物理網路。
主節點/伺服器
對於主節點,必須配置兩個檔案。一個位於 /etc/network/interfaces
- 清單 6.1 主節點配置
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp #Externe Addresse fuer Master
auto eth1
iface eth1 inet static #IP-Addresse fuer das interne Netz
address 10.0.x.250
netmask 255.255.255.0
address 顯示本地網路。用點分隔的前三個數字是網路字首。網路掩碼定義了網路字首的大小,如下一行所示。這兩個規範最終定義了本地網路上的哪些 IP 地址以及哪些被其他網路上的路由器識別。所有 255 掩碼部分的 IP 地址構成網路字首。所有想要包含在本地網路中的裝置必須具有相同的網路字首。在我們的示例中,它以 10.0. 開頭。隨後的 x 代表本地網路的編號,如果存在多個本地網路的話。所有可以歸類到本地網路 1 的單元必須具有網路字首 10.0.1。第四個條目用 0 掩碼,描述了本地網路上裝置的編號,介於 0 到 255 之間。伺服器的方便編號是 250,因為它比較大,因此很容易與客戶端區分開來(除非有超過 250 個客戶端要註冊)。當然,它可以是任何其他允許的數字。
必須為伺服器配置的第二個檔案位於 /etc/hosts
- 清單 6.2 主節點主機配置
127.0.0.1 localhost
#Mapping IP addresses to host names. Worker and Master / Clients and Server
10.0.1.1 worker1
10.0.1.2 worker2
10.0.1.3 worker3
10.0.1.4 worker4
10.0.1.250 master
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
此時將輸入名稱解析。與上面的示例不同,對於 x,選擇了 1。重要的是不要忘記輸入主節點。
必須刪除現有的行 127.0.1.1 ... - 對於主節點和工作節點。
工作節點/客戶端
必須為工作節點和客戶端修改受影響的檔案。通常,DHCP 伺服器會處理這些問題。但是,如果無法訪問外部網路或缺少許可權,則可能會導致重大問題。在最壞的情況下,您必須手動輸入靜態 IP 條目。
/etc/network/interfaces
- 清單 6.3 工作節點配置
auto lo
iface lo inet loopback
#IP Addresse worker. Nameserver IP Addresse -> Master
auto eth0
iface eth0 inet static
address 10.0.1.1
netmask 255.255.255.0
dns-nameservers 10.0.1.250 #[,10.0.x.weitere_server ]
名稱和 IP 地址必須與主節點的記錄相匹配。
/etc/hosts
- 清單 6.4 工作節點主機配置
127.0.0.1 localhost
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
要檢查一切是否正常,您可以檢查機器是否可以互相 ping 通
$ ping master
不僅需要促進客戶端和伺服器之間的通訊,還需要提供對共享資料的訪問。這可以透過 NFS - 網路檔案系統 來配置。如果需要,資料不會被傳輸。讀操作就像資料在自己的記憶體中一樣(當然,具有不同的訪問時間)。
主節點/伺服器
首先必須安裝 NFS 核心伺服器包
$ sudo apt-get install nfs-kernel-server 在 /etc/ 中,必須配置以下檔案 exports
/home 10.0.1.0/24(rw,no_subtree_check,no_root_squash) 在此示例中,設定了三個選項
rw為網路提供讀寫許可權no_subtree_check確保釋放屬於root的檔案;提高傳輸速度,因為當用戶請求檔案時,不會檢查每個子目錄(如果整個檔案系統已解鎖,則很有用)no_root_squash為root使用者提供寫許可權(否則root將被對映到nobody使用者以確保安全)
前面和括號內不能有空格。
工作節點/客戶端
首先必須安裝 NFS 通用包
$ sudo apt-get install nfs-common 在 /etc/ 中,必須按如下所示配置以下檔案 fstab
master:/home /home nfs rw,auto,proto=tcp,intr,nfsvers=3 0 0 有關各個選項的含義,請參考 man fstab。
如果客戶端沒有網際網路訪問許可權,因為內部網路不提供它,您必須在主節點/伺服器上啟用路由,因為它只有與外部網路的連線。參見第 6.3 節
安裝後,需要更新狀態
$ sudo exportfs -ra,其中
-r: 匯出所有目錄。此選項將/var/lib/nfs/xtab與/etc/exports同步。從/etc/exports中刪除的/var/lib/nfs/xtab中的條目。此外,還會刪除核心表中所有不再有效的條目。-a: (取消)匯出所有目錄(在exports中列出的)。
應該重啟 NFS 伺服器
$ sudo /etc/init.d/nfs-kernel-server restart
主節點
路由 確定訊息流在網路中的整個路徑。轉發 描述單個網路節點的決策過程,它透過該節點將訊息轉發給其鄰居 </ref> 我們的目標是透過伺服器節點為節點提供對網際網路的訪問,這些節點只能在本地網路上訪問(因此可以在客戶端上下載軟體包)。
以下行需要插入到 /etc/sysctl.conf 中以啟用 IP 轉發
net.ipv4.ip_forward=1 此外,必須在外部介面 eth0 上啟用 NAT。因此,將以下行新增到 /etc/rc.local(透過退出 0)。
工作節點/客戶端
這裡,必須將主節點設定為閘道器
gateway 10.0.x.250 應該重啟硬體。在預設設定下,將掛載 /home 目錄,否則您可以手動進行
$ sudo mount /home 請注意,在配置階段,節點應該只有對網際網路的訪問許可權。在正常執行中,這將是一個安全風險。