1. 程式人生 > 實用技巧 >簡單構建私有云平臺

簡單構建私有云平臺

使用Nano - 超輕量級開源雲平臺搭建雲平臺

一、Nano簡介

官網:https://nanos.cloud/

手冊地址:https://nanocloud.readthedocs.io/projects/guide/zh_CN/latest/

Nano是基於KVM技術,使用go語言開發,簡單易學的虛擬機器管理軟體。從web管理門戶、主機監控、映象克隆到故障切換,功能完備,開箱即用,數分鐘之內即可將伺服器叢集升級為雲主機平臺。

四大技術特性:1)緊湊—純go開發。平臺部署僅需要三個二進位制之心檔案即可,最大模組僅9MB,無需第三方軟體或者依賴庫,模組升級時直接替換。

2)開箱即用:從web管理門戶、主機監控、映象克隆島故障切換、自帶功能完備,無需安裝額外元件。從網路發現、組網到裝置選擇,全流程自動配置,幾乎不需要人工干預

3)可靠:ALL or Nothing的事務模式處理任務,失敗時自動回撤,釋放所有資源並且還原狀態。叢集實時檢測所有節點狀態,在記憶體中自動同步例項資料,確保所有狀態和操作即使且有效。

4)易擴充套件:所有功能均提供REST API介面,應用與資源服務的分離,可以便捷的整合開發。基於goroutine的業務邏輯抽象,能夠快速擴充套件業務功能,而無需瞭解複雜的後臺訊息驅動機制。

對於支援Intel VT-d或者AMD-v的普通x86伺服器,管理員只需要下載並安裝Nano部署包,即可在幾分鐘內將其轉換成雲管理平臺,並且開始建立雲主機例項。

二、基本工作原理

Nano將一臺或者多臺x86伺服器構建成虛擬資源池,當用戶通過web門戶或者REST介面發出建立雲主機請求時,Core模組根據資源池內各節點的負載情況,選擇合適的承載節點,通過訊息控制該承載節點所安裝的Cell模組進行例項建立,並負責後續的管理排程以及資源回收等工作。

Nano平臺目前包含三個模組:Core/Cell/FrontEnd

Cell負責雲主機的建立與管理;Core將多個Cell組成資源池,根據要求在池內排程和分配雲主機;FrontEnd呼叫Core的API介面為使用者提供HTML5的管理門戶。

所有的模組可以安裝在一個伺服器上,作為All In One平臺進行體驗和測試,但是對生產環境部署時,為了保障平臺的可用性,建議每個模組都部署在獨立的伺服器上。

系統中Core是最核心的主控模組,它負責叢集的建立與管理、資源池狀態的監控、雲主機與映象資源的分配排程、REST介面服務以及任務請求的處理與分發。啟動叢集時,Core模組需要最先啟動,其他模組才能正常進入服務狀態。

Cell模組執行在每個可以部署雲主機例項的伺服器節點上,Cell模組基於kvm與libvirt工作,啟動後持續採集節點資源狀況,並實時同步到Core模組,另一方面,收到Core發來的例項建立指令時,分配響應的網路、儲存和計算資源,並組裝成雲主機例項供使用者使用。

三、Nano安裝

1. 伺服器要求

1)支援虛擬化的X86伺服器或者開啟巢狀虛擬化(Intel VT-x/AMD-v)的虛擬機器

2)2核4G記憶體50GB磁碟和一個網路裝置

2. 系統部署

安裝Nano平臺,只需要解壓並執行Installer即可。只需要選擇需要在當前伺服器部署的模組,Installer會自動完成引數配置、依賴安裝和模組部署

[root@nano tmp]# wget https://nanos.cloud/files/nano_installer_1.3.0.tar.gz
--2020-12-16 22:28:09--  https://nanos.cloud/files/nano_installer_1.3.0.tar.gz
Resolving nanos.cloud (nanos.cloud)... 185.245.3.199
Connecting to nanos.cloud (nanos.cloud)|185.245.3.199|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 91443670 (87M) [application/x-gzip]
Saving to: ‘nano_installer_1.3.0.tar.gz’

100%[==============================================================================================>] 91,443,670  1.69MB/s   in 53s    

2020-12-16 22:29:09 (1.63 MB/s) - ‘nano_installer_1.3.0.tar.gz’ saved [91443670/91443670]

