本地存储回收站

KVM虚拟机本地存储回收站

除了磁盘伪删除的机制外,平台还另外提供了一层保护,用来确保虚拟机的磁盘文件不会被误删除。

在每个本地存储的目录下有一个 recycle_bin 的目录,当对本地磁盘进行删除操作时,不会执行真正的删除操作,而是将磁盘移动到这个目录下暂存,存储在一个删除时间命名的子目录下。宿主机上有周期性任务扫描扫描 recycle_bin 目录,把日期在约定清理时间之前的子目录真正清除。

host服务的配置项中有三个选项用来配置回收站,recycle_diskfile 是开启或关闭回收站功能,默认开启。recycle_diskfile_keep_days 用来指定回收站内磁盘文件的保留天数,默认是28天。always_recycle_diskfile 配置是否总是将删除的本地磁盘文件转移到回收站。如果为true,则迁移本地存储主机后,原宿主机上的本地磁盘将被移入回收站。否则,本地磁盘虚拟机迁移成功完成后,会将原宿主机上的本地磁盘文件立即删除。

recycle_diskfile: true
recycle_diskfile_keep_days: 28
always_recycle_diskfile: true

由于回收站会占用磁盘空间,可能存在由于回收站磁盘文件过多,导致磁盘空间不足的情况。这个时候需要手动清理回收站。手动清理回收站只需要手动将 recycle_bin 下的子目录删除即可。

使用回收站内磁盘文件恢复虚拟机

下面介绍使用本地存储回收站内的磁盘文件恢复虚拟机的步骤。

第一步:创建同配置虚拟机。根据虚拟磁盘文件删除前关联的本地磁盘的虚拟机的配置创建虚拟机。

第二步:定位新建虚拟机的本地磁盘文件路径,一般位于/opt/cloud/workspace/disks,也可能变化,需要查看对应磁盘的详情信息,查找存储路径。

第三步:拷贝待恢复磁盘文件,覆盖新建虚拟机的对应磁盘文件。检查磁盘文件是否带backing file,如果带,则也需要把backing file对应的文件也拷贝到指定的路径。