Linux 下搭建由 Go 语言基于 KVM 虚拟化开发的私有云平台 Nano
Nano
基于 KVM
技术,使用 Go
语言开发,简单易学的虚拟机管理软件,从 Web
管理门户、主机监控、镜像克隆到故障切换,功能完备,开箱即用,数分钟之内即可将您的服务器集群升级为云主机平台。
实验平台:
CentOS Linux release 7.6.1810 (Core)
Nano Version:
nano 1.2.0
搭建环境要求:
- 支持虚拟化的X86服务器或者打开嵌套虚拟化
(Intel VT-x/AMD-v)
的虚拟机 2
核4G
内存50GB
磁盘和一个网络设备- 操作系统安装完成并且网络就绪
Firewalld
和Selinux
服务正常运行- 如有
Raid/LV
M请先完成配置,再进行Nano
安装 - 默认情况下
"/var/lib/libvirt/images"
路径存储云主机磁盘文件,"/opt/nano/core/data"
存储系统镜像文件,请为其保留足够空间
1.官网
https://nanos.cloud/
2.Wiki
https://nanocloud.readthedocs.io/projects/guide/zh_CN/latest/
3.下载目前最新版本安装包
$ wget https://nanos.cloud/files/nano_installer_1.3.0.tar.gz
3.解压
$ tar xf nano_installer_1.3.0.tar.gz
$ cd nano_installer
4.安装
# ./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):
#0 只安装 Core 核心模块
#1 只安装 FrontEnd 前段模块
#2 只安装 Cell 模块
#3 安全所有模块
#4 更新
#5 强制更新
#6 退出当前脚本
4.1 选择安全全部模块
# ./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 全部模块安装,0 只安装 Core,1 只安装 FrontEnd,2 只安装 Cell,
3
default route ready
firewalld service ready
Service Owner Name = 'root' (press enter to accept or input new value): jarbo #输入启动用户
set user jarbo (uid: 1000), group jarbo (gid: 1000)
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
3 modules will install...
installing cell dependency packages...
install pacakge fail: exit status 216, warning: rpms/cell/qemu-common-2.0.0-1.el7.6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
error: Failed dependencies:
policycoreutils = 2.5-33.el7 is needed by policycoreutils-python-2.5-33.el7.x86_64 #这里这个依赖报错可以忽略
try installing from online reciprocity...
dependency packages installed
try link interface 'ens33' to bridge 'br0', input 'yes' to confirm:yes #输入 yes,确认构建默认的桥接网络 br0; 如果已经有其他程序设置的br0,建议先手工删除,再安装Cell,否则可能会导致云主机网络连接不正常 。如果是以往Nano安装生成的br0则无影响,可以跳过
network manager stopped
network manager disabled
21 params loaded from '/etc/sysconfig/network-scripts/ifcfg-ens33'
interface scripts /etc/sysconfig/network-scripts/ifcfg-ens33 updated
bridge script /etc/sysconfig/network-scripts/ifcfg-ens33 generated
new bridge br0 created
link ens33 added to bridge br0
bridge br0 up
link ens33 up
···
5.启动服务
$ cd /opt/nano/core
$ ./core start
Core Module 1.3.1
service Core_000c29482880 listen at '10.10.12.4:5600'
group '224.0.0.226:5599', domain 'nano'
API address ':5850', image service '10.10.12.4:5801'
Image TLS Cert '/opt/nano/core/cert/nano_image.crt.pem', Key '/opt/nano/core/cert/nano_image.key.pem'
core started
#请注意,必须首先启动 Core 模块
$ cd ../cell
$ ./cell start
bridge br0 is ready
default route ready
No configures available, following instructions to generate a new one.
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):
default configure '/opt/nano/cell/config/domain.cfg' generated
start cell fail: virError(Code=38, Domain=7, Message='Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory')
#此报错是因为 libvirtd 服务未启动
# systemctl start libvirtd
$ ./cell start
bridge br0 is ready
default route ready
Cell Modeul 1.3.1
service Cell_000c29482880 listen at '10.10.12.4:5602'
group '224.0.0.226:5599', domain 'nano'
cell started
$ cd ../frontend/
$ ./frontend start
data path /opt/nano/frontend/data created
Front-End Module 1.3.1
Core API: http://10.10.12.4:5850/api/v1
Nano Web Portal: http://10.10.12.4:5870
frontend started
6.模块启动控制
start
: 启动模块,故障打印错误信息,成功则输出版本及必要信息stop
: 优雅停止模块,自动释放相关资源并通知相关模块status
: 检查模块是否在运行中halt
: 强制终止模块运行
二、使用介绍
1.浏览器直接访问即可 Nano Web Portal
,一开始访问管理页面会让你初始化管理员账号密码,初始化完毕后即可登录管理页面
2.使用默认的资源池,添加资源节点即可创建主机
3.上传光盘映像 Linux
4.创建云主机
5.选择从光盘镜像启动云主机,选择上传的 Linux 映像
6.选择远程监控,开始安装系统
7.创建网络和系统安装省略,在开机前要弹出映像即可进入系统
Over~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1855 0 2021-01-01
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2025-01-22
今日天气
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:14条
- 本站总访问量 367074 次
@svmuvwpuqi 真棒!
@smdxydrauu 博主太厉害了!
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...