[root@web01 tmp]# tar -zxvf nano_installer_1.3.0.tar.gz 
[root@nano tmp]# cd nano_installer
[root@nano nano_installer]# ll
total 3480
drwxrwxr-x 3 1001 1001    4096 Apr 29  2020 bin
drwxrwxr-x 2 1001 1001    4096 Jun 26  2018 cert
-rwxrwxr-x 1 1001 1001 3551232 Nov 22 17:18 installer
drwxrwxr-x 3 1001 1001    4096 Jun 26  2018 rpms
[root@nano nano_installer]# ./installer 
Welcome to nano installer v1.2.0
0 : Core
1 : FrontEnd
2 : Cell
3 : All
4 : Update
5 : Forcibly Update
6 : Exit
Input index to select module to install, multi-modules split by ',' (like 2,3):
3
default route ready
firewalld service ready
Service Owner Name = 'root' (press enter to accept or input new value): 
set user root (uid: 0), group root (gid: 0)
Group Domain Name = 'nano' (press enter to accept or input new value): 
Group MultiCast Address = '224.0.0.226' (press enter to accept or input new value): 
Group MultiCast Port = 5599 (press enter to accept or input new value): 
cert 'cert/nano_ca.crt.pem', key 'cert/nano_ca.key.pem' already generated
cert file '/opt/nano/cert/nano_ca.crt.pem' already installed
key file '/opt/nano/cert/nano_ca.key.pem' already installed
'/etc/pki/ca-trust/source/anchors/nano_ca.crt.pem' already installed
all access modified
3 modules will install...
installing cell dependency packages...
try installing from online reciprocity...
dependency packages installed
0> eth0
1> eth1
enter index to select interface as interface to bridge: 0
try link interface 'eth0' to bridge 'br0', input 'yes' to confirm:yes
network manager stopped
network manager disabled
19 params loaded from '/etc/sysconfig/network-scripts/ifcfg-eth0'
interface script /etc/sysconfig/network-scripts/ifcfg-eth0 updated
bridge script /etc/sysconfig/network-scripts/ifcfg-br0 generated
new bridge br0 created
link eth0 added to bridge br0
bridge br0 up
link eth0 up
network service stopped
network service restarted
installing core module...
module path '/opt/nano/core' created
binary '/opt/nano/core/core' copied
config path '/opt/nano/core/config' created
0> 172.16.1.8
1> 10.0.0.8
enter index to select address as Listen Address, or input a new address: 1
domain configure '/opt/nano/core/config/domain.cfg' generated
API Serve Port (5850 ~ 5869) = 5850 (press enter to accept or input new value): 
api configure '/opt/nano/core/config/api.cfg' generated
image server cert path '/opt/nano/core/cert' created
private key with 2048 bits generated
cert file '/opt/nano/core/cert/nano_image.crt.pem' generated
key file '/opt/nano/core/cert/nano_image.key.pem' generated
image server configure '/opt/nano/core/config/image.cfg' generated
core module installed
installing frontend module...
module path '/opt/nano/frontend' created
binary '/opt/nano/frontend/frontend' copied
config path '/opt/nano/frontend/config' created
No configures available, following instructions to generate a new one.
using 10.0.0.8 as portal listen address
Portal listen port (5870 ~ 5899) = 5870 (press enter to accept or input new value): 
using 10.0.0.8 as api address
using 5850 as backend api port
default configure '/opt/nano/frontend/config/frontend.cfg' generated
frontend module installed
installing cell module...
module path '/opt/nano/cell' created
binary '/opt/nano/cell/cell' copied
config path '/opt/nano/cell/config' created
user root / group root updated in /etc/libvirt/qemu.conf
/dev/kvm owner changed
group libvirt already exists
user root added to group libvirt
libvirt enabled
libvirt started
domain configure '/opt/nano/cell/config/domain.cfg' generated
polkit access installed
cell module installed
all access modified
ip_forward already enabled
all modules installed

Installer啟動後首先要求輸入要安裝的模組,比如輸入”2”+回車只安裝Cell,或者可以輸入”3”+回車,在一個伺服器安裝所有模組

Installer預設把模組安裝在/opt/nano目錄下,預設的通訊域標識為<”nano”:224.0.0.226:5599>,對於初次安裝或者網路內僅有一套Nano平臺的使用者,不建議調整引數,以免錯誤引數影響平臺工作

如果選擇安裝Cell模組,Installer會要求使用者輸入”yes”確認構建預設的橋接網路br0

