文章目录
pve的特点
免费
内置防火墙
网络接入灵活、支持openvswitch
支持kvm虚拟机、linux容器 LXC
丰富的存储插件
x86的pve运行arm64虚拟机教程(未验证)
https://blog.whsir.com/post-7813.html
pve修改软件源
1、Proxmox 软件源更换
2、Debian 系统源更换
3、LXC 容器模板源更换
## pve8 换成 中科大
sed -i.bak "s#http://download.proxmox.com#http://mirrors.ustc.edu.cn/proxmox#g" /usr/share/perl5/PVE/APLInfo.pm
systemctl restart pvedaemon
4、Ceph 源更换(安装时选择非订阅源)
## pve7 & pve8 都这样改ceph源
sed -i.bak "s#http://download.proxmox.com#http://mirrors.ustc.edu.cn/proxmox#g" /usr/share/perl5/PVE/CLI/pveceph.pm
#中科大源,一定要修改这里,不然每次面板安装ceph时他会根据这里的配置生成 ceph.list 源文件
pve模板下载地址
# LXC模板
中科大 https://mirrors.ustc.edu.cn/proxmox/images/system/
清华源 https://mirrors.tuna.tsinghua.edu.cn/proxmox/images/system/
# 虚拟机模板(密码不一定是随机的)
C7基础版 wget http://a.atstm.cc:10/byy/images/vzdump-qemu-centos7.vma.zst
Rocky9 wget http://a.atstm.cc:10/byy/images/vzdump-qemu-rockylinux9.vma.zst
Debian9 wget http://a.atstm.cc:10/byy/images/vzdump-qemu-debian9.vma.zst
功能配置文件路径
/etc/pve/ha/resources.cfg #ha相关的资源配置(请求状态包含四种:started、stoped、ignored、disabled最后这个是将故障vm移除ha群组)
/etc/pve/storage.cfg #pve存储的相关配置(支持的类型很多dir: local、lvmthin: local-lvm等等)
/etc/vzdump.conf #虚拟机配置程序配置文件(可以决定自动备份保留的份数)
/etc/pve/vzdump.cron #pve备份程序的定时任务
镜像和模板路径
/var/lib/vz/template/iso #pve默认iso镜像上传目录
/var/lib/vz/template/cache #pve默认lxc模板的保存路径
/var/lib/vz/dump #pve的备份镜像 存放路径
分布式防火墙配置文件:
/etc/pve/firewall/cluster.fw
/etc/pve/nodes/node_name/host.fw
/etc/pve/firewall/vm_id.fw
pve命令行工具介绍
pve命令操作虚拟机
qm config <vmid> # 查看虚拟机的配置
qm start <vmid> # 启动虚拟机
qm stop <vmid> # 关闭虚拟机
qm reset <vmid> # 重启虚拟机
qm suspend <vmid> # 挂起(暂停)虚拟机
qm resume <vmid> # 恢复(从挂起状态)虚拟机
qm destroy <vmid> # 删除虚拟机
qm clone <vmid> <newvmid> --name <newvmname> # 克隆虚拟机
# 导出虚拟机到备份文件
# vzdump <vmid> --dumpdir <directory> --mode <mode>
vzdump 100 --dumpdir /backup --mode snapshot
# 如何修改虚拟机的UUID
# 比如k8s机器初始化可能检查机器ID ,备份导入的虚拟机都是一样的,cat /sys/class/dmi/id/product_uuid
先关闭对应虚拟机、然后执行如下命令后,再启动虚拟机验证ID是否变化
# qm set <VMID> --smbios1 uuid=<新的UUID>
qm set 3201 --smbios1 uuid=d226e3a0-c540-47e5-9103-b2584262b9d1
创建pve集群
第一:在其中一台上创建集群
pvecm create pve-cluster01
pvecm status
第二:集群中添加节点(不能有虚拟机在上面跑,最好是干干净净的新节点)
pvecm add 192.168.0.2 #这个地址是集群的地址,需要在具体要加入集群的pve节点上执行
#pvecm add 192.168.0.2 -f #有时可能会出现莫名的东西,可以使用-f强制添加
#/etc/hosts #这个文件在pve中很重要,不正确可能导致 无法加入集群等问题
#hostname --ip-address #该命令检查本机ip是否正确(与/etc/hosts中指定的进行比较)
其他命令
pvecm nodes #查看集群节点
pvecm delnode 192.168.0.2 #删除集群节点
pvecm help #查看帮助
分布式防火墙
pve-firewall start/stop/restart/status
将lvm格式磁盘转换为qcow2磁盘(用虚拟机的ID:107来演示)
#qemu-img convert -p $INPUTDISK -c -O $FORMAT $NEWDISK #-p 表示输入,-c压缩
#qemu-img convert -p $INPUTDISK -c -O $FORMAT -o subformat=streamOptimized $NEWDISK #如果需要esxi导入则需要加水-o参数
qemu-img convert -p /dev/pve/vm-107-disk-0 -c -O qcow2 kvm107-system.qcow2
如何将ova文件转换为qcow2(如何将ova转换位raw)
# Tips:ova文本本质是一个压缩包,你可以先把后缀名改成.tar,然后解压得到 .vmdk 磁盘文件、.ovf 虚拟机描述文件(会记录配置和属性)
qemu-img convert -f vmdk -O raw pnetlab-v6-100-disk1.vmdk /home/fanxiang/images/1017/vm-1017-disk-0.raw
# qemu-img convert -f vmdk -O qcow2 pnetlab-v6-100-disk1.vmdk /home/fanxiang/images/1017/vm-1017-disk-0.qcow2
直接将hyperv的虚拟机磁盘转换成pve虚拟机
# 注意:转换完成后,需要自行修改
1、内存、CPU
2、网卡驱动
3、若源磁盘系统是windows系统且开了安全启动,需要改成OVMF(uefi)模式
qm create 102 --name Windows10 --sata0 ssd3:0,import-from=/mnt/pve/hyperv/windows10.vhdx
如何将镜像导入虚拟机
#qm importdisk <vmid> <source_disk> <storage_id>
qm importdisk 109 kvm107-system.qcow2 local-lvm #将磁盘导入109虚拟机中(109要事先创建,并且导入后会创建一个磁盘),存储形式是lvm,local-lvm是存储ID
qm importdisk 8000 istoreos-22.03.6-2024052410-x86-64-squashfs-combined.img local
qm importdisk 8001 openwrt-06.09.2024-x86-64-generic-squashfs-combined.img FX2280-1T
qm importdisk 1019 RockyLinux9-IPXE-0.vmdk FX1T #(导入后,建议去把硬盘改成IDE接口,否则可能无法正常启动虚拟机系统)
#要求输入root密码的话,预设是password
pve使用CLI备份和还原虚拟机
为KVM和LXC虚拟机提交备份的命令是相同的
查看存储ID
root@pve:~# cat /etc/pve/storage.cfg
dir: local #其实存储就是这个 local
path /var/lib/vz
content iso,vztmpl,backup
zfspool: local-zfs
pool rpool/data
sparse
content images,rootdir
备份(不区分KVM和LXC)
vzdump 102 --storage local #102是虚拟机id;不指定--mode,默认是 "停止虚拟机进行备份"
还原KVM
qmrestore /var/lib/vz/dump/vzdump-qemu-104-2019_08_21-15_23_32.vma.gz 108 #路径 新ID(这个ID要不存在才行)
还原LXC
pct restore new_id /var/lib/vz/dump/vzdump-qemu-104-2019_08_21-15_23_32.vma.gz
将某硬件直通(没测试过)
qm set 100 -sata0 /dev/disk/by-id/ata-Colorful_xxxxxxxxxxxxxxxxxxx
如何查看虚拟机对应的磁盘
## 方式一、dmsetup ls --tree
root@major:~# dmsetup ls --tree
pve-data (252:5)
└─pve-data-tpool (252:4)
├─pve-data_tdata (252:3)
│ └─ (259:4)
└─pve-data_tmeta (252:2)
└─ (259:4)
pve-root (252:1)
└─ (259:4)
pve-snap_vm--1024--disk--0_vzdump (252:49)
└─pve-data-tpool (252:4)
├─pve-data_tdata (252:3)
│ └─ (259:4)
└─pve-data_tmeta (252:2)
└─ (259:4)
pve-swap (252:0)
└─ (259:4)
pve-vm--1002--disk--0 (252:20)
└─pve-data-tpool (252:4)
├─pve-data_tdata (252:3)
│ └─ (259:4)
└─pve-data_tmeta (252:2)
└─ (259:4)
## 方式二、ls -l /dev/mapper/ | grep dm-3
root@major:~# ls -l /dev/mapper/ | grep dm-3
lrwxrwxrwx 1 root root 7 Aug 24 12:01 pve-data_tdata -> ../dm-3
lrwxrwxrwx 1 root root 8 Aug 24 12:01 pve-vm--1004--disk--0 -> ../dm-30
lrwxrwxrwx 1 root root 8 Aug 27 14:27 pve-vm--1005--disk--0 -> ../dm-31
lrwxrwxrwx 1 root root 8 Aug 26 13:35 pve-vm--1009--state--install--firefox -> ../dm-32
lrwxrwxrwx 1 root root 8 Aug 27 13:26 pve-vm--1023--disk--0 -> ../dm-34
lrwxrwxrwx 1 root root 8 Sep 6 18:18 pve-vm--1024--disk--0 -> ../dm-35
lrwxrwxrwx 1 root root 8 Aug 27 12:04 pve-vm--1085--state--update--2025--8--1--qian -> ../dm-33
lrwxrwxrwx 1 root root 8 Aug 24 12:01 pve-vm--1086--disk--0 -> ../dm-38
lrwxrwxrwx 1 root root 8 Aug 24 12:01 pve-vm--1087--disk--0 -> ../dm-39
pve迁移虚拟机过程中,操作失败如何解除锁定(命令如下)
qm unlock <vmid>
pveversion -V #查看pve各个组件的版本。(包括novnc-pve、qemu-server、corosync等等)
pveversion #查看pve的版本
# 重置容器的状态标记
pct unlock <VMID>
如何让pve支持嵌套虚拟化(把虚拟机cpu模式设置为host)
pve如何添加iscsi存储
## 在群晖上创建iSCSI Target(指定使用chap单项验证)
## 在pve上编辑iscsid 的配置文件,写入chap的用户名和密码
vi /etc/iscsi/iscsid.conf # 取消下面行的注释(若是启用相互认证,则下面的也要开启)
node.session.auth.authmethod = CHAP
node.session.auth.username = myuser
node.session.auth.password = xxxxxx
#node.session.auth.username_in = username_in
#node.session.auth.password_in = password_in
## 重启 iscsid 服务,并查看状态
systemctl restart iscsid
systemctl status iscsid
iscsiadm -m session # 查看会话状态
## 去pve 数据中心 页面> 存储栏目 添加(如下图)
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论