PVE 基础环境初始化与 Debian Cloud-Init 部署记录


记录一下 Proxmox VE (PVE) 安装后的初始化配置流程,包括网络配置、硬件温度显示脚本安装,以及使用 Cloud-Init 快速部署 Debian 模版。

1. 网络配置:从动态 IP 到静态 IP

刚安装完 PVE 或更换网络环境后,先配置为 DHCP 以确保联网,获取 IP 后再固定为静态 IP。

第一步:配置 DHCP 获取 IP

编辑网络配置文件:

bash 复制代码
nano /etc/network/interfaces

修改 vmbr0 部分如下:

bash 复制代码
auto vmbr0
iface vmbr0 inet dhcp    # 设置为 dhcp
    bridge-ports enp3s0  # 注意核对物理网卡名称
    bridge-stp off
    bridge-fd 0

重启网络服务:systemctl restart networking

查看获取到的 IP:ip addr show vmbr0

第二步:锁定为静态 IP (Static)

确认 IP 可用后,修改回静态配置以保证服务器地址固定。再次编辑 /etc/network/interfaces:

bash 复制代码
auto vmbr0
iface vmbr0 inet static
    address 192.168.x.x/24   # 填入刚才获取的 IP
    gateway 192.168.x.1      # 填入网关
    bridge-ports enp3s0
    bridge-stp off
    bridge-fd 0

注意 :配置静态 IP 后,记得检查 /etc/resolv.conf 确保 DNS 配置正确(如 8.8.8.8 或 114.114.114.114),否则无法下载脚本。


2. 安装 PVE 温度与频率显示插件

使用开源脚本 PVE-manager-status 在概要页面显示 CPU 温度和频率。

一键安装命令:

bash 复制代码
(curl -Lf -o /tmp/temp.sh [https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh](https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh) || curl -Lf -o /tmp/temp.sh [https://mirror.ghproxy.com/https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh](https://mirror.ghproxy.com/https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh)) && chmod +x /tmp/temp.sh && /tmp/temp.sh remod

提示 :脚本执行完成后,必须强制刷新浏览器 (Ctrl + F5 或 Shift + F5)才能看到效果。


3. 创建 Debian 虚拟机并配置 Cloud-Init

使用 Cloud-Init 可以在不进入安装界面的情况下自动注入 IP 和 SSH Key,非常适合快速批量开机。

3.1 准备镜像

下载 Debian Cloud 镜像(以 Debian 12 Bookworm 为例):

bash 复制代码
wget [https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2](https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2) -O /var/lib/vz/template/iso/debian-12-cloud.qcow2

3.2 命令行创建虚拟机

创建一个 ID 为 9000 的模版机:

bash 复制代码
# 1. 创建 VM
qm create 9000 --name "debian-cloud-template" --memory 2048 --net0 virtio,bridge=vmbr0

# 2. 导入磁盘
qm importdisk 9000 /var/lib/vz/template/iso/debian-12-cloud.qcow2 local-lvm

# 3. 挂载磁盘并开启 SSD 仿真
qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-0,discard=on

# 4. 添加 Cloud-Init 驱动器 (关键)
qm set 9000 --ide2 local-lvm:cloudinit

# 5. 设置引导和串口显示 (Cloud 镜像需要串口)
qm set 9000 --boot c --bootdisk scsi0
qm set 9000 --serial0 socket --vga serial0

3.3 配置 IP 与用户 (Cloud-Init)

可以直接在 GUI 的 Cloud-Init 选项卡设置,也可以使用命令行:

bash 复制代码
# 设置静态 IP
qm set 9000 --ipconfig0 ip=192.168.x.88/24,gw=192.168.x.1

# 设置默认用户和密码
qm set 9000 --ciuser root --cipassword "yourpassword"

# (可选) 导入 SSH 公钥
# qm set 9000 --sshkey /root/.ssh/id_rsa.pub

3.4 启动或转为模版

bash 复制代码
# 启动测试
qm start 9000

# 或者转为模版
# qm template 9000

4. 常见问题排查:SSH 远程主机指纹变更

在使用 Cloud-Init 重建虚拟机或重装 PVE 后,尝试 SSH 连接可能会遇到 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 错误。这是因为 IP 地址未变,但目标主机的 SSH 密钥(指纹)发生了变化,导致本地安全校验失败。

解决方法:

在本地终端(Windows CMD/PowerShell 或 Linux 终端)执行以下命令,清除旧的指纹记录:

bash 复制代码
# 清除指定 IP 的旧指纹
ssh-keygen -R 192.168.3.202
复制代码
相关推荐
程序员清风1 小时前
CSV、Excel 与数据库数据读取实践
数据库·oracle·excel
cws2004011 小时前
监控摄像头选型指南
运维·网络·监控
GEO实战经验分享1 小时前
GEO技术与工具全景:从监测仪表盘到Schema的实战指南
数据库
一个天蝎座的程序猿1 小时前
IoTDB集群扩容:从慌乱到从容的经验分享
数据库
和裕1 小时前
定制纸箱刀模费全解析:费用定义与可减免合作场景
大数据·运维·网络·人工智能·算法
troy1282 小时前
智能体沙箱:如何为 Agent 模型搭建安全试验场,降低幻觉带来的损失
网络·安全
LHR_friendship2 小时前
HCIP课程全部内容
网络·笔记·学习·hcip·华为ensp
Chengbei112 小时前
拒绝无效洞!蚂蚁Src榜一Clown 2.0 SRC SKill 第二代带状态闭环的白盒 & 黑盒审计 Skill
网络·人工智能·安全·web安全·网络安全·自动化·安全架构
小小龙学IT2 小时前
Python SQLAlchemy 2.0 深度解析:从 Core 到 ORM 的数据访问双引擎
开发语言·数据库·python
quweiie2 小时前
debian13安装meson和libvips
debian·meson·libvips