Installer在安裝過程中,會選擇模組啟動監聽服務的網絡卡和地址,如果僅有一張網絡卡,Installer會自動選擇並進行配置;如果存在多個網絡卡,Installer會列出裝置清單要求使用者選擇Nano叢集需要工作的網段

3. 啟動服務

所有Nano平臺模組都使用命令列控制,呼叫方式:“<模組名稱> [start|stop|status|halt]"

模組安裝完成後,需要啟動模組以提供服務,模組預設安裝在/opt/nano目錄下。使用命令手動啟動所有模組(假設所有模組安裝在同一臺伺服器上)。必須先啟動Core模組。

[root@nano nano_installer]# cd /opt/nano/
[root@nano nano]# ll
total 16
drwxr-----. 3 root root 4096 Dec 20 10:04 cell
drwxr-----. 2 root root 4096 Dec 20 09:50 cert
drwxr-----. 4 root root 4096 Dec 20 10:04 core
drwxr-----. 4 root root 4096 Dec 20 10:04 frontend
[root@nano nano]# cd core/
[root@nano core]# ll
total 8772
drwxr-----. 2 root root    4096 Dec 20 10:04 cert
drwxr-----. 2 root root    4096 Dec 20 10:04 config
-rwxr-----. 1 root root 8974336 Dec 20 10:04 core
[root@nano core]# ./core start

Core Module 1.3.0
service Core_000c29e16c2d listen at '10.0.0.8:5600'
group '224.0.0.226:5599', domain 'nano'
API address ':5850', image service '10.0.0.8:5801'
Image TLS Cert '/opt/nano/core/cert/nano_image.crt.pem', Key '/opt/nano/core/cert/nano_image.key.pem'
core started
[root@nano core]# cd ..
[root@nano nano]# cd cell/
[root@nano cell]# ll
total 8020
-rwxr-----. 1 root root 8205968 Dec 20 10:04 cell
drwxr-----. 2 root root    4096 Dec 20 10:04 config
[root@nano cell]# ./cell start
bridge br0 is ready
default route ready

Cell Modeul 1.3.0
service Cell_000c29e16c2d listen at '10.0.0.8:5602'
group '224.0.0.226:5599', domain 'nano'
cell started
[root@nano cell]# cd ..
[root@nano nano]# ll
total 16
drwxr-----. 5 root root 4096 Dec 20 10:20 cell
drwxr-----. 2 root root 4096 Dec 20 09:50 cert
drwxr-----. 6 root root 4096 Dec 20 10:20 core
drwxr-----. 4 root root 4096 Dec 20 10:04 frontend
[root@nano nano]# cd frontend/
[root@nano frontend]# ll
total 6272
drwxr-----. 2 root root    4096 Dec 20 10:04 config
-rwxr-----. 1 root root 6414336 Dec 20 10:04 frontend
drwxr-xr-x. 3 root root    4096 Dec 20 10:04 web_root
[root@nano frontend]# ./frontend start
data path /opt/nano/frontend/data created
Front-End Module 1.3.0
Core API: http://10.0.0.8:5850/api/v1
Nano Web Portal: http://10.0.0.8:5870

frontend started

FrontEnd模組成功啟動後,Console會輸出一個監聽地址,使用瀏覽器訪問這個地址就可以開始通過web門戶管理Nano平臺了。

四、Nano配置服務

1. 初始化系統

初次開啟Nano管理頁面,會提示輸入賬號和密碼,建立初始管理員,密碼要求長度不小於8位,必須包含數字、小寫字母和大寫字母各一個。

建立成功後進入登入介面,登入成功後就可以開始管理Nano平臺。

2. 設定共享儲存(可選)

預設情況下,Nano中雲主機例項的磁碟資料儲存在承載Cell節點的本次儲存系統中,無需額外配置,價效比也很高。不過管理員也可以指定將資料存在在獨立的NFS檔案伺服器上,防止Cell節點故障影響雲主機服務,也可以方便的在節點之間遷移例項,重新均衡負載,以提升叢集群體效能和使用壽命。

使用共享儲存,只需要建立一個儲存資源池,然後與計算資源池關聯。關聯之後,所有新增到該資源池的資源節點,都會由Nano自動配置為使用共享儲存,無需使用者干預和設定。

一個儲存池對應一個共享儲存路徑,一個儲存池可以同時為多個極端池提供後端儲存,但是每個計算資源池只能繫結一個儲存池。

