PVE学习笔记

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 数据中心 页面> 存储栏目 添加(如下图)

file

声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/992.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2025/2/20作者: 辣条①号

目标:网络规划设计师、系统工程师、ceph存储工程师、云计算工程师。 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录