问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ZFS删除文件后空间没有释放,怎么破

发布网友 发布时间:2022-04-09 10:01

我来回答

2个回答

懂视网 时间:2022-04-09 14:22

    zdb命令本身是可以查阅man zdb或zdb –help提供帮助的,无奈帮助太过简洁,而且省略了很多非常重要、有用的参数,正巧这几天研究,就记录一下。

    以下假设pool的名称为case2.2:





zdb –uuu case2.2

    作用:显示case2.2的活动uberblock,并显示其DVA,结果如下图所示:


 技术分享




zdb –ddddd case2.2

    作用:显示所有文件系统集合上的对象的详细摘要信息,导出后有用信息太多了。足够看N久的了。



zdb –ddddd case2.2/ 4

    作用:显示case2.2用户文件系统下第4号节点文件的摘要信息,包括dva信息等,如果是zdb –ddddd case2.2 4,则表示是meta集合的第4号节点的摘要信息。

技术分享




#!/bin/bash
echo "readzfsobj.sh <poolname> <objectid> <outfile>"
touch $3
zdb -ddddd $1/ $2 |sed -n "/^  *[0123456789abcdef]*  *L0 * /p" |awk ‘{print $3}‘|while read line
do
    #echo "zy:$line"
    zdb -R $1 $line:r >>$3
done

       作用:使用此shell脚本,配合zdb命令,即可导出指定对象,主要用于研究目录等非文件集合数据。如通过ls -i 命令知道某个目录的节点号,执行

 readzfsobj.sh case2.2 4 root.img

即可将文件系统根目录块导出成一个普通文件,再用二进制工具查看则较容易读懂mzap,fatzap的结构。

    大致原理:假设有一大目录id是13,因执行zdb -ddddd case2.2  13时,会列出如下图所示目录的地址索引信息,通过sed命令过滤出这些行,再通过awk打印其中的DVA。最后,通过一行一行地执行zdb -R 命令把块导出后输入到目标文件中(本示例为去掉压缩选项后的处理方案,如果有压缩,需做针对性处置)。

技术分享





