为 HomeLab 设置 Proxmox 的初学者指南!!
什么是 Proxmox? 🤔
Proxmox VE 是一个用于企业虚拟化的开源服务器管理平台。它在单个平台上紧密集成了 KVM 管理程序和 LXC、软件定义的存储和网络功能。借助基于 Web 的集成用户界面,您可以轻松管理 VM 和容器、高可用性集群或集成灾难恢复工具。 Proxmox VE 在 GNU Affero 通用公共许可证 (V3) 下,对于那些对社区支持感兴趣的人来说,有一个简单的订阅结构。简单性是 PVE 优于其他虚拟化解决方案的一大优势。即使是新手用户也可以在几分钟内完成设置和安装。最重要的是,因为它在 Debian 上运行,所以所有 Linux 经验都适用。
Proxmox 还使用 LXC 实现了基于容器的非 Docker 虚拟化。它提供了一个名为 pct 的小型包装器,我可以使用它在 ssh 到主机后连接到 LXC 容器,只需键入“pct enter 108”,其中 108 是容器的 ID。命令行可用于管理 VM,(QEMU ‘qm’ 命令,即 qm stop 105)。
Proxmox VE 提供实时迁移——将虚拟机或容器从一个集群节点移动到另一个集群节点,而不会中断服务。集群文件系统(“pmxcfs”)是一个数据库驱动的文件系统,用于存储配置文件,使用 Corosync 实时复制到所有集群节点。它用于存储所有 PVE 相关的配置文件,即
如果您不清楚 proxmox 的实际工作原理,那么此架构图将对您有所帮助⤏

最低要求
-
CPU:64 位(Intel EMT64 或 AMD64)
-
支持 Intel VT/AMD-V 的 CPU/主板(用于 KVM 完全虚拟化支持)
-
最低 8GB RAM(推荐 16+ 或尽可能多的(没有很酷的自托管的东西!))
-
硬盘
-
一个网卡
注意:如果您想将 proxmox 与任何其他虚拟化解决方案进行比较或寻找任何特定功能。看这里⤏Proxmox vs OtherVE
其他注意事项 - 对于 homelab,您可以使用旧电脑、笔记本电脑、任何迷你电脑,如(英特尔 NUC、惠普、联想、戴尔迷你电脑客户端(大约 200 - 300 美元))
所以,现在足够的介绍。让我们安装这个东西。
安装
-
Step1 - Pick You USB ( 8GB 大小 )
-
Step2 - 下载Proxmox VE ISO
-
Step3 - 下载balenaEtcher或Rufus
-
Step4 - 将您的 USB 放入您的 PC/笔记本电脑并使用任何一种启动工具
-
Step5 - 将您的 USB 放入您的 bareMetel 机器(确保配置引导顺序),它会显示 proxmox 的启动屏幕。
注意 - 如果您使用 Rufus,请确保使用DD mode。

安装后任务
- Proxmox 安装程序显示私有 IP(安装时),现在转到该 IP(IP:8006)并使用您的凭据(安装时设置)和 BANG ⤏ 您将看到自己的迷你数据中心控制台!
任务--1 删除订阅消息

