混合雲主控模式叢集的管理節點為雲上新增叢集的管理節點,計算節點由線下已有計算節點和雲上新增計算節點組成。本文以E-HPC雲上叢集將線下已有計算節點納入管理的情境為例,介紹混合雲主控模式叢集(SGE調度器)的部署方案。
本文的部署方案僅支援使用SGE調度器,並且需要提交工單申請開通白名單才能使用。
背景資訊
在HPC生命科學領域,大部分企業均已經部署了線下的IDC資料中心,但可能會存在基礎設施陳舊、算力不足的問題。隨著業務的快速增長,企業希望在雲上搭建新的算力叢集,但同時需要利用上原有IDC內的資源。為滿足上述情境的需求,阿里雲E-HPC提供了混合雲的解決方案,可以統一、高效地管控雲上和線下的計算資源,並支援靈活運用雲上資源的彈性優勢,實現自動調整。
混合雲解決方案分為主控模式和代理模式。
主控模式:管理節點屬於雲上新增叢集。
代理模式:管理節點屬於原先已有叢集。
說明代理模式下,已有叢集可以是線下叢集,也可以是雲上其他地區的叢集。
情境說明
假設已有線下叢集的計算節點的配置為:
作業系統:CentOS 7.6
重要對於線下計算節點,目前暫支援作業系統為CentOS 7系列的節點。
規格:2 vCPU、4 GiB記憶體
操作流程
本實踐包含以下操作:
操作 | 操作內容 |
準備雲上的E-HPC叢集,並配置網路。 | |
擷取雲上叢集配置資訊,用於線下計算節點配置使用。 | |
線上下計算節點部署調度器用戶端、使用者管理用戶端,並掛載雲上儲存。 | |
在雲上叢集中建立用於管理線下計算節點的隊列,並將線下計算節點加入到雲上叢集的隊列中。 | |
配置叢集進行自動調整,自動增加或減少雲上計算節點。 | |
在雲上叢集中提交作業至隊列,測試節點能否正常工作。 | |
對於不再需要使用的線下計算節點,可以從雲上叢集中移除,同時需要在節點中停止相關服務。 |
步驟一:建立雲上E-HPC叢集
建立一個E-HPC叢集。
具體操作,請參見使用嚮導建立叢集。配置時,需要注意的參數如下:
部署方式選擇精簡,預設包括1個管控節點和1個計算節點(可不選),其中管控節點的規格建議選擇4 vCPU,8 GiB及以上。
調度器使用SGE,即選擇opengridscheduler。
域帳號服務選擇nis。
打通雲上叢集和線下IDC的網路。
支援通過VPN網關或者物理專線打通雲上和線下網路。
VPN網關的相關配置請參見入門概述或SSL-VPN入門概述。
物理專線的相關配置請參見專線串連介紹。
配置安全性群組。
由於線下計算節點需要加入到雲上叢集進行統一管理,因此需要為叢集所屬的安全性群組配置入方向規則,允許線下計算節點訪問雲上叢集。
您可以在E-HPC叢集詳情頁單擊安全性群組ID,快速跳轉到叢集所屬的安全性群組頁面,添加入方向訪問規則,其中源IP為線下計算節點的IP地址網段。樣本如下:

本文採用的環境樣本如下:
類型 | 說明 |
管控節點 | 1台ECS,規格為ecs.c7a.xlarge。 |
計算節點 | 1台ECS,規格為ecs.c7a.xlarge;2台本機伺服器。作業系統為CentOS 7.6。 |
網路 | 使用SSL-VPN打通雲上叢集和線下IDC的網路。 |
步驟二:擷取雲上叢集配置資訊
建立E-HPC叢集後,需擷取叢集管控資訊,提供給線下計算節點配置使用。
登入E-HPC叢集。具體操作,請參見登入叢集。
下載用於擷取叢集配置資訊的指令碼。
wget https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/scheduler/offpremise_config_fetch.sh執行指令碼擷取配置資訊。
source offpremise_config_fetch.sh指令碼輸出的OFFPREMISE_PARAMS檔案即為配置資訊。執行
cat命令擷取配置資訊。
步驟三:部署線下計算節點
您需要線上下計算節點上部署調度器用戶端、使用者管理用戶端,並掛載雲上儲存。
操作前,請確保節點所在網路與雲上叢集網路互連。例如如果採用SSL-VPN,線下計算節點需要安裝SSL用戶端。
單節點操作
登入某一計算節點執行以下操作:
下載部署服務指令碼。
wget https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/scheduler/deploy_nis_sge_client.sh執行指令碼部署服務。
sh deploy_nis_sge_client.sh <叢集配置資訊>請根據實際擷取的叢集配置資訊替換
<叢集配置資訊>,樣本如下:sh deploy_nis_sge_client.sh ehpc-hz-e5WF****** manager 10.18.XX.XX 000a******-vm***.cn-hangzhou.nas.aliyuncs.com:/ehpc-hz-e5WF****** manager 10.18.XX.XX
多節點操作
登入本地的配置節點或者某一計算節點執行以下操作,需確保該節點與其他線下計算節點的網路連通。
下載部署服務指令碼。
wget https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/scheduler/batch_install_clients.sh建立hosts檔案。
hosts檔案中每一行對應一台計算節點,格式為
[host_name] [host_ip],樣本如下:
執行指令碼部署服務。
sh batch_install_clients.sh <叢集配置資訊> ./hosts請根據實際擷取的叢集配置資訊替換
<叢集配置資訊>,樣本如下:sh batch_install_clients.sh ehpc-hz-e5WF****** manager 10.18.XX.XX 000a******-vm***.cn-hangzhou.nas.aliyuncs.com:/ehpc-hz-e5WF****** manager 10.18.XX.XX ./hosts
步驟四:將線下計算節點加入到雲上叢集
線下計算節點暫不支援移動隊列,您需要先建立用於管理線下計算節點的隊列,然後再擴容叢集,將線下計算節點加入到叢集的指定隊列。
建立隊列。具體操作,請參見管理隊列。
將線下計算節點加入到叢集中。
在彈性高效能運算控制台的叢集頁面,找到目的地組群,單擊右上方的擴容。
在彈出面板選擇線下節點頁簽。
選擇新建立的隊列,根據需要逐個錄入或者大量匯入線下計算節點資訊,單擊確定。

