PVE小贴士以及一些经常出现的小问题解决办法

e4adaceca8b7a1026cfaeefdb2eb9245.png

1. 强制关闭虚拟机

关闭虚拟机的时候经常出现长时间转圈 然后提示如下错误:
TASK ERROR: VM quit/powerdown failed – got timeout

解决办法1:

通过ps命令查到对应VM的进程
将101换成你自己虚拟机的VM ID

ps -ef|grep "/usr/bin/kvm -id 101"|grep -v grep

查看到虚拟机的进程后

kill 20582

解决办法2:

既然在web界面点关机关不掉我就在shell下使用qm命令关机
先删除lock锁 在执行第二步关机
同样把100换成你自己的VM

2. 将img文件导入为磁盘

导入为raw格式

SSH连接后 把img文件上传到 /var/lib/vz/template/iso
举例

qm importdisk 100 /var/lib/vz/template/iso/openwrt.img local

100 为虚拟机的ID根据自己虚拟机ID替换

openwrt.img 为镜像名称

举一反三:

qm importdisk 101 /var/lib/vz/template/iso/DS918.img local

第2种方法:

./img2kvm <img文件> <vmid如103>  <虚拟磁盘名称如vm-103-disk-0>

第3种方法:

qemu-img convert -f raw -O qcow2 synoboot.img vm-103-disk-0.qcow2
qm importdisk 103 vm-103-disk-0.qcow2 local

第4种 把Esxi的OVA/vmdk 转成PVE虚拟机文件

(1) .使用 WinSCP 之类的软件把 OVA 镜像上传到 ROOT 目录,当然也可以使用 wget 命令下载到 PVE 宿主机。也可以电脑上先解压 OVA 文件,只上传 VMDK 文件。
(2).OVA 转换(VMDK)
tar xvf vm01.ova #解压vm01.ova qm importdisk
(3) 把esxi的虚拟机文件转换成qcow2并添加到虚拟机

一些常见路径

存储配置文件:

/etc/pve/storage.cfg

存储路径local:

iso存放路径: /var/lib/vz/template/iso/

虚拟机的备份路径: /var/lib/vz/dump/

zfs的磁盘路径是:/dev/rpool/data/

存储路径local-lvm,包括挂载的NFS、SMB等其它存储设备:/mnt/pve/

系统安装和定时任务

需要手动定期scrub来保证系统的正确,于是设置每天凌晨00:30执行scrub命令
编辑系统 crontab

crontab -e

选择 vim 编辑器,粘贴以下内容并保存,意思是每天凌晨0点30分纠正错误数据

30 0 * * * /usr/sbin/zpool scrub rpool

crontab设置完了之后不会立即生效,可以用命令重启一下cron

/etc/rc.d/cron restart

借助在线的 https://crontab.guru/ 工具,可以帮你写出正确的时间表达式

查看在运行的计划任务

crontab -l

查看最近一次scurb运行情况,如无意外提示0错误

zpool status rpool

同理可以用于其它需求:

定时关闭虚拟机

每隔5分钟关闭106虚拟机

crontab -e 
​
*/5 * * * * /usr/sbin/qm shutdown 106

定时关机
每天凌晨1点30分关机

crontab -e 
​
30 01 * * * /sbin/shutdown -h now
​
补充:可能有人无法关机成功,可以改为以下命令
#! /bin/sh
/sbin/init 0    关闭电源
/sbin/init 6    重新启动

其它写法参考

30     3       10,20     *     *     ls             每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25     8-11    *         *     *     ls             每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15   *       *         *     *     ls             每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令]
30     6       */10      *     *     ls             每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令]
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容