PVE如何找回丢失的VM?
今天我把PVE升级到7.4,但是升级完成后无法启动。我尝试搜索了很长时间但无法解决。于是我找到了一个U盘在上面安装了新的PVE。在安装过程中确认了将旧 PVE 命名为 pve-OLD-134EEXXX的提示选项。
现在,我可以将旧安装中的驱动器添加为 LVM,但无法访问它里面的数据
现在我想将VM导入到新的PVE中,因为虚拟机中有很多重要数据。我应该怎么操作?
我对LINUX不熟悉,以下是我在搜索时看到的命令,希望有所帮助。
root@pvej:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 111.8G0 disk
├─sda1 8:1 01007K0 part
├─sda2 8:2 0 512M0 part
└─sda3 8:3 0 111.3G0 part
├─pve--OLD--134EE27A-swap 253:0 0 8G0 lvm
└─pve--OLD--134EE27A-root 253:1 0 103.3G0 lvm
sdb 8:16 0 931.5G0 disk
sdc 8:32 157.3G0 disk
├─sdc1 8:33 11007K0 part
├─sdc2 8:34 1 512M0 part /boot/efi
└─sdc3 8:35 156.8G0 part
├─pve-swap 253:2 0 7G0 lvm
└─pve-root 253:3 049.8G0 lvm/
root@pvej:~# vgscan
Found volume group "pve" using metadata type lvm2
Found volume group "pve-OLD-134EE27A" using metadata type lvm2
root@pvej:~# lvscan
ACTIVE '/dev/pve/swap' inherit
ACTIVE '/dev/pve/root' inherit
ACTIVE '/dev/pve-OLD-134EE27A/swap' inherit
ACTIVE '/dev/pve-OLD-134EE27A/root' [<103.29 GiB] inherit 不会linux操作的话,可以试试直接U盘启动PE。然后用LinuxReader之类的工具,把想要的VM文件拷出来。 sxqt 发表于 2023-8-28 10:57
不会linux操作的话,可以试试直接U盘启动PE。然后用LinuxReader之类的工具,把想要的VM文件拷出来。 ...
lvm格式的也能用LinuxReader读取吗 本帖最后由 sxqt 于 2023-8-28 11:20 编辑
星河 发表于 2023-8-28 11:14
lvm格式的也能用LinuxReader读取吗
看你安装PVE的时候硬盘选的什么格式,一般都是Ext4吧。
The default file system is ext4. The Logical Volume Manager (LVM) is used when ext4 or xfs is selected. 好多年前我的 LaCie 5big Pro 的 NASOS 也是崩了,基于 Linux LVM,后来自己摸索,用 PXE 进 Recovery 模式手工 mount,总算是保住了接近 4TB 的数据。有兴趣看下我之前的记录:
https://bbs.pcbeta.com/viewthread-1495201-1-1.html 如果你能折腾,可以网上搜一下PVE的虚拟化命令,qm开头的,可以导入现有的虚拟机。再就是用sftp工具将虚拟机文件拷出来,重新整好PVE,新建虚拟机将原来虚拟机磁盘挂载上。工具推荐moba,支持多种协议。
唉,为啥要升级版本捏?这要是生产环境,不就完犊子了吗 添加元存储并添加同id虚拟机后qm disk rescan试试? 我之前软路由因为飞虫导致主板被烧,被迫在新机器上重装了PVE,基本步骤就是:
1.命令行把原来的conf分区挂载过来
2.命令行把旧的conf里面的虚拟机配置复制过来
3.在GUI里挂载旧的vm磁盘所在的vg
4.在命令行修改虚拟机的conf文件,把所在位置改到对应位置
5.在GUI下面备份旧虚拟机,然后恢复到新的vg下面。
详细每步应该怎么做都可以网上查到。 sxqt 发表于 2023-8-28 11:18
看你安装PVE的时候硬盘选的什么格式,一般都是Ext4吧。
一年多以前装的,记不清了,应该是EXT4 imyz 发表于 2023-8-28 11:30
好多年前我的 LaCie 5big Pro 的 NASOS 也是崩了,基于 Linux LVM,后来自己摸索,用 PXE 进 Recovery 模式 ...
谢谢,参考一下 我记得我上次升级蹦了是把硬盘拆出来装到其他电脑上,把虚拟机的那个文件夹整个复制出来了。然后重新安装PVE之后再把整个文件夹放回去,再开机就跟以前一样了。虚拟机什么的都在。 楼主真是胆子大啊, 对PVE不熟就直接搞起来, 的亏PVE是个很耐折腾的环境, 不然真的要哭了
你大概可以这么做
mkdir /mnt/pve_old
mount /dev/pve-OLD-134EE27A/root /mnt/pve_old
ls /mnt/pve_old
看看都有些啥 升级前把虚拟机导出一份备份起来才稳妥啊,出现任何情况都大不了重新安装pve然后恢复虚拟机。
或者你可以参考我的方案,pve 说白了也是debian为基础的linux,你可以安装 timeshift 软件来对 pve 系统做(增量)备份,升级前先 timeshift create 一下,然后升级,出现问题时可以随时用 timeshift 恢复pve系统到备份时的状态。 阿崔 发表于 2023-8-28 13:17
我之前软路由因为飞虫导致主板被烧,被迫在新机器上重装了PVE,基本步骤就是:
1.命令行把原来的conf分区挂 ...
mount /dev/pve-OLD-134EE27A/root /mnt/old
昨晚试过上面这个命令,挂载不了 本帖最后由 星河 于 2023-8-28 17:12 编辑
flow 发表于 2023-8-28 14:15
楼主真是胆子大啊, 对PVE不熟就直接搞起来, 的亏PVE是个很耐折腾的环境, 不然真的要哭了
你大概可以这么做 ...
昨晚我试过但是没挂载成功,今天竟然一次挂载成功
root@pvej:/mnt/pve_old# ls -l
total 76
lrwxrwxrwx1 root root 7 May42022 bin -> usr/bin
drwxr-xr-x5 root root4096 Aug 27 19:25 boot
drwxr-xr-x4 root root4096 May42022 dev
drwxr-xr-x 88 root root4096 Aug 27 22:18 etc
drwxr-xr-x2 root root4096 Mar 192022 home
lrwxrwxrwx1 root root 7 May42022 lib -> usr/lib
lrwxrwxrwx1 root root 9 May42022 lib32 -> usr/lib32
lrwxrwxrwx1 root root 9 May42022 lib64 -> usr/lib64
lrwxrwxrwx1 root root 10 May42022 libx32 -> usr/libx32
drwx------2 root root 16384 Jul22022 lost+found
drwxr-xr-x2 root root4096 May42022 media
drwxr-xr-x3 root root4096 Aug 27 21:18 mnt
drwxr-xr-x2 root root4096 May42022 opt
drwxr-xr-x2 root root4096 Mar 192022 proc
drwx------6 root root4096 Aug 27 19:24 root
drwxr-xr-x5 root root4096 May42022 run
lrwxrwxrwx1 root root 8 May42022 sbin -> usr/sbin
drwxr-xr-x2 root root4096 May42022 srv
drwxr-xr-x2 root root4096 Mar 192022 sys
drwxrwxrwt7 root root4096 Aug 27 22:09 tmp
drwxr-xr-x 14 root root4096 May42022 usr
drwxr-xr-x 11 root root4096 May42022 var happysun110 发表于 2023-8-28 15:09
升级前把虚拟机导出一份备份起来才稳妥啊,出现任何情况都大不了重新安装pve然后恢复虚拟机。
或者你可以 ...
我之前有用过备份,不过只备份了快照到远程挂载的NAS里,能直接恢复吗 九天御风 发表于 2023-8-28 13:41
我记得我上次升级蹦了是把硬盘拆出来装到其他电脑上,把虚拟机的那个文件夹整个复制出来了。然后重新安装PV ...
你说的其它电脑是什么系统,然后怎么复制出来的?据我所知WIN系统不能直接读取LINUX系统的内容 阿崔 发表于 2023-8-28 13:17
我之前软路由因为飞虫导致主板被烧,被迫在新机器上重装了PVE,基本步骤就是:
1.命令行把原来的conf分区挂 ...
谢谢提供思路,对小白来说,每步都很艰辛。。。[睡觉] 本帖最后由 星河 于 2023-8-28 18:25 编辑
flow 发表于 2023-8-28 14:15
楼主真是胆子大啊, 对PVE不熟就直接搞起来, 的亏PVE是个很耐折腾的环境, 不然真的要哭了
你大概可以这么做 ...
我好像找到了虚拟机的磁盘,不过还没找到虚拟机的配置文件,/mnt/pve_old/etc/pve/下面没有。
root@pvej:/mnt/pve_old/var/lib/vz/images# ls
100101102103
root@pvej:/mnt/pve_old/var/lib/vz/images# cd /mnt/pve_old/var/lib/vz/images/100
root@pvej:/mnt/pve_old/var/lib/vz/images/100# ls
vm-100-disk-0.qcow2
root@pvej:/mnt/pve_old/var/lib/vz/images/100# ls -l
total 325944
-rw-r----- 1 root root 4295884800 Aug 27 22:07 vm-100-disk-0.qcow2
root@pvej:/mnt/pve_old/var/lib/vz/images/100# cd /mnt/pve_old/var/lib/vz/images/101
root@pvej:/mnt/pve_old/var/lib/vz/images/101# ls
vm-101-disk-0.qcow2
root@pvej:/mnt/pve_old/var/lib/vz/images/101# ls -ll
total 2151184
-rw-r----- 1 root root 10739318784 Aug 27 22:07 vm-101-disk-0.qcow2
root@pvej:/mnt/pve_old/var/lib/vz/images/101# cd /mnt/pve_old/var/lib/vz/images/102
root@pvej:/mnt/pve_old/var/lib/vz/images/102# ls
vm-102-disk-0.raw
root@pvej:/mnt/pve_old/var/lib/vz/images/102# cd /mnt/pve_old/var/lib/vz/images/103
root@pvej:/mnt/pve_old/var/lib/vz/images/103# ls
vm-103-disk-0.raw
root@pvej:/mnt/pve_old/var/lib/vz/images/103# Remote closed! 本帖最后由 星河 于 2023-8-28 19:57 编辑
阿崔 发表于 2023-8-28 13:17
我之前软路由因为飞虫导致主板被烧,被迫在新机器上重装了PVE,基本步骤就是:
1.命令行把原来的conf分区挂 ...
我通过挂载应该已经找到了VM的磁盘了,但是我找不到VM的配置文件,例如100.conf这种,兄弟有办法吗?
root@pvej:/mnt/pve_old# ls -l
total 76
lrwxrwxrwx1 root root 7 May42022 bin -> usr/bin
drwxr-xr-x5 root root4096 Aug 27 19:25 boot
drwxr-xr-x4 root root4096 May42022 dev
drwxr-xr-x 88 root root4096 Aug 27 22:18 etc
drwxr-xr-x2 root root4096 Mar 192022 home
lrwxrwxrwx1 root root 7 May42022 lib -> usr/lib
lrwxrwxrwx1 root root 9 May42022 lib32 -> usr/lib32
lrwxrwxrwx1 root root 9 May42022 lib64 -> usr/lib64
lrwxrwxrwx1 root root 10 May42022 libx32 -> usr/libx32
drwx------2 root root 16384 Jul22022 lost+found
drwxr-xr-x2 root root4096 May42022 media
drwxr-xr-x3 root root4096 Aug 27 21:18 mnt
drwxr-xr-x2 root root4096 May42022 opt
drwxr-xr-x2 root root4096 Mar 192022 proc
drwx------6 root root4096 Aug 27 19:24 root
drwxr-xr-x5 root root4096 May42022 run
lrwxrwxrwx1 root root 8 May42022 sbin -> usr/sbin
drwxr-xr-x2 root root4096 May42022 srv
drwxr-xr-x2 root root4096 Mar 192022 sys
drwxrwxrwt7 root root4096 Aug 27 22:09 tmp
drwxr-xr-x 14 root root4096 May42022 usr
drwxr-xr-x 11 root root4096 May42022 var
root@pvej:/mnt/pve_old/var/lib/vz/images# ls
100101102103
root@pvej:/mnt/pve_old/var/lib/vz/images# cd /mnt/pve_old/var/lib/vz/images/100
root@pvej:/mnt/pve_old/var/lib/vz/images/100# ls
vm-100-disk-0.qcow2
root@pvej:/mnt/pve_old/var/lib/vz/images/100# ls -l
total 325944
-rw-r----- 1 root root 4295884800 Aug 27 22:07 vm-100-disk-0.qcow2
root@pvej:/mnt/pve_old/var/lib/vz/images/100# cd /mnt/pve_old/var/lib/vz/images/101
root@pvej:/mnt/pve_old/var/lib/vz/images/101# ls
vm-101-disk-0.qcow2
root@pvej:/mnt/pve_old/var/lib/vz/images/101# ls -ll
total 2151184
-rw-r----- 1 root root 10739318784 Aug 27 22:07 vm-101-disk-0.qcow2
root@pvej:/mnt/pve_old/var/lib/vz/images/101# cd /mnt/pve_old/var/lib/vz/images/102
root@pvej:/mnt/pve_old/var/lib/vz/images/102# ls
vm-102-disk-0.raw
root@pvej:/mnt/pve_old/var/lib/vz/images/102# cd /mnt/pve_old/var/lib/vz/images/103
root@pvej:/mnt/pve_old/var/lib/vz/images/103# ls
vm-103-disk-0.raw
root@pvej:/mnt/pve_old/var/lib/vz/images/103# Remote closed!
root@pvej:~# find /mnt/pve_old/ -name 100.conf
root@pvej:~# locate 100.conf
-bash: locate: command not found
root@pvej:~# find /mnt/pve_old -name 100.conf
root@pvej:~# find /mnt/pve_old -name 100
/mnt/pve_old/var/lib/rrdcached/db/pve2-vm/100
/mnt/pve_old/var/lib/vz/images/100
root@pvej:~# find /mnt/pve_old -name qemu-server
/mnt/pve_old/var/lib/qemu-server
/mnt/pve_old/usr/lib/qemu-server
/mnt/pve_old/usr/share/doc/qemu-server
/mnt/pve_old/usr/share/qemu-server
正常运行的PVE,虚拟机的配置文件是在/etc/pve/qemu-server里面的
你可以试试看/mnt/pve_old/etc/pve/qemu-server目录里面有没有 NetCobra 发表于 2023-8-28 20:36
正常运行的PVE,虚拟机的配置文件是在/etc/pve/qemu-server里面的
你可以试试看/mnt/pve_old/etc/pve/qemu ...
root@pvej:~# cd /mnt/pve_old/etc/pve/
root@pvej:/mnt/pve_old/etc/pve# ls -l
total 0
root@pvej:/mnt/pve_old/etc/pve#
里面没文件呢 星河 发表于 2023-8-28 14:28
里面没文件呢
eh……那就不知道了,你是不是修改过PVE的设置,把虚拟机放到别的地方了? Linux小白为什么要去折腾呢。。。。看你这么举步维艰好难,8楼是可行的,不过对你来说够呛。 NetCobra 发表于 2023-8-28 22:18
eh……那就不知道了,你是不是修改过PVE的设置,把虚拟机放到别的地方了? ...
没有,我搜索了下,好像配置文件时存在/mnt/pve_old//var/lib/pve-cluster/config.db里面,但我把这个文件复制到当前PVE下面对应的目录以后,PVE整个崩了。。。 nsc117 发表于 2023-8-28 22:30
Linux小白为什么要去折腾呢。。。。看你这么举步维艰好难,8楼是可行的,不过对你来说够呛。 ...
我也很后悔。。。 星河 发表于 2023-8-28 23:07
没有,我搜索了下,好像配置文件时存在/mnt/pve_old//var/lib/pve-cluster/config.db里面,但我把这个文 ...
这个是你老的pve节点的所有配置信息, 又不是某个虚拟机的, 你就这么往新的pve节点里面塞, 吐你一脸太正常了
最后一招, 如果你在这个目录下面还看不到你的虚拟机配置文件的话, 我救不了你了
/mnt/pve_old/etc/pve/nodes/pve/qemu-server 这个是虚拟机的配置文件目录
/mnt/pve_old/etc/pve/nodes/pve/lxc 这个是容器的配置文件目录
最后的最后, 小白不要紧, 大家都是小白过来的, 不过你做每一步想清楚自己在干啥, 备份一定要做好!!!不要网上随便搜到一段命令就拿来直接跑, 折腾到最后神仙都不知道该咋办了 星河 发表于 2023-8-28 23:07
没有,我搜索了下,好像配置文件时存在/mnt/pve_old//var/lib/pve-cluster/config.db里面,但我把这个文 ...
我当时是按照这个直接复制过来就好了,https://pve.proxmox.com/wiki/Proxmox_Cluster_File_System_(pmxcfs)
...不过,我看你的问题是是升级完成之后无法启动?那就是说你之前的config.db可能已经损坏了... 那你大概只能sqlite找到配置文件内容,然后在新的系统下面重建这些了。
星河 发表于 2023-8-28 23:07
没有,我搜索了下,好像配置文件时存在/mnt/pve_old//var/lib/pve-cluster/config.db里面,但我把这个文 ...
试试装个和你当初升级前版本一致的pve,然后按我给的那个文档里的办法把db复制过去,看看能不能起来。升级成功但是不能启动真的是最恐怖的事情之一,但凡中间有失败,按PVE的升级流程都能回滚回去。不过说真的,用了这么多年PVE别说升级失败不能启动了,连升级失败都没碰上过。。。 flow 发表于 2023-8-29 09:52
这个是你老的pve节点的所有配置信息, 又不是某个虚拟机的, 你就这么往新的pve节点里面塞, 吐你一脸太正常 ...
这俩下面没有的,貌似只有正在运行的PVE才会在这个下面生成配置文件。
真正的配置都存在我上面说的数据库里。
我昨晚已经搞定了,我把之前崩了的PVE-OLD-XXXX改了VGNAME,然后就能启动老PVE了,然后进去备份了虚拟机。最后重新安装了PVE再恢复虚拟机。
页:
[1]
2