SolusVM 主控及 KVM 节点服务器安装配置指南

Kevin 教程 3,958 次浏览 63条评论

记录下最近折腾 SolusVM 的安装配置过程。没接触前以为会很难,实际程序的安装步骤很简单,难点在于服务器环境配置上。尤其网络配置问题上容易遇阻,其它基本跟着教程走就可以运行起来。当然这还只是程序搭建范畴,如果想正式运营提供服务,应该还有很多问题要解决。

准备工作

服务器和 IP

准备两台服务器。其中 SolusVM 主控可以使用普通 VPS,配置不要太低就行。KVM 节点需要用独立服务器,并配有多个 IP 地址(通常是一个 C 段或在下面划分的更小子网,用于分配虚拟机使用)。

安装 CentOS 6 系统(目前 SolusVM 对 CentOS  7 的兼容性不好,存在重启不能自启虚拟机、不支持限速等问题)。系统建议安装 Minimal 版本,安装过程中配置好网络连接硬盘分区(对 KVM 节点服务器而言,通常用 IPMI 这类底层控制台操作)。

安装系统后运行一遍更新,安装几个基础软件,检查禁用 SELinux,然后重启服务器备用。

yum -y update
yum -y install wget unzip screen lrzsz

SolusVM 授权

SolusVM 官网购买产品授权,没有激活将无法进行任何操作。如果只是玩玩,有 30 天免费试用。

域名及 SSL 证书(可选)

SolusVM 控制面板使用。如果不在乎访问体验,不配置域名和 SSL 证书也可以,直接用 IP 访问。

免费方案:Freenom 免费域名(有收回风险),Let’s Encrypt 免费证书(下文有介绍)。

SolusVM 主控程序安装

下载运行 SolusVM 安装脚本,它会自动集成安装 Nginx、数据库、PHP 等工作组件

wget https://files.soluslabs.com/install.sh
sh install.sh

选择1仅安装 SolusVM 主控程序,等待安装完成后会打印登录信息。

Install SolusVM Master
仅安装 SolusVM 主控程序
SolusVM Master Login Information
SolusVM 控制面板登录信息

这时就可以访问登录 SolusVM 控制面板。由于没有配置 SSL 证书,浏览器会显示警告信息。

SolusVM SSL 证书配置

这里只介绍主控端 SSL 配置,节点服务器用默认自签证书就行。如果已准备域名证书(包括 cert.pem 文件,其生成方法及放置路径下文有提及),将证书上传到 SolusVM 默认目录,替换同名文件。

/usr/local/svmstack/nginx/ssl/ssl.crt
/usr/local/svmstack/nginx/ssl/ssl.key

重启 Nginx 服务生效。

service svmstack-nginx restart

如果没有准备或不打算使用付费证书,可按下面步骤申请安装 Let’s Encrypt 免费证书。

在之前程序安装打印信息里有说可以用/usr/local/svmstack/letsencrypt/letsencrypt -i获取 Let’s Encrypt 证书,但笔者测试没有成功。还是另外安装 ACME 客户端来申请吧,由于 Certbot 在 CentOS6 下安装比较麻烦,需要先有 Python3,这里我们用另一个主流 ACME  客户端 acme.sh 申请。

安装 acme.sh(默认安装在用户目录下)。若要指定安装目录和证书储存目录,点此查看介绍

curl https://get.acme.sh | sh

安装后需要断开重连 SSH 会话才能使用。

用下面命令申请证书。如果要申请多个域名追加-d参数,-w参数是网站验证目录路径(检查目录是否存在)。更多选项参数可通过acme.sh --help命令查看。

acme.sh --issue -d cp.example.com -w /usr/local/solusvm/www/.verification

创建一个 Shell 脚本储存部署证书后要执行的命令,包括重启 Nginx 服务,生成 noVNC 所需的 cert.pem 文件。蓝色字符命令是重启 sshwebsocket(HTML5 控制台),这个服务 SolusVM 默认没有安装,因此执行会提示找不到文件。考虑到这个也属常用服务,顺便加上重启命令。

在指定目录创建脚本文件(储存路径可随意)。

cd /root/.acme.sh && vi myreloadcmd.sh

复制粘贴脚本内容保存。

#!/usr/bin/env bash

service svmstack-nginx restart
/usr/local/svmstack/sshwebsocket/quit
/usr/local/svmstack/sshwebsocket/port_check
cd /usr/local/svmstack/nginx/ssl && cat ssl.key ssl.crt > /usr/local/solusvm/includes/nvnc/cert.pem

赋予脚本可执行权限,./不可省略,表示文件在当前目录下。

chmod +x ./myreloadcmd.sh

