百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

新发现一款可以免费使用的虚拟机管理软件

csdh11 2025-04-30 16:10 8 浏览

1. 背景

做后端开发和做DBA的同学,由于开发和测试需要,经常会创建一些虚拟机,有时是不同的操作系统,有时候是跨CPU架构的,这时候有一款好用的虚拟机管理软件就显得尤为重要。当然对于企业来说,需要管理的环境更多更复杂,虚拟机管理软件也更为重要的。

本人之前在测试和试用PostgreSQL管理软件时,碰巧发现中启乘数公司还有虚拟机管理的软件,叫做CSYun,看了简介文档,是基于KVM的,最近自己也在用KVM虚拟机,之前看到过不少部署PVE的文章,但是PVE部署起来比较繁琐,而且最主要的是不能在自己的操作系统上安装,需要直接安装在物理机上,这样等于物理机只能用于PVE管理虚拟机,很不方便,再者如果物理机出现点什么问题都不知道怎么排查。然后还有一个VirtualBox,这个最好还是安装在带有GUI的操作系统上,不然只有命令行工具,还是不方便,就是比virsh命令多了些功能而已,没必要。从其官方文档上看CSYun的安装部署非常简单,于是就打算装上使使看。

环境说明(实际上是一个MiniPC小盒子)

名称

说明

CPU

AMD 7735

内存

32GB

操作系统

RockyLinux 9.3

CSYun

3.1.0

注意:物理机的BIOS中需要先开启虚拟化,一般是默认开启的,如果没有开启,后面可能会报错。

CSYun的官方文档:CSYun3.x产品手册:CSYun简介

2. CSYun部署

先安装所需依赖

dnf install -y libvirt qemu-kvm virt-viewer bridge-utils avahi dmidecode virt-manager qemu-img virt-install net-tools libguestfs-tools openssl-devel readline-devel

这里我的系统因为之前配置过KVM虚拟机,环境依赖都安装过了,就不需要再安装了。

2.1 安装Server端

使用一键安装命令安装Server端

wget -qO /tmp/csyun.sh --no-check-certificate https://get.csudata.com/csuinst/csyun.sh && bash /tmp/csyun.sh csyun-server install

如果是多网卡机器,中间需要选择一个网卡的IP。

自动安装的过程

[root@LKPC opt]# wget -qO /tmp/csyun.sh --no-check-certificate https://get.csudata.com/csuinst/csyun.sh && bash /tmp/csyun.sh csyun-server install
======== begin check_kernel ...
kernel = Linux
======== begin get_machine_name ...
cpu_arch_type = x86_64
======== begin get_release ...
OS Release: el 9
======== begin check_sudo ...
sudo = root ok
======== begin download csumdb1.1.2.el9.x86_64.bin ...
--2024-09-02 11:30:22-- https://csudata.oss-cn-hangzhou.aliyuncs.com/csumdb/csumdb1.1.2.el9.x86_64.bin
Resolving csudata.oss-cn-hangzhou.aliyuncs.com (csudata.oss-cn-hangzhou.aliyuncs.com)... 118.31.219.202
Connecting to csudata.oss-cn-hangzhou.aliyuncs.com (csudata.oss-cn-hangzhou.aliyuncs.com)|118.31.219.202|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7108708 (6.8M) [application/octet-stream]
Saving to: ‘/tmp/csumdb1.1.2.el9.x86_64.bin’
/tmp/csumdb1.1.2.el9.x86_64.bin 100%[======================================================>] 6.78M 38.6MB/s in 0.2s
2024-09-02 11:30:22 (38.6 MB/s) - ‘/tmp/csumdb1.1.2.el9.x86_64.bin’ saved [7108708/7108708]
======== begin install csumdb1.1.2.el9.x86_64.bin ...
== Installation is starting ...
useradd warning: csumdb's uid 571 outside of the UID_MIN 1000 and UID_MAX 60000 range.
=== Installation is complete.
install csumdb1.1.2.el9.x86_64.bin success!
======== begin download csyun-server3.1.0.el9.x86_64.bin ...
--2024-09-02 11:30:23-- https://csudata.oss-cn-hangzhou.aliyuncs.com/csyun/3.1.0/csyun-server3.1.0.el9.x86_64.bin
Resolving csudata.oss-cn-hangzhou.aliyuncs.com (csudata.oss-cn-hangzhou.aliyuncs.com)... 118.31.219.202
Connecting to csudata.oss-cn-hangzhou.aliyuncs.com (csudata.oss-cn-hangzhou.aliyuncs.com)|118.31.219.202|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 41437284 (40M) [application/octet-stream]
Saving to: ‘/tmp/csyun-server3.1.0.el9.x86_64.bin’
/tmp/csyun-server3.1.0.el9.x86_ 100%[======================================================>] 39.52M 40.6MB/s in 1.0s
2024-09-02 11:30:24 (40.6 MB/s) - ‘/tmp/csyun-server3.1.0.el9.x86_64.bin’ saved [41437284/41437284]
======== begin install csyun-server3.1.0.el9.x86_64.bin ...
==== Installation is starting ...
/usr/bin/rpm
What is your ip?
1) x.x.x.x/20
2) x.x.x.x/24
#? 2
==== Your ip is x.x.x.x/24
your network is x.x.x.x
your http port is 8090
==== register systemd service ...
Recognize this operating system is el9.x86_64
register service csyun-webvnc sucessfully.
register service csyun-server sucessfully.
register service csyun-dhcpd sucessfully.
==== register systemd service ok.
==== Installation is complete.
install csyun-server3.1.0.el9.x86_64.bin success!
======== begin clean PACKAGE ...
rm -rf /tmp/csyun-server3.1.0.el9.x86_64.bin
rm -rf /tmp/csumdb1.1.2.el9.x86_64.bin

