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
复制代码
相关推荐
马猴烧酒.11 分钟前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库
天天爱吃肉821835 分钟前
跟着创意天才周杰伦学新能源汽车研发测试!3年从工程师到领域专家的成长秘籍!
数据库·python·算法·分类·汽车
大巨头1 小时前
sql2008 数据库分页语句
数据库
m0_715575341 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
老邓计算机毕设1 小时前
SSM智慧社区家政服务系统80q7o(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架
迎仔2 小时前
B-算力中心网络隔离的必要性:为什么必须隔离?
网络
松涛和鸣2 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
野指针YZZ2 小时前
一键配置RK3588网络与SSH远程连接
网络·ssh·rk3588
likangbinlxa2 小时前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
迎仔3 小时前
10-网络安全监控与事件响应:数字世界的智能监控与应急系统
网络·安全·web安全