接着安装证书文件到 SolusVM SSL目录。用这种方式安装,后续 acme.sh 续订证书会记住附带命令。如安装路径,更新后需要执行的操作。相关配置在用户目录下的 .acme.sh 域名目录里的 *.conf 文件。

acme.sh --install-cert -d cp.example.com \
--key-file /usr/local/svmstack/nginx/ssl/ssl.key \
--fullchain-file /usr/local/svmstack/nginx/ssl/ssl.crt \
--reloadcmd "/root/.acme.sh/myreloadcmd.sh"

这里补充一个遇到问题,之前尝试直接在--reloadcmd里设置执行命令。但不知是否 acme.sh bug(命令太多?),安装证书时可以正常工作,但续订一次后会丢失命令(–reloadcmd 值变成空白),后来改调用脚本文件就正常了。

Let’s Encrypt 免费证书有 90 天期限,到期后需要续订。在安装 acme.sh 时已自动添加 Cron 更新任务,可通过crontab -l命令查看(修改用-e参数)。

例如下面规则表示每 54 天检查更新(只是检查更新,这个时间 acme.sh 貌似会自动调整。更新时间取决 acme.sh 域名配置文件里的 Le_NextRenewTimeStr 值。如果要强制更新追加--force参数)。

54 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

SSL 证书配置好后访问测试下,如无意外,应该可以看到绿色小锁安全标识。

SolusVM SSL Access Test

到此,SolusVM 主控端安装完成。登录进去绑定授权码,修改管理员账户密码,之后回来添加节点。

SolusVM KVM 管理程序安装

运行 SolusVM 安装脚本,选择4安装 KVM 管理程序,安装后复制保存 Key & Password 备用。

wget https://files.soluslabs.com/install.sh
sh install.sh
Install SolusVM Slave (KVM)
安装 KVM 管理程序
SolusVM Slave Key & Password
节点服务器 Key & Password

rpm -q bridge-utils检查是否安装 bridge-utils 软件包(之后需要用到),没有则用下面命令安装。

yum -y install bridge-utils

配置 KVM Bridge 网络

为使开出的 KVM 虚拟机能连接网络,需要在宿主机上配置好 Bridge 网络(内网和外网都配置。外网显然不可或缺,不然虚拟机无法访问互联网。配置内网好处是,之后可以按需分配内网 IP 给虚拟机,使其可以访问局域网下其它虚拟机或设备)。

外网 Bridge 网络设置

假设要添加两个 IP 段,分别是 56.56.56.32/30 和 56.56.56.0/27。前者是宿主机使用的主 IP,后者是分配虚拟机使用的 IP。

配置 56.56.56.32/30

56.56.56.32/30 IP段共有 4 个 IP,范围是 56.56.56.32-35。除去头尾的网络地址(32)和广播地址(35)不可用外,第一个 IP 是网关地址(33),实际只剩 34 可配置为 IP。子网掩码 255.255.255.252。这些信息可以用在线工具计算。

找到接入外网的网卡设备配置文件,在/etc/sysconfig/network-scripts目录下 ifcfg-eth* 开头的文件。如果有多个,从 0 开始检查,里面有配置之前安装系统时设置的外网 IP 就是。

这里假设网卡配置文件名是 ifcfg-eth1,先备份一下。

cd /etc/sysconfig/network-scripts && cp ifcfg-eth1 backup-ifcfg-eth1

修改 ifcfg-eth1 文件,保留蓝色参数,红色参数以链接等下创建的 br0,删除网络参数(记下备用)。

vi ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
UUID=8d6f722c-b945-4083-b50e-9661bf62ae5f
HWADDR=ac:1f:6b:94:55:22
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=56.56.56.34
NETMASK=255.255.255.252
GATEWAY=56.56.56.33
DNS1=8.8.8.8
DNS2=8.8.4.4
IPV6INIT=no

创建 ifcfg-br0 网桥配置文件(尾数 ID 不要求对应网卡的)。将之前 ifcfg-eth1 里的网络参数添加进去(红色部分),蓝色部分是常规必要参数。

vi ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=56.56.56.34
NETMASK=255.255.255.252
GATEWAY=56.56.56.33
DNS1=8.8.8.8
DNS2=8.8.4.4
IPV6INIT=no
NM_CONTROLLED=no

配置 56.56.56.0/27

再添加一个 IP 段,用于分配虚拟机使用。配置文件命名 ifcfg-br0:0(这样命名可以使用同一个网卡设备,添加多个 IP 段则后面 ID 顺延。eth1 那里不用再链接这个接口,链接 br0 会自动关联这个)。

vi ifcfg-br0:0