要錄入的節點資訊如下:
主機名稱:與實際節點主機名稱保持一致。
節點IP:與實際節點IP保持一致。
CPU:通過
lscpu命令查看的節點CPU數。記憶體:節點總記憶體大小。
重要請確保填寫的主機名稱和節點IP與實際節點一致,否則無法加入叢集。
對於基於SSL-VPN串連的節點,節點IP地址需使用VPN虛擬網卡tun0的IP地址,您可以通過
ifconfig命令查看。
在節點與隊列頁面,找到目的地組群,篩選節點類型和隊列,查看線下計算節點。
重新整理頁面更新節點狀態,等待1~2分鐘,當線下計算節點的狀態為運行中時,表示添加成功。
步驟五:配置自動調整
E-HPC叢集支援配置自動調整策略,實現根據即時負載自動增加或減少雲上的計算節點。具體操作,請參見配置自動調整。

線下計算節點及所屬隊列不支援自動調整。
步驟六:提交作業進行測試
提交作業至雲上計算節點所在隊列進行測試。
qsub sample1.sh測試指令碼sample1.sh的內容樣本如下,請根據實際替換隊列(
-q)和路徑(-o、-e)。#!/bin/bash #$ -cwd #$ -l vf=1G #$ -q workq #$ -N sge-demo1 #$ -o /home/test/ #$ -e /home/test/ echo "demo start, sleep 10s and ping localhost" sleep 10 ping -c 10 localhost echo "demo complete"提交作業至線下計算節點所在隊列進行測試。
qsub sample2.sh測試指令碼sample2.sh的內容樣本如下,請根據實際替換隊列(
-q)和路徑(-o、-e)。#!/bin/bash #$ -cwd #$ -l vf=1G #$ -q local #$ -N sge-demo2 #$ -o /home/test/ #$ -e /home/test/ echo "demo start, sleep 10s and ping localhost" sleep 10 ping -c 10 localhost echo "demo complete"
(可選)從雲上叢集中移除線下計算節點
從叢集中移除線下計算節點。
具體操作,請參見刪除節點。
線上下計算節點中停止相關服務。
單節點操作
登入某一計算節點執行以下操作:
下載停止服務指令碼。
wget https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/scheduler/nis_sge_client_stop.sh執行指令碼停止服務。
sh nis_sge_client_stop.sh <叢集配置資訊>請根據實際擷取的叢集配置資訊替換
<叢集配置資訊>,樣本如下:sh nis_sge_client_stop.sh ehpc-hz-e5WF****** manager 10.18.XX.XX 000a******-vm***.cn-hangzhou.nas.aliyuncs.com:/ehpc-hz-e5WF****** manager 10.18.XX.XX
多節點操作
登入本地的配置節點或者某一計算節點執行以下操作,需確保該節點與其他線下計算節點的網路連通。
下載停止服務指令碼。
wget https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/scheduler/batch_stop_clients.sh建立host檔案。
hosts檔案中每一行對應一台計算節點,格式為
[host_name] [host_ip],樣本如下:
執行指令碼停止服務。
sh batch_stop_clients.sh <叢集配置資訊> ./hosts請根據實際擷取的叢集配置資訊替換
<叢集配置資訊>,樣本如下:sh batch_stop_clients.sh ehpc-hz-e5WF****** manager 10.18.XXX.XX 000a******-vm***.cn-hangzhou.nas.aliyuncs.com:/ehpc-hz-e5WF****** manager 10.18.XX.XX ./hosts