配置NFS伺服器

要讓Nano正常使用NFS儲存後端,首先需要正確配置好NFS伺服器。假定NFS server地址為10.0.0.7,共享路徑為/var/nfs/nano,Nano叢集網段為10.0.0.0/24.

安裝NFS服務並設定為開機自啟

[root@web01 ~]# yum install nfs-utils
[root@web01 ~]# systemctl start nfs
[root@web01 ~]# systemctl status nfs
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: active (exited) since Sun 2020-12-20 11:06:24 CST; 5s ago
  Process: 1436 ExecStartPost=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
  Process: 1419 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
  Process: 1417 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 1419 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nfs-server.service

Dec 20 11:06:24 web01 systemd[1]: Starting NFS server and services...
Dec 20 11:06:24 web01 systemd[1]: Started NFS server and services.
[root@web01 ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

建立共享路徑

[root@web01 ~]# mkdir -p /var/nfs/nano
[root@web01 ~]# ll -d /var/nfs/nano/
drwxr-xr-x 2 root root 4096 Dec 20 11:07 /var/nfs/nano/

由於NFS是將客戶端使用者直接對映到服務端使用者進行許可權判斷,當管理員使用不同的使用者執行nano模組和kvm服務時,需要設定不同的訪問規則

使用root使用者執行nano和kvm/qemu服務

NFS預設禁止將客戶端root對映為服務端root使用者,所以設定路徑時需要使用no_root_squash選項

[root@web01 ~]# vi /etc/exports
[root@web01 ~]# cat /etc/exports
/var/nfs/nano 10.0.0.0/24(rw,sync,no_subtree_check,no_root_squash)
[root@web01 ~]# exportfs -a
[root@web01 ~]# showmount -e 
Export list for web01:
/var/nfs/nano 10.0.0.0/24
[root@web01 ~]# mount -t nfs 10.0.0.7:/var/nfs/nano /mnt
[root@web01 ~]# df -h
Filesystem              Size  Used Avail Use% Mounted on
/dev/sda2                39G  3.2G   34G   9% /
devtmpfs                983M     0  983M   0% /dev
tmpfs                   993M     0  993M   0% /dev/shm
tmpfs                   993M  8.7M  984M   1% /run
tmpfs                   993M     0  993M   0% /sys/fs/cgroup
/dev/sda1               197M   95M  103M  48% /boot
tmpfs                   199M     0  199M   0% /run/user/0
10.0.0.7:/var/nfs/nano   39G  3.2G   34G   9% /mnt

使用普通使用者執行Nano和kvm/qemu服務(忽略)

對於普通使用者,NFS是根據客戶端使用者的uid/gid對映到本地相同id使用者和組進行許可權校驗

假定Cell節點執行Nano和kvm/qemu是使用者及使用者組nano/nano,對應的uid/gid為108,則需要在NFS Server建立相同ID的使用者,並且將其設定為共享路徑的owner

建立儲存池

NFS Server配置完成後,在web門戶上選擇“儲存池”—>建立,建立新的共享儲存池

為儲存池設定名稱nfs-pool1,輸入NFS Server地址:10.0.0.7和共享路徑:/var/nfs/nano,點選建立

建立成功後返回儲存清單,能夠看到新建的儲存池

修改儲存設定

共享儲存建立完成後,可以修改已有計算池的關聯儲存或者新建一個新的計算池,當新的Cell節點加入資源池後,Nano會自動同步並設定儲存配置,無需客戶干預

以修改預設的計算池default為例,在資源池選單的資源池清單中,點選default資源池的修改圖示,在編輯介面下拉選單中選擇新建的“nfs-pool1”

建議需要保證雲主機例項高可用的使用者開啟“Failover/故障遷移”開關,當故障遷移生效時,如果Nano檢測到某一個Cell節點失聯,會將該節點承載的雲主機例項自動遷移到叢集內其他節點恢復服務。

修改後檢查清單中相應屬性圖示是否生效

設定完成後,就可以向資源池中新增資源節點了,使用了共享儲存的Cell節點建立例項、快照時,會自動儲存在NFS Server的共享路徑上。

3. 新增資源

1)新增資源節點

Nano平臺初次啟動時,會預設建立一個名為default的計算資源池,但是該資源池沒有可用的資源。因此首先將一個Cell節點新增到該資源池,以便有足夠的資源分配雲主機。