从日志上看,应该是安装了两个服务,一个是csumdb一个是csyun-server。csumdb应该是管理端自身的数据库,跟CLup(PostgreSQL管理软件,也是他们家的)类似。

[root@LKPC opt]# tree -L 1
.
├── condaEnvs
├── csyun-server -> csyun-server3.1.0
├── csyun-server3.1.0
...
[root@LKPC opt]# tree -L 1 /home
/home
├── csumdb
├── guest
└── postgres

这里的/opt/csyun-server、/opt/csyun-server3.1.0、/home/csumdb是安装后的目录。

看下服务的状态(安装时有注册systemd的系统服务)

[root@LKPC opt]# systemctl status csyun-server
● csyun-server.service - csyun-server
Loaded: loaded (/etc/systemd/system/csyun-server.service; enabled; preset: disabled)
Active: active (running) since Mon 2024-09-02 11:30:44 CST; 8min ago
Main PID: 5110 (csyun-server)
Tasks: 13 (limit: 182296)
Memory: 20.1M
CPU: 5.536s
CGroup: /system.slice/csyun-server.service
└─5110 /opt/csyun-server/bin/csyun-server start
Sep 02 11:30:44 LKPC su[5016]: (to csumdb) root on none
Sep 02 11:30:44 LKPC su[5016]: pam_unix(su-l:session): session opened for user csumdb(uid=571) by (uid=0)
Sep 02 11:30:44 LKPC su[5016]: pam_unix(su-l:session): session closed for user csumdb
Sep 02 11:30:44 LKPC csyun-server[5014]: 2024-09-02 11:30:44,270 INFO csumdb is started.
Sep 02 11:30:44 LKPC csyun-server[5014]: 2024-09-02 11:30:44,270 INFO Recognize this operating system is el9.x86_64
Sep 02 11:30:44 LKPC csyun-server[5014]: 2024-09-02 11:30:44,658 WARNING Upgrade: Please run it manually: alter table csyun dr>
Sep 02 11:30:44 LKPC csyun-server[5014]: 2024-09-02 11:30:44,658 WARNING Upgrade: Please run it manually: drop table csyun_zfs;
Sep 02 11:30:44 LKPC csyun-server[5014]: 2024-09-02 11:30:44,658 WARNING Upgrade: Please run it manually: drop table csyun_zfs>
Sep 02 11:30:44 LKPC csyun-server[5014]: 2024-09-02 11:30:44,658 WARNING Upgrade: Please run it manually: drop table csyun_vm_>
Sep 02 11:30:44 LKPC systemd[1]: Started csyun-server.

