新发现一款可以免费使用的虚拟机管理软件
ninehua 2025-01-09 15:14 34 浏览
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台,足够了。企业的话那肯定要上企业版的,这个就不用多说了。
相关推荐
- 配合制导弹药!土耳其推出反无人机武器系统,可全天候拦截无人机
-
【军武次位面】作者:FriedrichLau据报道,日前土耳其军队装备了一款名为Sahin"沙欣"的反无人机武器系统。该系统由土耳其Aselsan公司开发,旨在摧毁迷你或小型无人机,...
- 威纶通常见问题18 威纶通触摸屏密码使用的相关介绍
-
密码1:屏右下角的系统设定列(向左的箭头)进入密码提醒:上传下载的默认密码均为6个1,若不慎忘记密码,因已加密所以原厂也无法解开,请妥善保管密码。若因不可抗力因素造成的忘记密码,只能将屏恢复出厂设置然...
- 轻松学会威纶通触摸屏上传与反编译
-
说到上传,大家并不陌生,上传顾名思义:就是把实际触摸屏画面上传到电脑EasyBuilderPro软件上,上传的作用是什么呢?可以修改触摸屏上原有的画面,所以说在上传这两字在工控中是非常重要的,接下来进...
- DLL 可以被反编译吗?(dll文件可以编辑吗)
-
DLL可以被反编译,但存在一定难度DLL(动态链接库)是一种二进制文件,包含了可执行代码和数据。虽然它不像高级语言源代码那样容易被理解,但可以通过一些反编译工具进行逆向分析。不过,反编译后的结果通常...
- 复古游戏反编译工具遭任天堂下架 工具名或为诱因
-
Reddit用户mhjhacker1近日发表文章称,自己开发的一款“复古主机游戏逆向工程”工具被其他用户使用,反编译了一款任天堂四十年前的游戏,因而遭到了Itch.io的下架。而相关的另外三个工具也遭...
- protobuf之序列化数据和反序列化数据基础知识
-
什么是protobufProtocalBuffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化、反序列化。ProtocolBuffers是一种语言无关、平台无关、可扩展的...
- MT管理器-简单实战-去除启动页(mt管理器去除登录界面)
-
每次打开APP都要看着启动页2秒,很烦人,既然如此我们把它去掉吧。学过Android开发的都知道,APP的每个界面都是一个Activity,然后你点击桌面上的图标之后,其实是启动了这个...
- 这两个强大的开源C#反编译逆向工具,探索C#桌面应用的小秘密
-
C#的应用也比较多,有时候,我们想要研究一下别人的优秀的项目,可能会借助一些非常规手段来学习。下面,我就分享几款开源的C#反编译工具。dnSpydnSpy是一个用C#开发,开源的调试器和.NET汇...
- 一款开源的.NET程序集反编译、编辑和调试神器
-
致力于发掘、评测和推荐各种高效实用的工具和软件,帮助您在工作和生活中事半功倍。项目介绍dnSpyEx是dnSpy项目的非官方Fork维护版本,一款开源、功能强大的.NET反编译工具和调试器,可用于在没...
- 记一次噩梦般的经历--论学会反编译的重要性
-
最近在做一个android项目,因为非开源,github上也没购有私有库,所以就没有提交github管理。昨天我感觉写到了一定程度,一个小的版本已经出来了,于是就想U盘和网盘都备份一下。结果出现了下面...
- 奇!AI(人工智能)能不能反编译二进制代码为高级语言Java或者C?
-
一直很好奇某些软件的制作过程,使用的算法。因为自己实现的,写的稀烂,虽然功能达到了,但处理速度和处理效率很低下,于是也尝试使用一些反编译软件,如IDAPro软件。想看看人家怎么实现,怎么做到效果那么...
- 你知道 Java 中关键字 enum 是一个语法糖吗?反编译枚举类
-
持续创作,加速成长!这是我参与「掘金日新计划·10月更文挑战」的第7天,点击查看活动详情写下这篇文章,也纯属于是一个机缘巧合,我一个非常要好的朋友程,也是刚刚踏上工作岗位。这个问题也是他踏上岗位...
- SpringBoot项目Jar包加密,防止反编译
-
场景最近项目要求部署到其他公司的服务器上,但是又不想将源码泄露出去。要求对正式环境的启动包进行安全性处理,防止客户直接通过反编译工具将代码反编译出来。方案第一种方案使用代码混淆采用proguard-m...
- 安卓移动应用代码安全加固系统设计及实现
-
安卓平台已经逐渐成为最受欢迎的移动终端操作系统,基于安卓系统的软件应用数量众多,同时安全威胁也在不断增加。介绍了Android系统的安全风险及加固的核心技术,据此提出了一种安卓应用程序的安全加固系统,...
- 代码安全之代码混淆(代码混淆器是干什么的)
-
防止核心代码泄露以及代码合并每日辛辛苦苦码的代码被轻松破解?机密核心模块被盗用?数据库地址和语句暴露?……这些都是由代码未混淆加密,从而进行泄露的我们目前DLL文件存在的风险:一、直接引用二、反编译...