同步发表于 个人博客
最近没事闲的摇身一变成oneman,给小鸡装vt装麻了,水篇文章记录下
前提
almalinux8或者centos7都可以直接照抄,我是一直用的almalinux8
开始
首先更个新
yum update -y
然后开个心 单押skr
echo "152.53.53.249 api.virtualizor.com" >> /etc/hosts
sudo chattr +i /etc/hosts # 锁定hosts
创建虚拟磁盘
这时候创建的磁盘就是待会开lxc小鸡时,小鸡用的硬盘。创建的硬盘是一个弹性硬盘,也就是一开始的占用大小为0,所以可以大幅超售😋
#不占空间,写个80G
dd if=/dev/zero of=/lxcdisk.img bs=1M seek=80000 count=0
losetup /dev/loop0 /lxcdisk.img
#加入开机启动
echo "losetup /dev/loop0 /lxcdisk.img">>/etc/rc.local
chmod +x /etc/rc.local
#分区
fdisk /dev/loop0
分区时的交互操作跟着下图来就好,空着的地方直接回车

然后运行partprobe刷新磁盘,报错不用管。然后,运行以下命令给硬盘添加新的卷,第二个命令执行后输入y确认。lxcDisk01只是卷名,可以随便起,只能英文加数字应该是,跟之后的一个地方相同就好
yum install lvm2 -y
pvcreate /dev/loop0
vgcreate -s 32M lxcDisk01 /dev/loop0
重启后虚拟磁盘可能挂载会掉,请输入
losetup /dev/loop0 /lxcdisk.img
安装Virtualizor
执行如下命令,将email后换成自己的,安装后输入y确认重启。
wget –N http://files.virtualizor.com/install.sh
chmod 0755 install.sh
./install.sh [email protected] kernel=lxc
使用https://ip:4085或http://ip:4084访问vt管理面板,账密是root和root的密码
添加存储
打开Virtualizor Admin Panel -> Storage -> Add Storage,按下面介绍填写并提交。
Name:随意
Server:localhost
Storage Type :LVM
Storage Path: 储存路径(LVM卷组路径,如果用我上面的那种的话就填/dev/lxcDisk01)
Overcommit:虚拟盘有多大写多大,这里是80
Alert Threshold: 告警(就是如果硬盘占用超过这个值就会提示你,一般不变就行了)
Primary Storage: 如果你只有这一个硬盘请勾选,否则WHMCS开机器会报错

安装虚拟网卡
虚拟网卡用于小鸡的端口转发等网络通讯,类似于交换机。
首先,安装libvirt,并启用他:
yum install libvirt -y
systemctl enable libvirtd
systemctl start libvirtd
然后我们会使用如下例子创建NAT环境:
Network: 10.0.0.0
Netmask: 255.0.0.0
Prefix: 8
Gateway: 10.0.0.1
Usable IPs: 10.0.0.100 to 10.0.0.250
vi /etc/libvirt/qemu/networks/HAProxy.xml并写入如下内容:
<network>
<name>HAProxy</name>
<forward mode='nat'/>
<bridge name='HAProxy' stp='on' delay='0' />
<ip address='10.0.0.1' netmask='255.0.0.0'>
</ip>
</network>
然后运行下面命令启用他:
virsh net-define /etc/libvirt/qemu/networks/HAProxy.xml
virsh net-autostart HAProxy
virsh net-start HAProxy
如果在执行最后一条命令遇到如下错误:

请运行ifdown eth1后重新运行virsh net-start HAProxy。
打开Virtualizor Admin Panel -> IP Pool -> Create IP Pool,按照下图填写并提交。

下载系统镜像
打开Virtualizor Admin Panel -> Media -> OS Templates Browser,Type选LXC,勾上你想要的,提交。开心版系统少正常。

设置端口转发
记得划到最下面保存设置


设置完这两个地方,对接了whmcs之后就可以在用户端面板设置端口转发了。
这个时候,还需要执行一条iptables指令,才能让VPS正常联网:
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
或者 下面的没测过,也许行,建议上面那个,因为你一开始设置的内网ip是10开头的
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j MASQUERADE
对接whmcs
创建一个plan,之后要是想设置不同配置的产品的话创建新的plan即可。

这里要提一下的是CPU Units,这是类似优先值的概念,比如你开了两台小鸡,一台CPU Units设置为1000,另一台设置为2000,那么当CPU跑满的时候 第一台会占有1000 / (1000+2000)的CPU资源,第二台会占有2000 / (1000+2000)的CPU资源 CPU%是指占所有核心的百分数,比如你有四个核心,想要VPS最多用一半的性能,你可以设置CPU%为50,那么他最多使用 2 ÷ 4 x 100 = 50 (CPU%)
下载Virtualizor_For_WHMCS插件,上传到/path/to/whmcs/modules/servers/目录。
进入WHMCS管理面板->设置->产品/服务->服务器设置


点击下方的测试连接,如果报错FAILED: Could not connect to Virtualizor.Please make sure that all Ports from 4081 to 4085 are open on your WHMCS Server or please check the server details entered are as displayed on Admin Panel >> Configuration >> Server Info -- Can not get any response from admin panel. Please check ip:port可以重置一下api keys,再把新的key和pass填进去,一般就可以了。测试连接成功后会给你蹦出来个更详细的界面,这上面信息你看着填就行,主机名要和ip一样,最后点保存就好
创建产品
产品/服务–>新增分组,新增产品。要先有分组才能新增产品。




ok,现在产品就配置完毕啦!
收尾
写入必要的开机启动项,vi /etc/rc.local加入以下一行
virsh net-start HAProxy
almalinux相关报错
yum安装时出现“Error: GPG check FAILED”报错,解决方案如下,直接导入新gpg key即可:
rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
建议先安装Virtualizor再添加虚拟硬盘,有的机子装vt会报错,有可能加虚拟硬盘结果白忙活
virtualizor伪授权服务器请改为 152.53.227.142 小埋换服务器了
现在开心版vt无法在面板中下载镜像,解决方案请看:https://www.nodeseek.com/post-441926-1
@买买鸡 #6 其实成本不高,主控机只需要性能别太差,能用php和mysql基本就行,支付接口我现在用的是3%费率,因为卖的小额四舍五入就是没费率,整体来说花销最大的还是买用来卖的母鸡
@skyandy #31 系统的问题,不是vt问题
https://www.cnblogs.com/ifantastic/p/4565822.html
加精
顺便问一下centos7还可以用吗?上两天在别人用了下好像yum什么源都提示找不到了
其它如debian系统可以吗?
@semyes #1 其他系统稍微替换一些指令应该就可以,centos7找那些还在维护的源吧,停止维护太久了实在是
@semyes #1 centos7 自己换下源就行,有个一键可换
学习了
楼主太厉害了 ,我也想玩oneman,是不是得先买个大母鸡、再买个whmcs、再买一堆支付接口啊?听起来成本不小啊
可以开kvm架构的吗?
@Love爱 #7 可以,安装vt时把kernel后面的lxc改成kvm就行,剩下的步骤我觉得应该都差不多,我在文档里也看到过同一台母鸡同时开lxc和kvm的配置
这个论坛有过类似的教程,确实是可行,只是后面lxc自动分配尝试添加ipv6没成功,不知道楼主能不能研究补充这部分的内容。