内容如下。注意这个不要设置网关(多个网络接口只能有一个默认网关 ),IP 设置第一个可用 IP(网关地址)。

DEVICE=br0:0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=56.56.56.2
NETMASK=255.255.255.224
IPV6INIT=no
NM_CONTROLLED=no

到此,完成外网 Bridge 设置,接下来创建一个内网 Bridge,以供分配虚拟机访问局域网使用。

内网 Bridge 网络设置

创建 ifcfg-intbr0 网桥配置文件。添加 10.0.0.1/24 内网 IP 段(共 254 个可用 IP 通常已足够)。内网不用设置网关参数。

vi ifcfg-intbr0
DEVICE=intbr0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.0.0.1
NETMASK=255.255.255.0
IPV6INIT=no
NM_CONTROLLED=no

确认开启 IP 转发及重启网络

检查有无开启 IP 转发,查看/etc/sysctl.conf文件,下面参数值 1 为开启。

net.ipv4.ip_forward = 1

重启网络使之前网络配置生效。

/etc/init.d/network restart

之后用ifconfig查看网络接口。测试绑定 IP 能否ping通。brctl show检查 Bridge 接口状态。

修改 SolusVM 扩展配置文件

这步是设置 SolusVM 在配置虚拟机内网时不要添加网关,如果没有设置,则分配了内网 IP 的虚拟机将无法访问外网(因为存在超过一个默认网关)。

改名启用 config.ini 配置文件。

mv /usr/local/solusvm/data/config.ini.example /usr/local/solusvm/data/config.ini

去掉文件里的 domain_simple_internal_network 参数行注释,并将值设为 true。

sed -i 's/;domain_simple_internal_network = false/domain_simple_internal_network = true/g' /usr/local/solusvm/data/config.ini

SolusVM 开通 KVM 虚拟机

终于到了检验配置的时候了,登录 SolusVM 主控面板添加服务器和IP,开通虚拟机测试是否正常。

添加 KVM 服务器

点击菜单栏 Nodes -> Add Node。填写 KVM 服务器资料。如果不清楚 Hostname / LV Group,可以用hostnamevgdisplay命令查询。ID Key 和 ID Password 是之前安装 KVM 程序提示的字符串。

SolusVM Add Node

保存后会多出几个选项,点击回来完成设置。检查系统版本识别是否正确,设置网卡/网桥名称,网络端口速度,可开虚拟机数量,内存/硬盘最大用量等选项。

顺便编辑下 SolusVM 主控节点,勾选 Locked 禁用在此节点上创建虚拟机。

设置后回到 List Nodes 界面,点击添加的 KVM 服务器名称,进入点击 Internal Ipaddresses 选项。

SolusVM Node Internal IP Addresses

修改内网缺省值(根据之前创建的 ifcfg-intbr0 配置文件填写),添加可用内网 IP 范围(不要添加 10.0.0.1 默认网关地址,从 10.0.0.2 开始)。

SolusVM Node Add Internal IP Range

如果要为已开通的 KVM 虚拟机添加内网 IP ,流程是先在虚拟机属性页面里点击 Internal IP 添加,之后重启虚拟机。重启后登录虚拟机操作系统,创建一个网络接口配置文件(内容如下,替换其中的具体内网 IP 地址),假设文件名为 ifcfg-eth1(不要覆盖已有的配置文件)。

vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.0.0.2
NETMASK=255.255.255.0
IPV6INIT=no
NM_CONTROLLED=no

之后/etc/init.d/network restart重启网络生效。使用ifconfig检查是否添加成功,以及能否ping通 10.0.0.1 网关地址。如果虚拟机重装了系统,则不用重复此过程,SolusVM 会自动生成。

添加外网 IP 地址

点击菜单栏 IP Blocks -> Add IPv4 Block,根据之前创建 ifcfg-br0:0 配置文件里的参数设置(网关地址为第一个可用 IP),勾选所属服务器节点。如果 ifcfg-br0 主 IP 段有多个可用 IP 也可以如法添加。

SolusVM Add IPv4 Block

回到 List IP Blocks 界面,点击刚才添加 IP Blocks 右侧的 Manage IP’s 按钮,进去添加可用 IP 范围(网关地址那个不要添加,添加范围 56.56.56.2-30)。

SolusVM Add IPv4 Range

获取 & 同步虚拟机系统模板

SolusVM 分发网络下载预构建 KVM 操作系统模板(还有一个单分区无 SWAP 的系统模板可以选择),复制页面里的下载链接登录到主控服务器下载。

下载后回到控制面板操作,菜单栏点击 Media -> Media Groups 创建一个 KVM Template 组。

之后 Media -> Add KVM Template 依次添加已经下载的系统模板,勾选随机生成 root 密码和自动配置网络,其它选项按系统模板下载页面里的说明设置。

SolusVM Add KVM Template

添加后会多出几个选项,建议点击回来查看。其中可以启用 CPU Model 选项使用 host-passthrough 模式,这样虚拟机可以看到宿主机的 CPU 型号,能提高指令兼容性和效率,而不是 QEMU 这种。

接下来 Media -> Media Sync 同步系统模板到节点服务器上。点击 Create 创建同步任务,选择系统模板和同步服务器,点击 Create Sync Job 提交。

SolusVM Media Sync

在 Jobs 界面查看任务进度,变为下图状态就同步完成了。

SolusVM Media Sync Job

添加不同配置的虚拟机产品

菜单栏点击 Plans -> Add KVM Plan,自定义虚拟机产品配置,选中可以使用的系统模板,完成添加。

SolusVM Add KVM Plan

添加用户账号

菜单栏 Client -> Add Client 添加一个测试用户账号。

SolusVM Add Client

开通虚拟机测试

菜单栏点击 Virtual Servers -> Add Virtual Server,点击 KVM,选择节点服务器和套餐。选择开通用户账号,设置主机名,分配 IP 和预装系统,点击创建虚拟机,之后显示虚拟机登录资料。

SolusVM Create Virtual Server

开通后等系统安装完成,大概10分钟左右吧。如无意外,SSH 连接上就可以开始使用了。

SolusVM Virtual Server Test

补充:开通虚拟机默认不分配内网 IP ,如有需要,可以按之前所说的步骤手动分配添加。

总结

上面文章为求详尽和具操作性写的比较多。对于新手而言,主要还是网络配置那块比较难,其它只要操作过程不遇到什么新问题,一般都能顺利部署好。如果想要熟悉 SolusVM 使用,建议花些时间看一遍官方文档,里面介绍的比较全面。SolusVM 运行起来后,接下来就是配置 HTML5 VNC 控制台连通 WHMCS 实现自主注册和开通了。以后有机会再写相关教程。

