设为首页 收藏本站
查看: 1569|回复: 0

[经验分享] GlusterFS文件占用空间大小显示不统一问题分析

[复制链接]

尚未签到

发表于 2019-2-1 12:43:35 | 显示全部楼层 |阅读模式
  # 这个是2014年写的老文章,当初也没分析完,仅供参考,如有问题欢迎反馈补充。
  

  
  测试环境说明:glusterfs 3.6 replica 2

  正常情况下,文件占用空间大小和文件系统的块大小密切相关。
  如xfs默认的块大小为4K,那么即便创建一个1字节的文件,也会占用4K空间。
  
  客户fuse挂载,创建小文件是以512字节进行计算,因此,在客户端创建100个小于512字节的小文件,就会显示占用50K空间,显示结果如下:
  [root@lab23:/mnt/dzq/test]$ls
  0 12 16 2 23 27 30 34 38 41 45 49 52 56 6 63 67 70 74 78 81 85 89 92 96
  1 13 17 20 24 28 31 35 39 42 46 5 53 57 60 64 68 71 75 79 82 86 9 93 97
  10 14 18 21 25 29 32 36 4 43 47 50 54 58 61 65 69 72 76 8 83 87 90 94 98
  11 15 19 22 26 3 33 37 40 44 48 51 55 59 62 66 7 73 77 80 84 88 91 95 99
  [root@lab23:/mnt/dzq/test]$ls -lh |head
  total 50K
  -rw-r--r-- 1 root root 2 Jan 29 15:33 0
  -rw-r--r-- 1 root root 2 Jan 29 15:33 1
  -rw-r--r-- 1 root root 3 Jan 29 15:33 10
  -rw-r--r-- 1 root root 3 Jan 29 15:33 11
  -rw-r--r-- 1 root root 3 Jan 29 15:33 12
  -rw-r--r-- 1 root root 3 Jan 29 15:33 13
  -rw-r--r-- 1 root root 3 Jan 29 15:33 14
  -rw-r--r-- 1 root root 3 Jan 29 15:33 15
  -rw-r--r-- 1 root root 3 Jan 29 15:33 16
  
  而实际上,其占用的空间并没有这么少,应该按照后台服务器的为准,后台显示结果如下:
  [root@lab21:/letv/disk3/test]$ls
  0 12 16 2 23 27 30 34 38 41 45 49 52 56 6 63 67 70 74 78 81 85 89 92 96
  1 13 17 20 24 28 31 35 39 42 46 5 53 57 60 64 68 71 75 79 82 86 9 93 97
  10 14 18 21 25 29 32 36 4 43 47 50 54 58 61 65 69 72 76 8 83 87 90 94 98
  11 15 19 22 26 3 33 37 40 44 48 51 55 59 62 66 7 73 77 80 84 88 91 95 99
  [root@lab21:/letv/disk3/test]$ls -lh |head
  total 400K
  -rw-r--r-- 2 root root 2 Jan 29 15:33 0
  -rw-r--r-- 2 root root 2 Jan 29 15:33 1
  -rw-r--r-- 2 root root 3 Jan 29 15:33 10
  -rw-r--r-- 2 root root 3 Jan 29 15:33 11
  -rw-r--r-- 2 root root 3 Jan 29 15:33 12
  -rw-r--r-- 2 root root 3 Jan 29 15:33 13
  -rw-r--r-- 2 root root 3 Jan 29 15:33 14
  -rw-r--r-- 2 root root 3 Jan 29 15:33 15
  -rw-r--r-- 2 root root 3 Jan 29 15:33 16
  
  原因在于,后的是xfs文件系统,默认块大小为4K,所以客户端创建一个小于4K的小文件,都会占用4K空间。
  [root@lab21:/letv/disk3/test]$stat -f /letv/disk3/test/
  File: "/letv/disk3/test/"
  ID: fd0200000000 Namelen: 255 Type: xfs
  Block size: 4096 Fundamental block size: 4096
  Blocks: Total: 238263636 Free: 216480157 Available: 216480157
  Inodes: Total: 953520128 Free: 953175313
  
  客户端按照512Byte进行计算,服务器使用4K进行计算,对比如下:
  客户端:
  [root@lab23:/mnt/dzq/new]$ls -lh
  total 1.5K
  -rw-r--r-- 1 root root 513 Jan 29 17:04 a
  -rw-r--r-- 1 root root 55 Jan 29 15:51 b
  
  服务器端:
  [root@lab21:/letv/disk3/new]$ls -lh
  total 8.0K
  -rw-r--r-- 2 root root 513 Jan 29 17:04 a
  -rw-r--r-- 2 root root 55 Jan 29 15:51 b
  
  从客户端看到的块大小是128K,但实际上却是按照512进行计算,这个需要进一步分析原因:
  [root@lab23:/mnt/dzq/new]$stat -f /mnt/dzq/test/
  File: "/mnt/dzq/test/"
  ID: 0 Namelen: 255 Type: fuseblk
  Block size: 131072 Fundamental block size: 131072
  Blocks: Total: 7445738 Free: 6765004 Available: 6765004
  Inodes: Total: 953520128 Free: 953175312
  
  确实应该没有受客户端文件系统影响,客户端文件系统块大小如下:
  [root@lab23:/mnt/dzq/new]$stat -f /mnt/
  File: "/mnt/"
  ID: 3af66a85b8161ce8 Namelen: 255 Type: ext2/ext3
  Block size: 4096 Fundamental block size: 4096
  Blocks: Total: 2015852 Free: 169897 Available: 67497
  Inodes: Total: 512064 Free: 364916
  
  遗留问题:

  •   为什么客户显示块大小为128k,但统计文件所占空间大小时,用的却是512字节?
  •   fuse以128K进行数据传输,从应用场景出发,可以考虑增大后台xfs块大小,来提供小文件性能,待验证。
  

  




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670457-1-1.html 上篇帖子: openstack结合glusterfs存储 其二(部署以及优化) 下篇帖子: GlusterFS标准posix接口兼容性测试说明
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表