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.8114.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 + F5Shift + 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
复制代码
相关推荐
jiayou641 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤2 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区3 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1773 天前
《从零搭建NestJS项目》
数据库·typescript
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
加号34 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐4 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
呉師傅4 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
欧云服务器4 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian