利用Virtualizor开LXC NAT VPS

网上很多教程都已经过时了,因此在作者踩坑后,决定重新写一篇具体教程。本文所介绍的方法,无需重新分区,但是需要您尽可能保证服务器不重启,重启后需要手动开机LXC VPS。

一:准备服务器环境
我们在本篇文章中使用CentOS7作为演示系统,当然,Almalinux8同样可以。在执行操作前,作者建议您备份所有数据。

首先,运行yum update -y来更新系统软件包版本,以避免一些奇葩错误。

之后,我们将会创建一个raw格式的虚拟磁盘,并挂载到您的系统上,命令如下:(下面的seek=后跟的是您想要创建的磁盘大小,这里大约是20G,这个命令会创建一个松散文件,不会占用您的磁盘空间,它会随着写入数据而增大。)(想超售?那就拉大虚拟磁盘)

dd if=/dev/zero of=/lxcdisk.img bs=1M seek=20000 count=0
losetup /dev/loop0 /lxcdisk.img

完成后,运行lsblk应该会看到如下图所示loop设备:

然后,分区,fdisk /dev/loop0,执行如图操作,空的地方直接回车使用默认值就好。

之后,运行partprobe 刷新磁盘。完成后,运行下面命令创建必要卷组,需要确认请输入y。

pvcreate /dev/loop0
vgcreate -s 32M VolGroup01 /dev/loop0

 

二:安装Virtualizor

wget –N http://files.virtualizor.com/install.sh
chmod 0755 install.sh
./install.sh email=your@email.com kernel=lxc

添加存储:打开Virtualizor Admin Panel -> Storage -> Add Storage,按下面介绍填写并提交。

Name:随意
Server:localhost
Storage Type :LVM
Storage Path: 储存路径(LVM卷组路径,如果用我上面的那种的话就填
/dev/VolGroup01
)
Overcommit:虚拟盘有多大写多大
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.2 to 10.0.0.50

nano /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 。

打开Admin Panel > IP Pool > Create IP Pool,按照下图填写并提交。

成功后打开List IP Pool,应该看到如下如所示:

四:下载系统镜像

打开Virtualizor Admin Panel -> Media -> OS Templates Browser,Type选LXC,勾上你想要的,提交。

等镜像下完,就可以开VPS了。

五:开VPS

创建计划,Plans -> Add Plan,按照自己实际情况写就好,这里给一个我的例子。

然后,Virtual Server -> Create VPS,选择你的计划,创建就好,这里也给一个例子。

然后确认,等进度条滚完,就开好了。

这个时候,还需要执行一条ipt指令,才能让VPS正常联网:

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE

六:必要的开机启动项

打开/etc/rc.local,加入下面几行:

losetup /dev/loop0 /lxcdisk.img
virsh net-start HAProxy

 

以上为原创博客:https://blog.dann.top/virtualizor-lxc-nat-vps/ 提供

因为他网站打不开了,我找了快照重新发布一下

 

疑难杂症:

1.提示:Note :  The viifbr0 is not started. Please runservice virtnetwork start

解决方案:

sudo ip link add viifbr0 type bridge
sudo ip link set dev viifbr0 up

2开机卡进度 最后失败解决办法:

apt install kpartx -y
sudo apt install libyajl2
sudo apt install libpcre3

查看是否安装:

dpkg -l | grep kpartx

debian系统登陆不上解决办法

nano /etc/pam.d/common-password

pam_unix.so obscure yescrypt改成sha512

THE END