买一台服务器,自己做成多个 VPS,资源自己掌控,想分几个分几个
一、这样做划算吗?先算笔账
很多人在问:“自己买服务器做 VPS 卖,能赚钱吗?” 答案是:用对方法,成本比从云厂商买低 40%-60%。
5 年成本对比(以 64G/8 核配置为例):
| 方案 | 5 年总成本 | 说明 |
|---|---|---|
| 买物理服务器自建 | 约 1.2 万元 | 硬件一次性投入 + 电费 + 带宽 |
| 租用同等性能云 VPS × 8 台 | 约 3-5 万元 | 每月付租金 |
适合自己做的场景:
-
手头有闲置的高配电脑/服务器
-
需要完全控制数据(私有云)
-
想学习虚拟化技术
-
做开发测试环境,需要随时创建/销毁虚拟机
不建议自己做的场景:
-
只有 1-2 个小网站 → 直接买现成 VPS 更省事
-
没有固定公网 IP → 很难让外部访问
二、准备工作:硬件要求和选购指南
2.1 服务器硬件要求
把物理机变成多台 VPS,关键是 CPU 必须支持虚拟化。
| 硬件 | 最低要求 | 推荐配置(8 台 VPS) | 说明 |
|---|---|---|---|
| CPU | 4 核 + VT-x/AMD-V | 16-32 核(如 Intel Xeon) | 必须开启虚拟化指令集 |
| 内存 | 16GB ECC | 64-128GB ECC | 每台 VPS 预留 4-8GB |
| 硬盘 | 256GB SSD | 1-2TB NVMe SSD + RAID 10 | I/O 影响虚拟机响应速度 |
| 网络 | 千兆网卡 | 双千兆/万兆网卡 | 建议双网卡做冗余 |
| 主板 | 普通主板 | 服务器主板 | ECC 内存需要服务器主板支持 |
选购建议:
-
预算有限:去闲鱼淘二手服务器,比如 Dell R720、R730(约 2000-4000 元)
-
正经使用:买 Dell PowerEdge、HPE ProLiant、浪潮等品牌服务器
-
练手学习:用家里的旧电脑就行,只要 CPU 支持虚拟化
2.2 检查你的 CPU 是否支持虚拟化
在 Linux 下执行:
bash
egrep -c '(svm|vmx)' /proc/cpuinfo -
输出 大于 0 → 支持虚拟化
-
输出 0 → 不支持,需要换 CPU
在 Windows 下:打开任务管理器 → 性能 → CPU,看"虚拟化"是否显示"已启用"。
2.3 到底选哪种虚拟化方案?
| 方案 | 难度 | 性能 | 管理界面 | 适合谁 |
|---|---|---|---|---|
| Proxmox VE | 高 | 强烈推荐,最适合新手 | ||
| KVM 命令行 | 极高 | 熟悉 Linux 的老手 | ||
| VMware ESXi | 高 | 愿意折腾、想学企业技术 | ||
| VirtualBox | 低 | 在 Windows 上练手,不适合生产 |
新手首选 Proxmox VE:基于 Debian + KVM,装完就能用浏览器管理,创建 VPS 点几下鼠标就行。
三、方案一:新手推荐 ------ Proxmox VE(Web 界面管理)
3.1 下载和安装 Proxmox VE
第一步:下载 ISO
去官网下载 Proxmox VE ISO 镜像:https://www.proxmox.com/downloads
第二步:制作启动盘并安装
-
用 Rufus(Windows)或
dd命令(Linux/Mac)把 ISO 写入 U 盘 -
服务器从 U 盘启动,进入安装界面
-
按提示选择:硬盘、国家、时区、密码、邮箱
-
关键步骤:配置网络时,记住系统显示的访问地址,例如
https://192.168.1.100:8006
第三步:登录 Web 管理面板
安装完成后,在浏览器输入 https://服务器的IP:8006,用刚才设置的 root 密码登录。
3.2 上传系统镜像(ISO)
在创建 VPS 之前,先把要安装的操作系统 ISO 文件传上去。
-
左侧菜单点击 local (pve) → ISO Images
-
点击 Upload 按钮
-
选择你的 ISO 文件(Ubuntu、Debian、CentOS、Windows 等)
-
等待上传完成
如果没有 ISO 文件:可以在创建虚拟机时选择"从网络下载",填入 ISO 直链。
3.3 创建第一台 VPS(虚拟机)
登录 Proxmox Web 界面后:
-
点击右上角 Create VM
-
General:填写 VM ID(自动生成)和名称(如
vps-web-01) -
OS:选择你上传的 ISO 镜像,操作系统类型选 Linux
-
System:保持默认(BIOS 选 SeaBIOS)
-
Disks:硬盘大小,建议 20-50GB,存储选
local-lvm -
CPU:核心数,每台 VPS 建议 2-4 核
-
Memory:内存,建议 2-4GB(最低 1GB)
-
Network:网卡模型选 VirtIO(性能最好),防火墙暂时不开
-
确认信息,点击 Finish
创建完成后,在左侧列表会看到新 VPS,点击它进入管理页面。
3.4 启动 VPS 并安装系统
-
选中 VPS,点击右上角 Start
-
启动后,点击 Console 进入 VNC 控制台
-
按照正常的系统安装流程操作
-
安装完成后,VPS 就做好了
3.5 配置网络:让 VPS 能被外网访问
这是最关键的一步------让你的 VPS 能被互联网访问。
方案 A:桥接模式(推荐)
VPS 直接获得和宿主机同网段的 IP,就像一台独立服务器。
配置步骤:
-
在 Proxmox 节点上,编辑
/etc/network/interfaces -
确保有类似这样的配置:
text
auto vmbr0 iface vmbr0 inet static address 你的公网IP netmask 255.255.255.0 gateway 你的网关 bridge_ports eno1 bridge_stp off bridge_fd 0 -
创建 VPS 时,Network 选择
vmbr0 -
VPS 内部配置同网段的 IP 地址
方案 B:NAT 模式(没有多余公网 IP 时用)
如果只有一个公网 IP,需要做端口转发。VPS 使用内网 IP(如 10.0.0.x),宿主机把端口映射过去。
例如:把宿主机的 10022 端口转发到 VPS 的 22 端口(SSH):
bash
iptables -t nat -A PREROUTING -p tcp --dport 10022 -j DNAT --to-destination 10.0.0.2:22 3.6 重复创建多台 VPS
按照 3.3-3.5 的步骤,重复创建你需要的 VPS 数量。每个 VPS 都可以选择不同的操作系统和配置。
四、方案二:进阶玩家 ------ KVM 命令行(极致性能)
如果你追求极致性能,或者想深入理解虚拟化原理,可以用 KVM 命令行。KVM 性能接近物理机,资源开销比 Proxmox 小约 12%。
4.1 安装 KVM
Ubuntu/Debian 系统:
bash
sudo apt update sudo apt install qemu-kvm libvirt-daemon-system virt-manager bridge-utils sudo systemctl enable --now libvirtd sudo usermod -aG libvirt $USER CentOS/RHEL 系统:
bash
sudo yum install qemu-kvm libvirt virt-install bridge-utils sudo systemctl enable --now libvirtd 4.2 创建网桥(让 VPS 能被外网访问)
编辑网络配置 /etc/netplan/01-netcfg.yaml:
yaml
network: version: 2 renderer: networkd bridges: br0: dhcp4: no addresses: [你的公网IP/24] gateway4: 你的网关 nameservers: addresses: [8.8.8.8, 8.8.4.4] interfaces: [eth0] # 替换成你的物理网卡名 ethernets: eth0: dhcp4: no 应用配置:
bash
sudo netplan apply 4.3 用命令行创建 VPS
bash
sudo virt-install \ --name=vps-01 \ --ram=4096 \ --vcpus=2 \ --disk path=/var/lib/libvirt/images/vps-01.qcow2,size=40 \ --os-type=linux \ --os-variant=ubuntu22.04 \ --network bridge=br0 \ --graphics vnc,listen=0.0.0.0 \ --cdrom /path/to/ubuntu-22.04.iso 参数说明:
-
--name:VPS 名称 -
--ram:内存大小(MB) -
--vcpus:CPU 核心数 -
--disk path:虚拟硬盘存放路径和大小(GB) -
--os-variant:操作系统类型 -
--network bridge:使用哪个网桥 -
--cdrom:安装 ISO 路径
4.4 管理 VPS 常用命令
bash
# 查看所有 VPS 状态 virsh list --all # 启动 VPS virsh start vps-01 # 关闭 VPS virsh shutdown vps-01 # 强制关闭 virsh destroy vps-01 # 删除 VPS virsh undefine vps-01 virsh destroy vps-01 # 先关机 rm -f /var/lib/libvirt/images/vps-01.qcow2 # 删除硬盘文件 # 进入 VPS 控制台 virsh console vps-01 五、两种方案对比与选择建议
| 对比项 | Proxmox VE | KVM 命令行 |
|---|---|---|
| 管理方式 | Web 界面,点鼠标 | 命令行操作 |
| 学习曲线 | 平缓 | 陡峭 |
| 创建一台 VPS 时间 | 3 分钟 | 10 分钟(熟悉后 2 分钟) |
| 性能开销 | 约 5-8% | 约 3-5% |
| 是否需要记命令 | 不需要 | 需要 |
| 快照/备份 | 界面一键操作 | 需手动执行 |
| 适合人群 | 绝大多数人 | 运维老手 |
建议:
-
个人/小团队自用、想省事 → 选 Proxmox VE
-
想做 IDC 卖 VPS、追求极致性能 → 选 KVM 命令行,或者用 Proxmox + 调优
六、网络配置补充:只有一个公网 IP 怎么办?
如果电信/联通只给了你一个公网 IP,所有 VPS 需要共享这个 IP。
解决方法:NAT + 端口转发
| 服务 | 宿主机端口 | 转发到 VPS |
|---|---|---|
| SSH | 10022 | VPS1:22 |
| SSH | 10023 | VPS2:22 |
| Web | 80/443 | 负载均衡器(Nginx) |
用 iptables 做转发:
bash
# 启用 IP 转发 echo 1 > /proc/sys/net/ipv4/ip_forward # 转发 SSH(宿主机 10022 → VPS1 的 22) iptables -t nat -A PREROUTING -p tcp --dport 10022 -j DNAT --to-destination 192.168.100.2:22 iptables -A FORWARD -p tcp -d 192.168.100.2 --dport 22 -j ACCEPT # 保存规则 iptables-save > /etc/iptables/rules.v4 七、运维与监控(一定要做)
7.1 硬盘满了怎么办?
Proxmox 支持在线扩容:
-
在 Web 界面选中 VPS → Hardware → 硬盘 → Resize
-
输入要增加的大小
-
进入 VPS 内部扩展文件系统:
bash
# 如果是 ext4 文件系统 sudo resize2fs /dev/sda1 # 如果是 xfs 文件系统 sudo xfs_growfs / 7.2 监控资源使用
Proxmox 自带监控:Web 界面直接看 CPU、内存、磁盘、网络图表。
统一监控多台 VPS:安装 Prometheus + Node Exporter。
在每台 VPS 上安装 Node Exporter:
bash
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz tar xvf node_exporter-*.tar.gz sudo ./node_exporter & 7.3 定期备份
Proxmox 自带备份功能:
-
选中 VPS → Backup → 添加备份任务
-
选择备份时间(如每天凌晨 3 点)
-
选择保留备份份数
手动备份命令:
bash
vzdump 101 --compress gzip --mode snapshot --storage local 八、常见问题与排错
Q1:VPS 启动不了,报错 “KVM not available”
原因:CPU 虚拟化未开启或 BIOS 没打开。
解决:
-
重启服务器进 BIOS
-
找到 Intel VT-x 或 AMD SVM,设为 Enabled
-
宿主机执行
egrep -c '(svm|vmx)' /proc/cpuinfo确认有输出
Q2:VPS 网络不通,宿主机能上网但 VPS 不行
排查步骤:
-
检查网桥配置:
brctl show看有没有 br0 -
检查 VPS 网卡:
virsh domiflist 你的VPS名 -
进 VPS 内部检查 IP 配置是否正确
-
测试连通性:
ping 网关IP
Q3:VPS 很慢,I/O 延迟高
原因:可能是硬盘 I/O 瓶颈。典型症状是 iostat -x 1 显示 await 超过 50ms。
解决:
-
换 SSD(机械硬盘是真不行)
-
检查是不是多个 VPS 同时在做大量磁盘读写
-
考虑加 RAID 10 提升 I/O 性能
Q4:可以用 Windows 做 VPS 吗?
可以。在 Proxmox 里安装 Windows Server 或 Windows 10/11 都行。
需要做的调整:
-
安装 VirtIO 驱动(网卡和硬盘驱动)
-
内存建议给 4GB 以上
-
可以在 Proxmox 下载 VirtIO ISO:
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/
九、总结:从零到 VPS 的最小行动方案
如果你是新手,做这一套就能跑起来:
| 步骤 | 操作 | 耗时 |
|---|---|---|
| 1 | 搞一台支持虚拟化的电脑(检查 CPU) | 1 天 |
| 2 | 下载 Proxmox VE ISO,制作 U 盘 | 10 分钟 |
| 3 | 安装 Proxmox(一路下一步) | 15 分钟 |
| 4 | 登录 Web 界面 https://IP:8006 | 1 分钟 |
| 5 | 上传 Ubuntu ISO,创建第一台 VPS | 5 分钟 |
| 6 | 启动 VPS,安装系统 | 10 分钟 |
| 7 | 配置网络桥接让 VPS 能被访问 | 5 分钟 |
你得到的结果:一台物理服务器上成功跑起来了第一个 VPS,可以像用云服务器一样 SSH 登录、部署网站、跑程序。