Nano

CentOS 7安装Nano轻量级虚拟机管理软件

Posted on 2021-02-09,6 min read

Nano基于KVM技术,使用Go语言开发,简单易学的虚拟机管理软件,从Web管理门户、主机监控、镜像克隆到故障切换,功能完备,开箱即用。类似noKvm、Proxmox VE这类虚拟化管理平台,Nano无需第三方软件或者依赖库即可执行,安装非常简单。

img

服务器要求

  • 支持虚拟化的X86服务器或者打开嵌套虚拟化(Intel VT-x/AMD-v)的虚拟机
  • 2核4G内存50GB磁盘和一个网络设备
  • CentOS 7.7(1908) Minimal
  • 操作系统安装完成并且网络就绪
  • Firewalld服务启动并且正常运行
  • 如有Raid/LVM请先完成配置,再进行Nano安装

安装Nano

复制下面的命令进行安装

#下载Nano
wget https://nanos.cloud/files/nano_installer_1.2.0.tar.gz
#解压
tar zxfv nano_installer_1.2.0.tar.gz
#进入目录
cd nano_installer
#安装
./installer

安装的时候会要求选择模块,一般情况选3(全部)安装,其它选项如果不清楚,全部保持默认即可,通常在几分钟即可完整安装。

img

运行Nano

Nano的相关文件位于/opt/nano/目录,需要进入该目录启动下面的服务:

cd /opt/nano/core
./core start
cd ../cell
./cell start
cd ../frontend
./frontend start

当front-end模块成功启动后,会提示一个形如"192.168.6.3:5870"的监听地址,使用Chrome或者Firefox打开这个地址就可以进行平台管理了,首次打开WEB界面会要求设置账号、密码。

img

进入后Nano WEB管理界面后,看到的内容如下,界面还是挺美观的。

img

首次使用

设置计算资源池

在下图的位置设置资源节点,否则无法正常创建云主机。

img

地址池

在下图中设置地址池,否则无法自动为虚拟机分配IP地址,同时请确保这些地址在同一网络下是正常可用的,并非随意填写。

img

光盘镜像

系统镜像可以自行去官方先下载好,然后通过下方界面进行上传。xiaoz使用Edge (Chromium)上传镜像的时候,卡在100%,原因不明。后来更换Chrome后就可以了,官方推荐使用Chrome或Firefox浏览器。

img

上传后的光盘镜像位于/opt/nano/core/data/media_images目录,目前还不支持直接在宿主机上wget下载,只能在线上传镜像,这点感觉不是特别方便。

创建云主机

上方条件准备完毕后即可创建云主机,按下图所示,先插入光盘镜像,然后启动系统,再进入控制台进行安装。

img

遇到的问题

安装Windows Server 2019后,发现从控制台进入,无法发送Ctrl + Alt + Del快捷键,解决办法是使用VNC客户端进行连接。

点击资源监控的时候浏览器提示内存不足,这个情况应该Windows虚拟机会出现此问题,解决办法是安装virtio驱动和qeum agent,下载地址为:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.173-9/virtio-win.iso,不然nano查看虚拟机资源监控会卡住。

Nano脚本管理与开机启动

每次都进入/opt/nano/core目录去管理Nano的3个服务,非常不方便,我们可以编写脚本来对Nano进行管理。xiaoz已经编写好了,可以直接下载使用:

#下载管理脚本
wget -O /usr/sbin/nano https://raw.githubusercontent.com/helloxz/shell/master/nano.sh
#添加执行权限
chmod +x nano

脚本添加后,可以使用下方的命令来快速管理Nano。

#查看nano状态
nano status
#停止nano
nano stop
#启动nano
nano start
#重启nano 
nano restart

继续编写systemd服务,以便设置开机启动,新建一个nano服务文件vi /etc/systemd/system/nano.service,内容如下:

[Unit]
Description=Nano - https://nanos.cloud/
After=network.target

[Service]
Type=forking
ExecStart=/usr/sbin/nano
ExecRestart=/usr/sbin/nano restart
ExecStop=/usr/sbin/nano stop

[Install]
WantedBy=multi-user.target

服务添加完毕后输入systemctl daemon-reload刷新刚刚添加的nano服务,然后就可以使用systemctl来进行管理了,命令如下:

#设置nano开机启动
systemctl enable nano
#启动nano
systemctl start nano
#停止nano
systemctl stop nano
#重启nano
systemctl restart nano

注意,此服务需要依赖于上方的nano.sh脚本,xiaoz已放到Github:https://github.com/helloxz/shell/blob/master/nano.sh

总结

Nano使用Golang开发,无需第三方软件或者依赖库即可执行,安装非常简单,相比其它虚拟化管理平台,安装更简单而且不容易出错。目前仅用过VMware、ESXI、Nano这几个虚拟化软件,ESXI必须使用镜像才能运行,而Nano只需要CentOS 7即可安装。有网友分享说Nano比PVE更加好用,好吧,我没用过PVE,就无法做对比了。

Nano也有一些不足,比如光盘镜像必须在线上传,如果您是国外的独立服务器,镜像比较大的情况下,简直是一个噩梦,而ESXI则可以直接在宿主机上wget。另外安装Windows虚拟机后,WEB控制台那里无法发送Ctrl + Alt + Del,最后只好用VNC客户端操作。

下一篇: 将OneDrive等云盘文件同步到Fast.io提供直连下载→