在web門戶上,選擇“資源池”選單,點選default資源池的Cell節點按鈕,進入資源節點清單:

當前沒有任何資源節點,點選“新增”按鈕,進入新增頁面

在下拉選單中,選擇目前平臺中已經發現並且尚未加入資源池Cell節點,完成新增

新增完成回到資源節點清單,可以看到新Cell已經加入資源池,並且處於可用狀態

對於使用共享儲存的Cell節點,新增後請在節點清單中點選Detail圖示,檢視儲存載入狀態,確保後端儲存已經成功掛載。

資源節點狀態可用後,就可以在“資源池”或者“雲主機”選單建立新主機例項了。

2)上傳映象

空白雲主機並不能滿足日常使用要求,需要安裝作業系統和應用軟體,Nano提供了多種手段能夠快速部署可用雲主機

磁碟映象

磁碟映象儲存了模板主機系統磁碟的資料,使用者可以選擇從預置的磁碟映象克隆,新建雲主機能夠獲得與模板雲主機完全一致的系統和預裝軟體,有效減少了系統重複安裝部署的時間。

磁碟映象彙總還可以通過預裝Cloud-init模組,配合Nano的CI服務,自動完成管理員密碼初始化、系統磁碟擴容和自動資料盤格式化及掛載等配置任務。

光碟映象

光碟映象儲存了ISO格式的光碟資料,可以載入雲主機中安裝作業系統或者其他軟體,通常用於定製模板雲主機。

預設的資源節點為/var/lib/libvirt/images

儲存系統映象檔案:/opt/nano/core/data

五、雲主機管理

注:目前推薦對於雲主機使用直連模式的網路連線,即雲主機通過物理伺服器的橋接網路直接連入物理網路,預設使用DHCP從物理網路獲取IP地址,與傳統物理伺服器的網路管理方式一致,儘量減少管理員維護網路的難度和工作量。

建立雲主機

Nano中雲主機是基於資源池建立的,Core收到建立雲主機請求時,首先檢測池內是否有可用的Cell,然後評估各Cell可用資源和實時負載,選擇加權負載最低的Cell建立例項。

在Nano中建立雲主機時,有以下引數需要設定

主機名:用於標識雲主機,僅允許數字字母和“-”

資源池:承載該例項的資源池名稱,Nano會在指定資源池中選擇合適的Cell節點進行建立

核心數:為雲主機分配的核心數量,不建議超過設定超過Cell的最大物理執行緒數

記憶體:為雲主機分配記憶體大小,不能超過Cell的最大實體記憶體

系統版本:Nano會根據選擇的版本對雲主機硬體設定進行優化,在保證相容性的情況下提供更好的效能。

系統磁碟:選擇雲主機系統磁碟的資料來源

資料磁碟:選擇是否為雲主機掛載額外的資料盤

開機啟動:啟用後,當Cell伺服器開機時,會自動啟動雲主機例項

系統盤映象:是否從預製映象生成雲主機系統盤的資料

CPU優先順序:高優先順序例項在繁忙時,會獲得更多系統資源

IOPS:設定磁碟IO讀寫上限,預設為無限制

上下行頻寬:設定網路頻寬限制,預設無限制

系統映象來源有兩種:空白系統和預製映象

空白系統:空白系統是預設選項。空白系統意味著創建出來的雲主機沒有安裝任何作業系統和軟體,需要通過載入光碟映象安裝作業系統。空白系統通常用於構建模板雲主機。

預製映象:預製映象的系統磁碟已經預裝了作業系統和系統軟體,並可能進行了一些配置優化和調整,預製映象可以通過模板主機構建,也可以從其他平臺下載後直接上傳系統。建立雲主機時,在系統映象選單中選擇想要的預製映象,克隆完成後的新主機擁有跟源映象相同的系統和軟體,能夠開機直接使用。

帶Cloud-init元件的預製映象:帶Cloud-init元件的預製映象系統中,在普通預製映象的基礎上,額外安裝了Cloud-init和cloud-utils元件,配合Nano提供cloud-init服務,可以實現初始化管理員賬號、自動格式化並掛載資料盤和擴充套件系統盤容量等多種便利的管理功能,極大方便了管理員快速部署雲主機例項。

帶Cloud-init元件的預製映象同樣可以通過模板雲主機構建或者直接上傳。使用時,處理選擇源映象,還需要勾選Cloud-init模組並設定好初始化引數,以便Nano提供相應的服務。

