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
复制代码
相关推荐
倔强的石头_3 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab4 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence4 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神4 天前
三、用户与权限管理
数据库·mysql
网络研究院5 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智5 天前
ARP代理--工作原理
运维·网络·arp·arp代理
麦聪聊数据5 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
treesforest5 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
shushangyun_5 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡5 天前
【MySQL数据库】数据类型与表约束
数据库·mysql