SolusVM相信经常买OneManIDC小鸡的人来说,都不会很陌生吧,市面上很多小学生IDC都是用的这套系统,我们在开始之前,先简要介绍一下SolusVM。
SolusVM是一套国外的服务器虚拟化管理软件,主要分为主控(Master)、被控(Slaves)两个部分。主控提供图形化的WEBUI用来控制被控,主控一般情况下,我们可以随便找一台VPS安装,但被控则必须安装在独立服务器内。另外主控可以控制多个被控,实现虚拟化集群管理等一系列功能。
SolusVM不是一款免费的软件,它的授权价格是主控10刀一月,被控2.5刀一月。请注意被控数量可以无限制的购买,2.5刀一月是单价。也就是说,如果你打算在一台独立服务器上开小鸡,那么你一个月最少就要用12.5刀。如果你有多台独立服务器则需要再另外买被控授权。另外,SolusVM官方提供30天的免费试用授权,试用授权提供一个主控+5个被控,如果你是新手,可以先申请一个免费的授权使用。
如果你能把这篇文章接下来所写的内容全部都学会,那么你已经具备做一个OneManIDC的能力了,如果你真的打算做IDC了,千万别给OneMan这个词丢脸哦,要知道OneManIDC也有做的很不错的,但如果你做不好,难免就要被人称呼为“小学生IDC”了,这取决于你对这个行业的热情和诚信。
本文所使用的环境:
Hetzner独立服务器X1
LinodeVPSX1
CentOS7X64
首先我们来安装被控,我们登录到Hetzner后台,激活救援模式:
然后还是和往常一样,执行硬重启:
重启完成后,使用Xshell,登录到救援系统内,执行命令:
installimage
如图所示:
选择CentOS:
选择7.4版本:
做RAID0:
接下来到了一个非常关键的地方了,就是使用LVM进行硬盘分区,我们需要注意的是SolusVM只需要我们创建卷组(VG)即可,剩下的硬盘空间SolusVM会根据虚拟机所需的硬盘大小来自动划分。所以我们分区的时候,只把CentOS必要的文件系统分出来,其他的空间全部不划分,如图所示:
确认你的分区配置没问题后,按键盘F10,保存然后就是按几个回车,程序就会自动帮你装系统了。安装完成后,执行命令重启:
reboot
如图所示:
重启完成后,就可以登录到刚新装的CentOS7内了,可以看到硬盘只划分了100G,我这台独立服务器是6T的硬盘,剩下的容量这里都没有显示挂载,那么就是正常的:
现在我们就可以在这台独立服务器内安装SolusVM被控了,执行如下两条命令即可开始安装:
wget https://files.soluslabs.com/install.sh sh install.sh
看到如下界面后,因为我们是要开KVM的机器,然后我们要装的是被控,所以这里我们键入2回车:
接下来就是等了,大概5分钟左右,安装就可以完成,成功后会回显给你这台被控的KEY和密码信息,这两个信息务必要妥善保管:
如果你是开OpenVZ的小鸡,那么可以说SolusVM是开箱即用的,但我们要开的是全虚拟化的KVM,这里我们就还需要手动配置网卡的桥接。在Hetzner的独立服务器上,我这里给出一个可行的桥接方案。(不保证在别的独立服务器上也可用,因为每个服务器的网络环境都不同)
安装桥接依赖,这个其实SolusVM自动安装的时候应该是已经装好了的:
yum -y install bridge-utils
开ipv4转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
新建一个桥接网卡命名为br0
vi /etc/sysconfig/network-scripts/ifcfg-br0
写入:
DEVICE=br0 TYPE=Bridge BOOTPROTO=none IPADDR=你的服务器公网IP NETMASK=子网掩码 SCOPE="peer 你的服务器网关地址" ONBOOT=yes DELAY=0 IPV6INIT=yes IPV6ADDR=你的服务器IPV6地址/64 IPV6_DEFAULTGW=fe80::1 IPV6_DEFAULTDEV=br0
注:上面这些需要修改的信息,可以查看你默认的公网网卡得到,把相应的信息改好就行了。
因为Hetzner用的是路由模式,和很多大众机房联网的方式不一样,所以还要新建一个路由:
vi /etc/sysconfig/network-scripts/route-br0
写入:
ADDRESS0=0.0.0.0 NETMASK0=0.0.0.0 GATEWAY0=你的服务器网关地址
接着重启网络服务,这一步非常关键!一定要先重启一遍,让机器能够识别出我们新加入的网卡信息:
/etc/init.d/network restart
然后查看你现有公网IP的那个网卡名是什么:
ifconfig
可以看到我这台的名字是enp4s0,另外我们之前新配置的br0网卡也能在这里显示出来了:
接着我们修改原来默认的公网网卡配置:
vi /etc/sysconfig/network-scripts/ifcfg-enp4s0
清空这个配置文件,把里面的内容替换成:
DEVICE=enp4s0 HWADDR=你的机器MAC地址 IPV6INIT=yes ONBOOT=yes BRIDGE=br0
注:MAC地址就是你主网卡的MAC地址,我这里的就是enp4s0的MAC地址,用ifconfig查看,ether后面的值就是MAC地址。
接着我们再重启一次网络服务:
/etc/init.d/network restart
这样我们就把机器的桥接配置好了,最终的网卡信息现在应该是这样的:
至此,SolusVM的被控端我们就配置完成了,接下来是主控的安装。
首先我们要把主控装到另外一台VPS上,我个人建议主控和被控的网络连通性要比较好才行,以免后期在生产环境的时候出现一些不必要的麻烦。比如我现在的被控是一台德国机器,那么用来搭建主控的VPS最好也是德国的,所以我这里选择把主控装在Linode的德国机房。
安装主控和安装被控需要执行的命令是一模一样的:
wget https://files.soluslabs.com/install.sh sh install.sh
只不过在Linode上,因为系统比较精简,可能连wget都没有,所以先装一个wget:
yum -y install wget
OK,你现在应该可以顺利看到一个熟悉的界面,只不过这次我们要选择1:
稍等片刻,程序安装完成后,会回显给你主控面板的各类信息,如图所示:
默认的管理员账号密码都是vpsadmin,
我们登录进去首先要输入授权码,授权成功后如图所示:
接着更改系统默认的管理员密码:
现在我们就需要把主控和被控进行对接了。首先点击Nodes-Add Node,然后按如下图格式填写:
注:
1、LV Group这个值,一定要填写和我们之前分区指定的名字一样,我最开始配置LVM的时候,用的卷组名就是vg0,所以这里也要填vg0,如果你不是用的这个名字,就要自行更改。
2、IP地址填你的独立服务器IP地址,也就是被控的IP地址。
3、KEY和密码就是之前你装被控完成后回显给你的那些信息。
被控添加完成后,我们现在来加下IP。首先点击IP Blocks-Add IPv4 Block,然后按如图填写:
注:
1、在这个配置里面,只需要注意把Gateway(网关)IP填写正确即可,这个网关IP就是之前被控网卡配置文件route-br0里面的IP地址。
2、Node这里一定要勾选上我们刚才新添加的,这里我是HZE36T。
现在我们就可以在这个IP Blocks里面加IP了:
这里有一个问题,由于Hetzner的IP策略是IP必须绑定一个MAC地址的,所以我们在SolusVM后台配置这里不能用自动生成MAC的模式,一定要把MAC改成Hetzner绑定的那个。
首先我们在Hetzner后台找到你买的IP,后面有一个电脑的小图标,点击它:
这样Hetzner就会给这个IP绑定一个物理的MAC地址,如图所示:
然后我们就可以把这个MAC地址绑定到我们刚添加的IP上了,首先点击如图所示位置:
添加一下即可:
现在我们来准备一些KVM系统模版,SolusVM官方默认是提供一些系统模版的,我们可以到这里查看:
https://tdn.solusvm.com/
假设这里我要配置一个CentOS7的模版,就在主控服务器内执行如下命令:
wget http://templates.repo.onapp.com/solusvm/kvm/linux-centos-7-x86_64-minimal-latest.gz -O /home/solusvm/kvm/template/linux-centos-7-x86_64-minimal-latest.gz
接着回到SolusVM的后台,点击Media-Add KVM Template,按如图所示填写相应的信息:
注:
1、Generation这个值默认是1,但我们一定要改成2,否则虚拟机无法正常开机。
2、Disk Driver一定要选择virtio。
3、Arch一定要选择x86_64,因为我们的系统模版是基于64位架构制作的。
4、建议开启CPU Model,并把模式改为host-passthrough。我个人是极其讨厌买到手的KVM机器查看CPU信息查不到型号的,所以用这个模式可以直接把母鸡的CPU型号暴露在虚拟机内,虚拟机内可以直接显示母鸡所使用的具体CPU型号。
OK,在添加好了系统模版后,我们还需要把现有的这些系统模版同步到被控中去,因为现在的这些模版文件都还在主控端上。
点击Media-Media Sync,选中我们要同步的模版,然后选中要同步的被控,提交即可:
稍等片刻,一旦这里显示Completed,即代表模版同步完成:
现在我们就可以来添加一个虚拟机套餐了,点击Plans-Add KVM Plan,按你自己的需求设置一个合适的套餐:
注意,下面这个模版一定要选择,否则客户在面板里面找不到可以重装的系统:
现在我们就可以来尝试开通一台KVM架构的VPS了,需要注意的是,在SolusVM的后台中,开设VPS必须要创建一个用户账户,点击左侧的Add Client,填写相应信息即可:
接着点击Virtual ServersAdd-Virtual Server,如图选择KVM架构:
选择我们刚创建的套餐:
设置主机名、操作系统:
VPS就创建好了:
稍等片刻儿,用户在前台也能管理VPS了:
最后使用Xshell登录我们创建的小鸡内,跑一个测评脚本:
Very nice,一切都是如此的美妙~
写在最后:
这套开VPS的方案,可以说就是目前最成熟,也最简单方便的了。然后你们可以自己脑补一下,花点钱买套WHMCS主机皮,或是找人定做一套,然后找人买几个便宜的C段,然后找机房托管几台机器,然后把IP路由一下,最后再按照我这篇文章的操作把SolusVM配置好并与WHMCS对接。你也可以做IDC。
本来不想花时间写这些东西的,但是既然IDC的门槛已经这么低了,那就不如让它再低一点,反正做这行,小打小闹谁都可以做,但是真想做规模的话,没几个能做的出来。