0%

PVE创建支持Cloud-init的Debian模板

PVE下使用Cloud-init,快速创建最新版本镜像的的小鸡,先记录一下Debian的。

登录母鸡ssh,然后创建文件[**pve-cloud-init-template-debian.sh**](https://gist.github.com/Jimmy-Z/c4de0d15f89977a358996a171b9db668#file-pve-cloud-init-template-debian-sh)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh

# apt install curl

# obviously change this per your needs
VMID=9001
STOR=local-lvm
VER=20240102-1614
URL_PATH=https://mirrors.ustc.edu.cn/debian-cdimage/cloud/bookworm/$VER/
IMG=debian-12-genericcloud-amd64-$VER.qcow2

curl -L -o $IMG -C - $URL_PATH$IMG
# https://pve.proxmox.com/wiki/Cloud-Init_Support
# https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines
qm create $VMID --cores 4 --cpu cputype=host --memory 4096 --net0 virtio,bridge=vmbr0 --ostype l26 --serial0 socket --vga serial0
qm importdisk $VMID $IMG $STOR
qm set $VMID --scsihw virtio-scsi-single --scsi0 $STOR:vm-$VMID-disk-0,discard=on,iothread=true
qm set $VMID --ide2 $STOR:cloudinit
qm set $VMID --boot c --bootdisk scsi0

qm template $VMID

使用脚本会创建出来一个ID为9001的虚拟机模板,回到在PVE界面。克隆一个新的虚拟机出来就是一个全新的Debian系统了。在虚拟机-Cloud-init选项处就可以配置账号密码,ip地址。

默认情况下,ssh不允许使用密码登录,也不允许root登录。进入系统后修改/etc/ssh/sshd_config,修改两个选项。

1
2
PasswordAuthentication yes
PermitRootLogin yes

重启ssh服务。登录后修改APT源为国内

1
2
3
# mirrors.utsc.edu.cn
# Downlaod and Install debian 12 sourcelist
curl -fsSL https://mirrors.ustc.edu.cn/repogen/conf/debian-https-4-bookworm -o /etc/apt/sources.list

Enjoy~~

参考:

https://gist.github.com/Jimmy-Z/c4de0d15f89977a358996a171b9db668

https://mirrors.ustc.edu.cn/help/debian.html

https://mirrors.ustc.edu.cn/repogen/

https://www.dgpyy.com/archives/174/