服务正常,登录网页查看一下(http://IP:8090 用户名:admin 密码:cstech):

这里我们先不要操作,还需安装好Agent端后才能初始化。

2.2 安装Agent端

使用一键安装命令安装Agent端

wget -qO /tmp/csyun.sh --no-check-certificate https://get.csudata.com/csuinst/csyun.sh && bash /tmp/csyun.sh csyun-agent install

安装过程中需要输入Server端的IP

/tmp/csyun-agent3.1.0.el9.x86_6 100%[======================================================>] 35.36M 36.6MB/s in 1.0s
======== begin install csyun-agent3.1.0.el9.x86_64.bin ...
==== Installation is starting ...
/usr/bin/rpm
Enter csyun-server IP Addr: x.x.x.x
csyun-server ip is x.x.x.x!
==== register systemd service ...
Recognize this operating system is el9.x86_64
register service csyun-agent sucessfully.
==== register systemd service ok.
==== Installation is complete.
install csyun-agent3.1.0.el9.x86_64.bin success!
======== begin clean PACKAGE ...
rm -rf /tmp/csyun-agent3.1.0.el9.x86_64.bin

2.3 初始化

我们登录Web页面,如果是之前登录的记得先刷新一下。然后点击开始->下一步:

这里的存储池可以选择文件目录和ZFS,不过ZFS需要先安装配置好才行,这里我们就选择默认的文件目录。

然后再点击下一步,进入到了网络初始化界面,修改网络为桥接模式,:

选中初始化网络,然后点击下一步就可以了。我这台小盒子之前做过网络桥接,所以很快就完成了,如果之前没有配置,可能需要等待一会儿:

3. 创建虚拟机

点击虚拟机管理->虚拟机列表->创建

填写信息选择ISO镜像文件,然后选择虚拟机模板时注意,新一些的CPU支持Q35(即需要支持Intel VT-x或AMD-V),要是不确定就选默认的iso模板:

这里的OS盘大小和内存大小单位都是MB,输入的时候注意别弄错了。

这里点击登录界面,会使用VNC连接到虚拟机,然后安装操作系统就可以了。

这里是安装完成后的界面

这样虚拟机就安装完成了,接下来我们试下克隆虚拟机。

4. 克隆虚拟机

首次克隆虚拟机之前需要先创建快照,点击虚拟机列表->管理:

这里的Q35双网卡实例模板是我自己修改后的,对KVM还不熟悉的同学,先用默认的模板。

然后点击快照管理->创建:

第一个快照需要使用基础的系统文件,所以会比较大,后面新建就会比较小

然后我们使用此快照克隆一台虚拟机出来

点击提交很快就克隆好了,点击登录看到跟之前的虚拟机一样:

5. 总结

CSYun的部署确实比较简单,使用其一键安装的命令直接就安装好了,然后就是用Web服务管理很方便,不用安装GUI拖累服务器。安装和克隆虚拟机的操作也很简洁高效,默认安装没有注册的话有虚拟机80个核心的限制,对于个人使用来说,4核心虚机能搭建20台,足够了。企业的话那肯定要上企业版的,这个就不用多说了。

相关推荐

Github霸榜的SpringBoot全套学习教程,从入门到实战,内容超详细

前言...

SpringBoot+LayUI后台管理系统开发脚手架

源码获取方式:关注,转发之后私信回复【源码】即可免费获取到!项目简介本项目本着避免重复造轮子的原则,建立一套快速开发JavaWEB项目(springboot-mini),能满足大部分后台管理系统基础开...

Spring Boot+Vue全栈开发实战,中文版高清PDF资源

SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...

2021年超详细的java学习路线总结—纯干货分享

本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!第一阶段:Java基础...

探秘Spring Cache:让Java应用飞起来的秘密武器

探秘SpringCache:让Java应用飞起来的秘密武器在当今快节奏的软件开发环境中,性能优化显得尤为重要。SpringCache作为Spring框架的一部分,为我们提供了强大的缓存管理能力,让...

3,从零开始搭建SSHM开发框架(集成Spring MVC)

目录本专题博客已共享在(这个可能会更新的稍微一些)https://code.csdn.net/yangwei19680827/maven_sshm_blog...

Spring Boot中如何使用缓存?超简单

SpringBoot中的缓存可以减少从数据库重复获取数据或执行昂贵计算的需要,从而显著提高应用程序的性能。SpringBoot提供了与各种缓存提供程序的集成,您可以在应用程序中轻松配置和使用缓...

我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊

接下来你看到的将是全网最详细的Java知识点总结,全文分为三大部分:Java基础、Java框架、Java+云数据小编将为大家仔细讲解每大部分里面的详细知识点,别眨眼,从小白到大佬、零基础到精通,你绝...

1,从零开始搭建SSHM开发框架(环境准备)

目录本专题博客已共享在https://code.csdn.net/yangwei19680827/maven_sshm_blog1,从零开始搭建SSHM开发框架(环境准备)...

做一个适合二次开发的低代码平台,把程序员从curd中解脱出来-1

干程序员也有好长时间了,大多数时间都是在做curd。现在想做一个通用的curd平台直接将我们解放出来;把核心放在业务处理中。用过代码生成器,在数据表设计好之后使用它就可以生成需要的controller...

设计一个高性能Java Web框架(java做网站的框架)

设计一个高性能JavaWeb框架在当今互联网高速发展的时代,构建高性能的JavaWeb框架对于提升用户体验至关重要。本文将从多个角度探讨如何设计这样一个框架,让我们一起进入这段充满挑战和乐趣的旅程...

【推荐】强&牛!一款开源免费的功能强大的代码生成器系统!

今天,给大家推荐一个代码生成器系统项目,这个项目目前收获了5.3KStar,个人觉得不错,值得拿出来和大家分享下。这是我目前见过最好的代码生成器系统项目。功能完整,代码结构清晰。...

Java面试题及答案总结(2025版持续更新)

大家好,我是Java面试分享最近很多小伙伴在忙着找工作,给大家整理了一份非常全面的Java面试场景题及答案。...

Java开发网站架构演变过程-从单体应用到微服务架构详解

Java开发网站架构演变过程,到目前为止,大致分为5个阶段,分别为单体架构、集群架构、分布式架构、SOA架构和微服务架构。下面玄武老师来给大家详细介绍下这5种架构模式的发展背景、各自优缺点以及涉及到的...

本地缓存GuavaCache(一)(guava本地缓存原理)

在并发量、吞吐量越来越大的情况下往往是离不开缓存的,使用缓存能减轻数据库的压力,临时存储数据。根据不同的场景选择不同的缓存,分布式缓存有Redis,Memcached、Tair、EVCache、Aer...