安装 PVE 驱动的个人虚拟化实验环境
status
Published
type
Post
slug
my-homelab-powered-by-pve-install
date
Dec 26, 2023
tags
PVE
Linux
Config
DevOps
summary
PVE 是一款个人虚拟化环境软件,可以在小型主机或老旧笔记本上安装,提供虚拟化环境来构建自己的 HomeLab。安装 PVE 的步骤包括准备引导工具、下载安装 PVE 镜像、配置软件源、创建模板等。通过 PVE,可以方便地管理和部署虚拟机,进行基础设施即代码的实践。
准备
引导工具
使用 Ventoy 来将U盘制作为启动设备
2023-12 当前正式版 Ventoy 无法启动 PVE 8.1,需使用 CI 版本:https://github.com/ventoy/Ventoy/actions/runs/7088423200
PVE 镜像
当前最新版本 8.1
安装
可参考官方 wiki 说明:
安装完成后,即可根据过程中配置的IP地址,在同一局域网其他机器浏览器访问
https://
IP
:8006
用户名 root ,密码为安装过程中所配置的,登录成功即可看到如下界面
配置
订阅弹窗去除
软件源
- 删除企业订阅源
- Proxmox 软件源镜像
- Debian 系统源镜像
- LXC 源镜像(CT Templates)
- Ceph 源
如果是使用的老旧的笔记本电脑安装,可考虑如下配置
创建模板
创建 Debian Cloud-Init Template
- 选择镜像
这里我们选用
genericcloud-amd64.qcow2
- 下载镜像
打开 PVE Shell
- 创建虚拟机
此时如无特殊需要或问题,就可以把此虚拟机转换成模板了,执行命令:
qm template 100
。但为了使用更顺手,我还希望对此虚拟机做一些配置后再转换为模板。Cloud-Init
页面配置说明
用户
- 系统内第一个非 root 用户的名称,可自定义(建议配置)
- 若未配置
- 系统启动后不会新增用户,默认使用 root 用户
- 默认允许 root 用户通过 SSH 登录
密码
- 系统内第一个非 root 用户的密码,可自定义(建议配置)
- 若【用户】未配置,则此处的密码则为 root 密码
DNS 域 / DNS 服务器
- 留空则使用 DHCP,配置了则使用静态 DNS
SSH 公钥
- 若未配置,则 SSH 允许通过密码登录
- 若已配置,则 SSH 禁止通过密码登录,仅允许通过公钥对应的私钥登录
IP 配置
- 可分别配置对应网卡的 IPv4 和 IPv6 地址策略
- 支持静态 IP 或 DHCP
- 配置虚拟机
启动刚刚配置的虚拟机,进入 Shell
软件源修改,文件位于
/etc/apt/mirrors/
下以上配置完成后,将虚拟机关机,执行命令
qm template 100
转换为模板。在 Web 页面上可以查看该模板,后续即可在页面上基于此模板快速创建虚拟机了。当然也可以执行命令
qm clone 100 101 --name vm101 --full
来进行该操作。克隆配置说明
模式
- 两种模式的区别
链接克隆
:类似快照,磁盘上仅存储「克隆后的副本相对于模板发生变化的部分」,克隆后的虚拟机无法使用迁移功能,但优势是占用的磁盘空间较小完整克隆
:直接将模板对应的虚拟机磁盘文件全量复制一份,虚拟机中的任何改动,只会存储在自己的虚拟磁盘文件中,可以在 PVE 集群中自由地迁移
- 如果 PVE 宿主机只有一台,即 PVE 是单节点模式部署的,那么此处可以随意选择
- 如果 PVE 宿主机不止一台,且组成了集群,有节点迁移和高可用的需求,那么此处最好选择
完整克隆
VM ID
- 可以自定义,也可以使用 PVE 默认的自增 ID
名称
- 需要自己定义一个,开机后,cloud-init 会使用虚拟机名称作为虚拟机的 hostname
克隆完成后进入虚拟机的「硬件」页面,按实际需要调整虚拟机的硬件配置:硬盘、内存
处理器、网络等。
下一步准备使用
Terraform
来管理部署 PVE 中的虚拟机,体验一下基础设施即代码 (IaaS
)。