为什么是LXC
LXC是所谓的操作系统层次的虚拟化技术,与传统的HAL(硬件抽象层)层次的虚拟化技术相比有以下优势:
更小的虚拟化开销(LXC的诸多特性基本由内核特供,而内核实现这些特性只有极少的花费,具体分析有时间再说)
快速部署。利用LXC来隔离特定应用,只需要安装LXC,即可使用LXC相关命令来创建并启动容器来为应用提供虚拟执行环境。传统的虚拟化技术则需要先创建虚拟机,然后安装系统,再部署应用。
LXC跟其他操作系统层次的虚拟化技术相比,最大的优势在于LXC被整合进内核,不用单独为内核打补丁。
配置要求
据博主的观察,CentOS7下整套系统下来所要占用的内存大概在500M左右(包括系统),因此1G其实就可以开着玩了
硬盘占用大概5-7G
然而考虑到小鸡的硬盘,所以至少要15G
准备工作
LXC部署需要一个VG卷组,如果你的CentOS在拿到时已经分好区了(比如只有一个区占满了硬盘),则需要做一些改动:
CentOS下 调整根目录大小
创建部分可以按顺序参见:
CentOS下 改分区为LVM
CentOS下 创建VG卷组
安装BBR等加速(可选): VPS常用脚本合集
安装开始
安装要求
CentOS 7.x
磁盘划分
官方推荐的划分:
/ 80-100 GB 实际测试中只需要5-6G就可以将系统和常见的ISO装下了(CentOS7,8 Debian 7,8,9 Ubuntu16,18,20的64位各一份)
SWAP 4 GB + 这个我设置的是与内存相同,应该要随自己VPS的情况改变
存储 硬盘上剩余的所有空间 要创建为VG卷组,但是不应该创建逻辑卷(参考准备工作)
安装
- 打开Shell终端(例如PuTTY)并通过SSH连接到您的服务器。运行以下命令:
- wget –N http://files.virtualizor.com/install.sh
- chmod 0755 install.sh
- ./install.sh email=your@email.com kernel=lxc
Email的话不填真的暂时没发现啥问题,反正后面是用开心版,应该没事吧(写于2021-02-11日 本文章没改动就是还可以用,自行斟酌)
安装过程:
安装完之后重启:
顺便记录下API KEY和API Password(不记也行,后台也能看到)
PS:安装的日志文件位置为 /root/virtualizor.log
登录
URL如下:
https://Your-Server-IP:4085/
http://Your-Server-IP:4084/
管理面板样式:
账号root,密码是你vps的root账号的密码
管理面板
登录后,你应该可以看到管理面板:
端口
Virtualizor使用的端口为4081 – 4085,如果登不上可以考虑防火墙的问题
firewall-cmd --zone=public --permanent --add-port=4081-4085/tcp
创建存储
Virtualizor Admin Panel -> Storage -> Add Storage
Storage Type :储存类型 (LVM)
Storage Path: 储存路径(LVM卷组路径,如果用我上面的那种的话就填/dev/VolGroup01)
Overcommit:空间大小(剩余多大就填多大)
Alert Threshold: 告警(就是如果硬盘占用超过这个值就会提示你,一般不变就行了)
Primary Storage: 如果你只有这一个硬盘请勾选,否则WHMCS开机器会报错
构建NAT环境
创建虚拟网卡
CentOS后台输入:
vim /etc/sysconfig/network-scripts/ifcfg-intbr0
黏贴下面内容:
DEVICE=intbr0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
重启网络
service network restart
创建IP池
在Virtualizor的管理页面 IP Pool -> Create IP Pool
name 随意
Gateway 192.168.1.1
netmask 255.255.255.0
nameserver1/2 这个两个看心情,我选择Google
First IP 192.168.1.2
Last IP 192.168.1.254
Is Internal IP Range ? 重点!!!这个要打上勾,然后下面的这项才会出现
Internal IP Bridge 这里填刚刚创建的那个虚拟网卡名字 intbr0
其他不变,点保存
端口转发
暂时没找到很好的转发脚本,目前用的是doubi大佬的,但是每次重启都会失效,如果大佬有更好的欢迎评论留言
下载地址:iptables-pf.sh
最关键的一部
CentOS后台输入:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
PS:不执行会出现NAT机器可以进入,但是不能Ping外网,也没网的情况
激活系统
vi /etc/hosts
添加一行
150.95.9.226 www.virtualizor.com
保持退出
然后到面板的’Configuration’ -> ‘License Info page’ 上点击’Refresh License’
就可以看到系统已经激活到2099年了
PS:面板应该是可以正常更新的,没有影响
博主看到过有人发帖说自己装开心版被Virtualizor黑了,暂时未确认是否会被惩戒
截止至2021-02-11日,博主的VPS运行时间约5天,一切正常,后续会更新
创建镜像
很简单,进入virtualizor管理面板,点击 “Media”,然后点击 “Add ISO”。选择你想要的ISO下载就行了,对于国外小鸡官方节点很快,十几秒就下完了
到这里第一阶段的安装就结束了,接下来就是开小鸡了!
开通VPS
(如果你是打算使用WHMCS,则需要创建Plan,这步可以跳过)
后台点击“Virtual Servers -> Create Vps”,自己按需要填入,没什么难点,然后点击开通
这里要提一下的是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%)
创建Plan(模板)
面板点击”Plans” -> “Add Plan”
Plan Type选择LXC
别的按需要填写,关于CPU Units,CPU%的解释可以参考上一条
PS:这张图的版本比较老,有一些选项没有是正常的,不必在意
WHMCS部分
首先请先配置好Virtualizor服务器,安装WHMCS
下载这里的插件:Virtualizor_For_WHMCS7插件
下载这里的插件:Virtualizor_For_WHMCS8插件
将插件上传到目录: /path/to/whmcs/modules/servers/
保证Virtualizor服务器的4081 – 4085端口是打开的,不然会出现各种奇怪的错误
服务器配置
WHMCS管理面板->设置->服务器->添加新服务器
Key和KeyPass就是最开始安装的时候要记下的,如果没记下可以到Virtualizor面板的 ‘Configuration’ -> ‘Server Info’ 中找到
创建产品
产品
WHMCS面板的 Setup -> Products/Services -> Create a New Product
Product Group选中Virtualizor,名字自定,然后下一步
模块设置
模块名称和设置字段,如下图所示:
- Virtualizor Server :选择要在其中创建VPS的virtualizor服务器的类型。
- 类型 :选择使用的虚拟化类型。
- 选择计划 :选择您在virtualizor面板上创建的计划。
- 默认节点/组:选择服务器或节点组或任何单个服务器。(注意:[G]表示组)
PS:你要先选择了服务器和虚拟化类型,然后点一次保存,Plan才会出现下拉选择,如果没有请检查是否有创建Plan(上面有)
自定义字段
按照下面的表单填写:
还有一堆可配置选项,正常用不掉,有需要的可以参见我另一篇文章:
PS:Select Options可以根据服务器自定,系统的名字要和Virtualizor内系统模板的名字相同,vpsid一定要写上,不然会报MySQL的错误
PS:添加ISO和OS字段时,请添加“无”值。(参考上图)
结果
到这里,一切配置就完毕了,你可以化身自己的客户购买,然后就可以看到后台啦
PS:截图版本老旧,现在功能多很多了
存在的问题
在母鸡安装完Virtualizor后(未进行其他任何操作),IPV6就立刻无法Ping通了,因此一直没有使用IPV6