linux - centos存入21G文件,却占用了0.5T!
天蓬老师
天蓬老师 2017-04-17 11:54:15
0
3
340

请看df后的空间,/dev/sdb2使用21G,可用的只剩9.4T?
这是为什么呢?

存储硬盘做的一个raid5,分为sdb1和sdb2,但这空间的使用率实在不了解!

系统为centOS 6.2

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复 (3)
迷茫
data block (数据区块) data block 是用来放置文件内容数据地方,在 Ext2 文件系统中所支持的 block 大小有 1K, 2K 及 4K 三种而已。在格式化时 block 的大小就固定了,且每个 block 都有编号,以方便 inode 的记录啦。 不过要注意的是,由于 block 大小的差异,会导致该文件系统能够支持的最大磁盘容量与最大单一文件容量并不相同。 因为 block 大小而产生的 Ext2 文件系统限制如下:(注2) Block 大小 1KB 2KB 4KB 最大单一文件限制 16GB 256GB 2TB 最大文件系统总容量 2TB 8TB 16TB 你需要注意的是,虽然 Ext2 已经能够支持大于 2GB 以上的单一文件容量,不过某些应用程序依然使用旧的限制, 也就是说,某些程序只能够捉到小于 2GB 以下的文件而已,这就跟文件系统无关了! 举例来说,鸟哥在环工方面的应用中有一套秀图软件称为PAVE(注3), 这套软件就无法捉到鸟哥在数值模式仿真后产生的大于 2GB 以上的文件!害的鸟哥常常还要重跑数值模式... 除此之外 Ext2 文件系统的 block 还有什么限制呢?有的!基本限制如下: 原则上,block 的大小与数量在格式化完就不能够再改变了(除非重新格式化); 每个 block 内最多只能够放置一个文件的数据; 承上,如果文件大于 block 的大小,则一个文件会占用多个 block 数量; 承上,若文件小于 block ,则该 block 的剩余容量就不能够再被使用了(磁盘空间会浪费)。 如上第四点所说,由于每个 block 仅能容纳一个文件的数据而已,因此如果你的文件都非常小,但是你的 block 在格式化时却选用最大的 4K 时,可能会产生一些容量的浪费喔!我们以底下的一个简单例题来算一下空间的浪费吧! 例题: 假设你的Ext2文件系统使用 4K block ,而该文件系统中有 10000 个小文件,每个文件大小均为 50bytes, 请问此时你的磁盘浪费多少容量? 答: 由于 Ext2 文件系统中一个 block 仅能容纳一个文件,因此每个 block 会浪费『 4096 - 50 = 4046 (byte)』, 系统中总共有一万个小文件,所有文件容量为:50 (bytes) x 10000 = 488.3Kbytes,但此时浪费的容量为:『 4046 (bytes) x 10000 = 38.6MBytes 』。想一想,不到 1MB 的总文件容量却浪费将近 40MB 的容量,且文件越多将造成越多的磁盘容量浪费。 什么情况会产生上述的状况呢?例如 BBS 网站的数据啦!如果 BBS 上面的数据使用的是纯文本文件来记载每篇留言, 而留言内容如果都写上『如题』时,想一想,是否就会产生很多小文件了呢? 好,既然大的 block 可能会产生较严重的磁盘容量浪费,那么我们是否就将 block 大小订为 1K 即可? 这也不妥,因为如果 block 较小的话,那么大型文件将会占用数量更多的 block ,而 inode 也要记录更多的 block 号码,此时将可能导致文件系统不良的读写效能。 所以我们可以说,在您进行文件系统的格式化之前,请先想好该文件系统预计使用的情况。 以鸟哥来说,我的数值模式仿真平台随便一个文件都好几百 MB,那么 block 容量当然选择较大的!至少文件系统就不必记录太多的 block 号码,读写起来也比较方便啊!

http://vbird.dic.ksu.edu.tw/linux_basic/0230filesystem.php#harddisk-physical

计算公式鸟哥已经说明得很详细了,现在的就是需要知道你的文件系统的block大小和你的文件大小了。

例如这样:

dumpe2fs /dev/sda1 dumpe2fs 1.41.12 (17-May-2010) Filesystem volume name:  Last mounted on: /boot Filesystem UUID: 5eb34a6a-2052-4ce8-b934-3edbe3e54226 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 25688 Block count: 102400 Reserved block count: 5120 Free blocks: 34497 Free inodes: 25642 First block: 1 Block size: 1024 Fragment size: 1024 Reserved GDT blocks: 256 Blocks per group: 8192 Fragments per group: 8192 Inodes per group: 1976 Inode blocks per group: 247 Flex block group size: 16 Filesystem created: Fri Jul 25 00:21:47 2014 Last mount time: Tue Sep 9 13:59:09 2014 Last write time: Tue Sep 9 13:59:09 2014 Mount count: 19 Maximum mount count: -1 Last checked: Fri Jul 25 00:21:47 2014 Check interval: 0 () Lifetime writes: 66 MB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 128 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: 72c449e9-7aae-4fea-b1cd-82587b77c4ee Journal backup: inode blocks Journal features: (none) 日志大小: 4096k Journal length: 4096 Journal sequence: 0x00000073 Journal start: 1
    迷茫

    小文件自重。

    每个小文件默认会占用4K的大小,即便小文件只有1B。

    就是Edwin原 说的block大小。

      刘奇

      Linux会给root保留一部分空间,你可以Google搜索一下“linux file system reserved space”看看。

        最新下载
        更多>
        网站特效
        网站源码
        网站素材
        前端模板
        关于我们 免责声明 Sitemap
        PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!