文章目录
pve的特点
免费
内置防火墙
网络接入灵活、支持openvswitch
支持kvm虚拟机、linux容器 LXC
丰富的存储插件
x86的pve运行arm64虚拟机教程(未验证)
https://blog.whsir.com/post-7813.html
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
创建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
pve迁移虚拟机过程中,操作失败如何解除锁定(命令如下)
qm unlock <vmid>
pveversion -V #查看pve各个组件的版本。(包括novnc-pve、qemu-server、corosync等等)
pveversion #查看pve的版本
如何让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 数据中心 页面> 存储栏目 添加(如下图)
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论