1 以預製映象建立雲主機

確定後,點選啟動雲主機

開啟之後,在監控平臺檢視,可以正常登陸

2. 以空白系統建立雲主機

選擇載入so光碟映象

遠端監控可以看到正在安裝系統

六、平臺管理

Nano提供了一系列便捷的管理功能,用於簡化管理員的日常運維工作

1. 儀表盤

Nano門戶首頁提供了整個平臺級別的資源用量儀表盤,包含虛擬資源和物理資源的用量,便於隨時瞭解系統負載情況,及時對資源進行擴容或者調整。

2. 增加資源節點

當系統負載較大時,可以通過新增新的資源節點,來擴充池內的可用資源

首先,需要在新的伺服器上部署並啟動Cell模組,然後在資源池的節點清單中,選擇新增

在主機10.0.0.7上安裝cell模組

[root@web01 nano_installer]# ./installer 
Welcome to nano installer v1.2.0
0 : Core
1 : FrontEnd
2 : Cell
3 : All
4 : Update
5 : Forcibly Update
6 : Exit
Input index to select module to install, multi-modules split by ',' (like 2,3):
2
default route ready
warning: firewalld service maybe stopped
Nano requires a running firewalld service to work properly.
enter to exit installation, or input 'yes' to continue
yes
warning: choose to continue with risk, your installation may not work
Service Owner Name = 'root' (press enter to accept or input new value): 
set user root (uid: 0), group root (gid: 0)
project path '/opt/nano' created
Group Domain Name = 'nano' (press enter to accept or input new value): 
Group MultiCast Address = '224.0.0.226' (press enter to accept or input new value): 
Group MultiCast Port = 5599 (press enter to accept or input new value): 
cert 'cert/nano_ca.crt.pem', key 'cert/nano_ca.key.pem' already generated
cert install path '/opt/nano/cert' created
'cert/nano_ca.crt.pem' copied to '/opt/nano/cert/nano_ca.crt.pem'
'cert/nano_ca.key.pem' copied to '/opt/nano/cert/nano_ca.key.pem'
'/opt/nano/cert/nano_ca.crt.pem' copied to '/etc/pki/ca-trust/source/anchors/nano_ca.crt.pem'
'/etc/pki/ca-trust/source/anchors/nano_ca.crt.pem' updated
all access modified
1 modules will install...
installing cell dependency packages...
try installing from online reciprocity...
dependency packages installed
try link interface 'eth0' to bridge 'br0', input 'yes' to confirm:yes
network manager stopped
network manager disabled
19 params loaded from '/etc/sysconfig/network-scripts/ifcfg-eth0'
interface script /etc/sysconfig/network-scripts/ifcfg-eth0 updated
bridge script /etc/sysconfig/network-scripts/ifcfg-br0 generated
new bridge br0 created
link eth0 added to bridge br0
bridge br0 up
link eth0 up
network service stopped
network service restarted
installing cell module...
module path '/opt/nano/cell' created
binary '/opt/nano/cell/cell' copied
config path '/opt/nano/cell/config' created
user root / group root updated in /etc/libvirt/qemu.conf
/dev/kvm owner changed
group libvirt already exists
[root@web01 ~]# cd /opt
[root@web01 opt]# ll
total 4
drwxr-----. 4 root root 4096 Dec 20 15:39 nano
[root@web01 opt]# cd nano/
[root@web01 nano]# ll
total 8
drwxr-----. 3 root root 4096 Dec 20 15:39 cell
drwxr-----. 2 root root 4096 Dec 20 15:30 cert
[root@web01 nano]# cd cell/
[root@web01 cell]# ll
total 8020
-rwxr-----. 1 root root 8205968 Dec 20 15:39 cell
drwxr-----. 2 root root    4096 Dec 20 15:39 config
[root@web01 cell]# ./cell start
bridge br0 is ready
default route ready

Cell Modeul 1.3.0
service Cell_000c29b1b5c3 listen at '10.0.0.7:5600'
group '224.0.0.226:5599', domain 'nano'
cell started

安裝成功

在下拉選單中選擇新裝的Cell節點進行新增

當資源池中Cell節點的狀態變為Online時,就可以承載新建的雲主機例項了

3. 構建模板映象

Nano可以將任意雲主機的系統磁碟製作成磁碟映象,然後從映象快速克隆出於原模板主機系統,軟體一樣的新例項,以便大幅度提升管理員部署例項的效率。