ubuntu:20.04 tls ZFS 释放磁盘空间
事件起因
本地笔记本当初使用时,为了工作方便和公司要求
将系统重装为ubuntu系列,我选择了目前较新稳定版本的 ubuntu:20.04
。
在工作使用中,我也没去看过磁盘状况,因为这个电脑有一个T
的磁盘空间,我也就工作上使用它,又没有被拿来当存储服务器之类的,索性就没关注过它。
一次闲暇的时间,我正常的清空了我保留了30天的回收站(27.5G) 大小,清空回收站也等待一会时间。清理完后,也算是偶然,我使用 df -h
查看磁盘状况,发现
我的家目录空间比以往少了近50个G,哈哈,少了50个G的容量,不是占住使用了50多个G,我当时就挺懵逼的。想想也是嘛,你每天清理,删除的文件、目录 都没有是否磁盘空间,相当于你的磁盘容器在越用越少,就问你懵不懵。
问题解决
我上网搜索了一下相关文档,发现ubuntu:20.04 tls 默认已经加载了ZFS操作,在当初安装时,有可能是我没仔细看吧,选到的是ZFS格式的。
ZFS 模式下 删除文件是不会释放磁盘空间
的: 我根据ZFS官网和使用了解解释为: ZFS模式下删除文件a,会在删除文件a时创建了一个快照b,就相当于是你光删除文件a是不行的,还有删除a对应的快照b才能释放磁盘空间,这就很坑。
我们来试一下删除快照是否会释放磁盘空间:
获取快照
sudo zfs list -t all
我们从中选择一个磁盘占用较大的快照来进行删除,这样容易判断删除快照磁盘是否有效果,这里选择了一个 rpool/ROOT/ubuntu_bf5s6u@autozsys_bpvtfy
根空间的快照
删除快照
sudo zfs destroy rpool/ROOT/ubuntu_bf5s6u@autozsys_bpvtfy
可以看到,删除快照后,/
磁盘空间容量多出了3个G大小,从目前来看,没有遇到啥错误类似的,ZFS释放磁盘空间应该就是这样操作吧。