# Proxmox 6.2 and UP
# STEP1 - ssh to your proxmox server
# STEP2 - go to this dir
$ cd /usr/share/javascript/proxmox-widget-toolkit/
# STEP3 - create a backup of you proxmoxlib.js
$ cp proxmoxlib.js proxmoxlib.js.bak
# STEP3 - now edit proxmoxlib.js
$ vim proxmoxlib.js
# Search for
Ext.Msg.show({
title: gettext('No valid subscription'),
# Replace with
void({
title: gettext('No valid subscription'),
# STEP4 - Restart preproxy service
$ systemctl restart preproxy.service
# To Check ( it'ss working or not )
$ grep -n -B 1 'No valid sub' proxmoxlib.js
# Note: After this clear browser cache and restart the browser
TASK--2 设置社区订阅回购
# Proxmox by default updates from subscription based repo, for without subscription based repo update. We need to do some extra steps:
# Edit /etc/apt/sources.list ( add this )
$ vim /etc/apt/sources.list
# Not for production use
deb http://download.proxmox.com/debian buster pve-no-subscription
$ cd /etc/apt/sources.list.d
$ mv pve-enterprise.list pve-enterprise.list.bak
$ vim pve-enterprise.list
# comment out this line : deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
# Update the system
$ apt update
# Distro upgrade
apt dist-upgrade
注意 - 现在您可以在将来更新您的 proxmox。
TASK--3 设置黑暗主题😎
# Github Repo for this Project: https://github.com/Weilbyte/PVEDiscordDark
# Download the Python Script & Run
$ wget https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.py
$ python3 PVEDiscordDark.py

- 注释 - 👏 感谢创作者👏(让眼球松了一口气!)
添加存储驱动器
- ZFS 池 - proxmox 和其他人建议使用 ZFS 池来存储您的 VMS(它为您提供更多性能和冗余)
# Setup
# List Drives
$ ls /dev/disk/by-id
# Create a pool
$ zpool create -f -m <mount> <pool> <type> <ids>
- create: subcommand to create the pool.
- -f: Force creating the pool to bypass the “EFI label error”.
- -m: The mount point of the pool. If this is not specified, then the pool will be mounted to root as /pool.
- pool: This is the name of the pool.
- type: mirror, raidz, raidz2, raidz3. If omitted, the default type is a stripe or raid 0.
- ids: The names of the drives/partitions to include in the pool obtained from ls /dev/disk/by-id.
# Eg
$ zpool create -f -m /mnt/zstorage zstorage raidz2 <ids>
# To check your pool
$ zpool list
$ zpool list -v
$ zpool iostat
$ zpool iostat -v
# Check Proxmox Storage Manager Know it exists:
$ pvesm zfsscan
# configure your ZFS Pool
$ zfs create zstorage/iso
$ zsf create zstorage/share
$ zsf create zstorage/vmstorage
$ zsf create zstorage/cnstorage
# To set quota
$ zfs set quota=1000G zstorage/iso
# To check
$ zfs list
$ zpool status
$ zpool iostat -v
# Now go to the gui -> Datacenter -> storage -> Add -> Directory -> zstorage/iso ( Make sure only “ISO image” and “Container template” are selected. )
# ...Directory -> Add -> ZFS -> Id: vmstorage -> ZFS Pool: /zstorage/vmstorage
- LVM - 不用担心,如果您有单个磁盘(使用 LVM)
# List disk devices with lsblk
# Select a device to add
# create partions
$ fdisk /dev/sdb
# format device
$ mkfs.ext4 /dev/sdb1
# Create a physical group
$ pvcreate /dev/sdb1
# Create logical group
$ vgcreate vSSD /dev/sdb1
# TO add DataCenter -> Storage -> Add -> LVM
---
# To add as a dir
# After formatting mount the some dir
$ mkdir /backup
$ mount /dev/sdb1 /backup
$ vim /etc/fstab
/dev/sdb1/ /backup ext4 defaults 0 0
# To add Datacenter -> Storage -> Add -> Directory
备份和恢复虚拟机
# You can directly backup your vm from gui ( but if you want cli method -> )
# To create a backup
$ cd /var/lib/vz/dump
$ vzdump VM_ID # ( ID Show on GUI Pannel )
# To Restore a VM Image ( x.lzo )
$ cd /var/lib/vz/dump
# To Restore a VM
$ qmrestore vzdump-x-x.lzo VM_ID
# To restore a Container
$ pct restore ID --storage {storage_name} ./x.zst
# Note - You can also setup Proxmox Backup Server ( To Regurlarly Backup your VMS on Remote Storage - https://www.proxmox.com/en/proxmox-backup-server )
使用 Grafana 和 InfluxDB 监控 Proxmox
# Setup Influx DB on any server ( as per os )
# Edit /etc/influxdb/influxdb.conf
[[udp]]
enabled = true
bind-address = "0.0.0.0:8089"
database = "proxmox"
batch-size = 1000
batch-timeout = "1s"
# Add InfluxDb to proxmox
# Go to the datacenter -> Metric Server -> Add influxdb server ( 8089 port )
---configs
# DB: proxmox
# user & password ( You set up while setting up a influxdb )
# Add a data source to the grafana with these configurations
# grafan dashboard for proxmox monitoring : 10048

额外提示 - 设置最小的 Docker 客户端
# Check for turnkey templates, if not shows : Go to Proxmox Server Console -> `$ pveam update`
# Select turnkey-core ( It is optimized debian Container Image by turnkey project )
# Note - Uncheck the priviledged container option
# Add resources and bootup container
# Install docker as per debian ( It uses very minimal reosurce, You can setup two three docker container in less then a 1 GB Ram)
# Extra Tip: Select the ID Criteria for Containers & VM's:
- VMS: 100-199
- Containers 300-399
# IP's Criteria
# Containers : x.x.x.151 - 250
# VM's : x.x.x.50 - 150
更多推荐




所有评论(0)