引用:http://cuddletech.com/?p=407 中的一段zdb命令的说明

 

    There are 3 arguments that are really the core ones of interest, but fefore we get to them, you absolutely must understand something unique about zdb. ZDB is like a magnifying glass, at default magnification you can see that its tissue, turn up the magnification and you see that it has veins, turn it up again and you see how intricate the system is, crank it up one more time and you can see blood cells themselves. With zdb, each time we repeat an argument we increase the verbosity and thus dig deeper. For instance, zdb -d will list the datasets of a pool, but zdb -dd will output the list of objects within the pool. Thus, when you really zoom in you’ll see commands that look really odd like zdb -ddddddddd. This takes a little practice to get the hang of, so please toy around on a small test pool to get the hang of it.

    Now, here are summaries of the 3 primary arguments you’ll use and how things change as you crank up the verbosity:


  • zdb -b pool: This will traverse blocks looking for leaks like the default form.


  • -bb: Outputs a breakdown of space (block) usage for various ZFS object types.

  • -bbb: Same as above, but includes breakdown by DMU/SPA level (L0-L6).

  • -bbbb: Same as above, but includes line line per object with details about it, including compression, checksum, DVA, object ID, etc.

  • -bbbbb…: Same as above.


  • zdb -d dataset: This will output a list of objects within a dataset. More d’s means more verbosity:


  • -d: Output list of datasets, including ID, cr_txg, size, and number of objects.

  • –dd: Output concise list of objects within the dataset, with object id, lsize, asize, type, etc.

  • -ddd: Same as dd.

  • -dddd: Outputs list of datasets and objects in detail, including objects path (filename), a/c/r/mtime, mode, etc.

  • -ddddd: Same as previous, but includes indirect block addresses (DVAs) as well.

  • -dddddd….: Same as above.


  • zdb -R pool:vdev_specifier:offset:size[:flags]: Given a DVA, outputs object contents in hex display format. If given the :r flag it will output in raw binary format. This can be used for manual recovery of files.

  • 本文出自 “张宇(数据恢复)” 博客,请务必保留此出处http://zhangyu.blog.51cto.com/197148/1857185

    ZFS调试命令zdb之进阶用法

    标签:zfs   文件系统   zdb   

    热心网友 时间:2022-04-09 11:30

    用命令查看一下看看。

    建议用df -h命令,可读性好一些。
    从你这个信息来看,/分区已用100%,问题可能就出在这里吧?

    不知你用的什么方法删除的备份文件?用的rm命令?如果是这样的话,恐怕是在删除的时候生成了以~开头的一些垃圾文件占用了的。
    建议用下面的命令查看一下
    sudo find / -name ~* -exec -h {} \;

    如果这样找不到。则要用命令逐个查看一下/分区各文件占用空间的情形。

    有可能是回收站的原因造成的.如此可以用下面的命令解决:

    cd ~ && cd .local/share/Trash/files
    rm -rf *

    请注意,必须先运行第一条命令后再输入第二命令,否则可能误删除的.
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    小白开始做牛腩烧番茄前,应该做哪些准备? 普洱茶不管是纯料还是拼配它本身就很有意思 普洱茶的纯料VS拼配,谁更值得珍藏? 为什么我们听到熟悉的歌曲的音乐会感觉在唱歌词呢? abs制动防抱死系统什么时候用到 请问有谁知道离朝阳北路的煊特嘉园(炫特区)最近的浩沙健身俱乐部在哪 ... 朝阳北苑郊野公园有哪些 北苑哪些公园 北京北苑健身有哪些 王者荣耀黄忠开大怎么转圈 鸭血保质期 火,本,牛,网,采,刃,暮,哪些是象形字,会意字,指事字 鸟、采、豆、龟哪个字与其他三项造字不同? 采这个字是什么意思? 采、飞、众、休是象形字、会意字、还是形声字? 采是什么字啊??象形字?? &quot;采&quot;字的形态特点和意义 本、末、桐、案、闷、林、北、刃、采、瓜分别是什么字?(象形、指事、会意、形声) 采字一个模样的字,读什么 采的象形字的什么意思 采表示手在树上摘果子,下列汉字也属于这种类型的是? iPhone怎么用手柄吃鸡 请问: 怎样申请百家号作者,有费用吗?。 手柄如何玩吃鸡手游啊? 盖世小鸡t1s手柄怎么连接安卓手机吃鸡 怎么用ps5手柄玩绝地求生国际服 请问本科护理大三可以报考护士资格证吗, 参加成人高考学的护理专业可以考执业护士资格证吗 任何人是不是都可以报考护士资格证 *第一学历毕业证丢了,第二学历大专可以报考*证吗,现场认证就拿第二学历毕业证可以吗 问在瑞士留学的同胞朋友,在瑞士买法尔曼面膜能不能买到比较低的价格的 英国怎么买法尔曼 法尔曼院线版怎么买 香港哪里有VALMNOT法尔曼专柜? 法尔曼蜜润精华本土版和香港版有什么区别? 怎样擦除不干胶上的字迹 苹果手机无服务硬件问题维修多少钱 苹果5升级8后出现无服务,去售后修好,谁晓得需要好多钱!!! 玻璃上的不干胶字如何清理干净?? 熊样为什么形容懦弱的人,熊不是很威猛吗? 苹果5日版升级ios8无服务怎么办修要多少钱 “熊样儿”说法的来历? 有没有维修店的朋友?我iPhone 8 Plus焊接下sim卡槽需要多少钱鸭 .“我觉得全世界的熊全都一个熊样。 ”是什么意思啊 有人对我说:【你看你这个熊样】,是什么意思呀 瞧你那熊样是什么意思 熊样指什么 是窝囊 蠢 笨 虎落平阳 还是表面装的 实际很狡猾;东北话“血熊”也是这个意思吗 东北女人给男人说熊样是啥意思? 熊样什么意思 是窝囊 蠢 笨 虎落平阳 还是表面装的 实际很狡猾;东北话“血熊”也是这个意思吗 安徽话熊样是啥意思