一、写本文原因
公司有一台物理服务器,X58架构,挺老了,属于垃圾成色了。后来用U盘装了PVE做了虚拟化,当做线下测试服务器,以及做一些实验用。
由于园区经常停电,导致了经常装载U盘上的PVE系统损坏,好在装载U盘,对本地的虚拟机数据没有影响,装了几次也有了一些经验。
二 、备份文件
-
2.1
安装时备份
需要牢记住hostname和IP地址,Hostname直接和你的数据中心名称挂钩,尽量和虚拟保持一致
-
2.2
备份PVE配置文件
待PVE虚拟机部署完成,并且正式运行时,请备份如下目录文件:
/etc/pve/
其中如下两个比较重要:
qemu-server
:保存了虚机的配置信息
storage.cfg
:保存了PVE的分区信息
root@zm:/mnt/bak/dump# ls -ll /etc/pve/
total 4
-rw-r----- 1 root www-data 451 Nov 2 11:45 authkey.pub
-rw-r----- 1 root www-data 16 Nov 2 11:40 datacenter.cfg
drwxr-xr-x 2 root www-data 0 Nov 2 11:45 ha
lrwxr-xr-x 1 root www-data 0 Jan 1 1970 local -> nodes/zm
lrwxr-xr-x 1 root www-data 0 Jan 1 1970 lxc -> nodes/zm/lxc
drwxr-xr-x 2 root www-data 0 Nov 2 11:45 nodes
lrwxr-xr-x 1 root www-data 0 Jan 1 1970 openvz -> nodes/zm/openvz
drwx------ 2 root www-data 0 Nov 2 11:45 priv
-rw-r----- 1 root www-data 2074 Nov 2 11:45 pve-root-ca.pem
-rw-r----- 1 root www-data 1675 Nov 2 11:45 pve-www.key
lrwxr-xr-x 1 root www-data 0 Jan 1 1970 qemu-server -> nodes/zm/qemu-server
drwxr-xr-x 2 root www-data 0 Nov 2 11:45 sdn
-rw-r----- 1 root www-data 332 Nov 2 12:00 storage.cfg
-rw-r----- 1 root www-data 39 Nov 2 11:40 user.cfg
drwxr-xr-x 2 root www-data 0 Nov 2 11:45 virtual-guest
-rw-r----- 1 root www-data 119 Nov 2 11:45 vzdump.cron
-
2.3
.
备份分区表
备份分区表
/etc/fstab
,这里记载了磁盘的挂载信息,假如丢失或者不记得,会导致虚机磁盘目录不对,无法启动; -
2.4.使用PVE备份功备份虚机
点击
虚机–备份
,可以看到此虚机的备份信息,如果本机没有备份的话,建议及时进行备份,进行重大操作前也建议进行备份。
备份时默认的模式为快照,默认压缩格式为ZSTD。 -
快照模式
:备份时对服务器进行暂挂处理,来保持数据一致性,假如虚机开启了agent,在暂停备份时由agent来接收数据,如果对数据要求一致性不太高,可以使用从此模式; -
挂起模式
:进行备份前,会对虚机进行暂挂处理,导致备份时间过长,并且数据一致性不太高,可以PASS此模式; -
停止模式
:数据一致性最高,用最短的停机时间对虚机进行备份。
三、恢复
-
3.1 使用配置文件进行恢复
如果对配置文件进行过备份,可以把对应的conf文件直接复制到
/etc/pve/qemu-server/
里即可,然后修改存储信息
/etc/pve/storage.cfg
,修改Linux分区表
/etc/fstab
,启动虚拟就可以了;
3.2 没有配置文件进行恢复
如果没有配置文件,只有虚机硬盘镜像在,不怕,我们还有机会!假如你格式化了硬盘,所有虚机镜像不在了,对不起,这篇文章你应该不用看了,你该考虑怎么跑路了~
虚机的磁盘镜像在设定好的目录下,可以是LVM也可以是standard分区。以我的目录为例子,虚机镜像路径在:
/mnt/vm/images/
,前面的vm对应的是分区目录,数字编号对应了虚机的编号,disk-0和disk-1对应了虚机的第一块和第二块硬盘;
ls /mnt/vm/images/
# 虚机编号
100 101 102 103 104 105 106
# 查看虚机编号106的镜像文件
ls 106/
vm-106-disk-0.qcow2 vm-106-disk-1.qcow2
镜像文件有了,我们该怎么恢复呢?不要急慢慢来,首先在PVE里创建一个虚拟机,编号千万不要和上面的重复。
然后把创建好的虚机配置文件复制一份,进行修改,我们需要修改如下内容
name
:虚机的名字,可以和之前一样
虚机的mac地址
:可以使用如下命令生成,前面的
52:54:00
可以自行替换
echo 52:54:00:`openssl rand -hex 3 | sed 's/\(..\)/\1:/g; s/.$//'`
smbios1
:虚机bios UUID,使用如下命令生成
uuidgen
,如果提示找不到命令,使用
apt install uuid-runtime进行安装
unused0
:未使用的硬盘,
更改为旧的虚机硬盘路径
virtio0
:引导硬盘,
更改为旧的虚机硬盘路径
vmgenid
:虚机UUID, 可以使用
uuidgen
命令生成
更改完成后可以在PVE管理界面看到更改好的虚机ID,直接右键开机即可;