评论列表

  1. #1

    dapoxetine 30mg https://salemeds24.wixsite.com/dapoxetine

  2. #2

    treating heartworms with ivermectin https://ivermectin.webbfenix.com/

  3. #3

    bimatoprost generic eyelash https://carepro1st.com/

  4. #4

    chloroquine and hydroxychloroquine trials https://hydroxychloroquine.mlsmalta.com/

  5. #5

    cialis super active medpharssdf http://www.lm360.us/

  6. #6

    can vidalista be taken daily https://vidalista.buszcentrum.com/

  7. #7

    100mg viagra without a doctor prescription http://droga5.net/

  8. #8

    vidalista 5mg costco https://vidalista.mlsmalta.com/

  9. #9

    hydroxychloroquine study https://hydroxychloroquine.webbfenix.com/

  10. #10

    ivermectin and covid 19 treatment https://ivermectin.mlsmalta.com/

  11. #11

    priligy 90 mg india https://ddapoxetine.com/

  12. #12

    does more vidalista work better https://vidalista40mg.mlsmalta.com/

  13. #13

    cialis no prescription https://tadalafili.com/

  14. #14

    does hydroxychloroquine help covid https://hhydroxychloroquine.com/

  15. #15

    generic cialis fast shipping https://wisig.org/

  16. #16

    amstyles.com https://amstyles.com/

  17. #17

    malaria drug used to treat coronavirus https://hydroxychloroquinee.com/

  18. #18

    plaquenil eye exam guidelines 2019 https://hydroxychloroquine.lm360.us/

  19. #19

    plaquenil eye exam guidelines 2019 https://hydroxychloroquine.grassfed.us/

  20. #20

    original viagra pills https://viaplz.com/

  21. #21

    buy cialis without seeing doctor http://cialllis.com/

  22. #22

    other names for cialis generic https://cialzi.com/

  23. #23

    get prescription refills online https://edmeds.buszcentrum.com/

  24. #24

    get prescription refills online https://medpills.bee-rich.com/

  25. #25

    how long does tadalafil last https://tadalafil.cleckleyfloors.com/

  26. #26

    buy vidalista http://vidallista.com/

  27. #27

    buy ivermectin pills without prescription http://ivermmectin.com/

  28. #28

    what states are using hydroxychloroquine https://hydroxychloroquine4u.com/

  29. #29

    where to order tadalafil online safe https://cialis.confrancisyalgomas.com/

  30. #30

    where to order tadalafil online safe https://cialis.mrdgeography.com/

  31. #31

    zithromax 500 mg tablet http://aziithromycin.com/

  32. #32

    I am extremely impressed with your writing abilities and
    also with the format in your blog. Is that this
    a paid theme or did you customize it your self?
    Either way stay up the excellent high quality writing, it’s
    rare to look a nice blog like this one these days.. https://cialis360.jueriy.com/tadalafil

  33. #33

    It’s going to be end of mine day, except before
    ending I am reading this impressive article to improve my knowledge. https://hydroxychloroquineg.grassfed.us/

  34. #34

    I constantly spent my half an hour to read this webpage’s articles daily along with a
    mug of coffee. https://hydroxychloroquinel.lm360.us/

  35. #35

    I am not sure where you are getting your info, but good topic. I must spend a while learning more or figuring out more. Thanks for magnificent information I used to be searching for this information for my mission.

    http://www.vreyrolinomit.com/

  36. #36

    Great blog here! Also your website loads up very fast!
    What host are you using? Can I get your affiliate link to your host?
    I wish my website loaded up as fast as yours lol http://www.deinformedvoters.org/vidalista-online

  37. #37

    https://www.tanhu.com.tr

  38. #38

    google buy hacklink services instagram.

    https://sproutsocial.com/insights/buy-instagram-likes/

  39. #39

    how to purchase cialis http://edonline.online/

  40. #40

    generic tadalafil prices https://cialis.mlsmalta.com/

  41. #41

    google buy hacklink services instagram.

    https://www.influencive.com/10-best-sites-to-buy-instagram-likes-real-and-safe/

  42. #42

    google buy hacklink services instagram.

    https://www.influencive.com/10-best-sites-to-buy-instagram-likes-real-and-safe/

  43. #43

    google buy hacklink services instagram.

    https://buzzoid.com/buy-instagram-likes/

  44. #44

    buy hydroxychloroquine online https://hydroxychloroquinex.com/

  45. #45

    google buy hacklink services tiktok.

    https://www.tiktokrush.com/buy-tiktok-likes-now/

  46. #46

    google buy hacklink services youtube and social media.

    https://youtubemarket.net/en/buy-youtube-views

  47. #47

    google buy hacklink services instagram and social media.

    https://buzzoid.com/buy-instagram-views/

  48. #48

    google buy hacklink services instagram and social media.

    https://blastup.com/buy-instagram-views

  49. #49

    google buy hacklink services instagram and social media.

    https://sproutsocial.com/insights/buy-instagram-likes/

  50. #50

    google buy hacklink services instagram and social media.

    https://sproutsocial.com/insights/buy-instagram-likes/

  51. #51

    google buy hacklink services facebook and social media.

    https://www.fbpostlikes.com/

  52. #52

    you could have an excellent blog right here! would you prefer to make some invite posts on my weblog?

    https://www.youtube.com/watch?v=1fjWgYz9egs

  53. #53

    Yeah bookmaking this wasn’t a risky determination great post! .

    https://www.youtube.com/watch?v=KrEgYrXD9SI

  54. #54

    this web site best buy hacklink services and twitter and tiktok services.

    https://www.tiktokpalace.com/tiktok/likes

  55. #55

    google buy Instagram hacklink services.

    https://www.influencive.com/8-best-sites-to-buy-instagram-comments-real-and-authentic/

  56. #56

    cialis 5mg price canada cialis pills for men cheap brand cialis online http://www.tadalafill.online/

  57. #57

    generic vidalista eli 20 http://viidalista.co/

  58. #58

    google buy tiktok hacklink services.

    https://venturebeat.com/2021/01/23/how-to-buy-tiktok-followers-that-are-real-and-active/

  59. #59

    Have you ever heard of second life (sl for short). It is essentially a video game where you can do anything you want. SL is literally my second life (pun intended lol). If you would like to see more you can see these Second Life authors and blogs

    kellimcgraw.com/2009/06/

  60. #60

    Have you ever heard of second life (sl for short). It is basically a video game where you can do anything you want. sl is literally my second life (pun intended lol). If you want to see more you can see these Second Life websites and blogs

    http://www.jdhamrick.com/what-to-wear-to-a-professional-conference/

  61. #61

    google buy instagram hacklink services.

    https://blog.hubspot.com/marketing/buy-instagram-followers

  62. #62

    google buy instagram hacklink services.

    https://buzzoid.com/buy-instagram-likes/

  63. #63

    Buy Instagram followers, get instant delivery, and grow your brand We help you get real followers for your Instagram account, so you can reach a bigger audience.

    https://likes.io/buy-instagram-followers

发表评论

电邮地址用于 Gravatar 头像显示,不会被公开可见。