说明:
由于历史磁盘结构原因Ext4 的inode 个数限制(32位数)最多只能有大概40多亿文件。而且Ext4的单个文件大小最大只能支持到16T(4K block size) ,目前来说已经是瓶颈。XFS使用64位管理空间,文件系统规模可以达到EB级别。实际部署时取决于宿主操作系统的最大块限制。
性能对比结论:
高并发压力下:
xfs 的性能比 ext4 高 5-10% 左右。
io利用率
xfs 明显比ext4低,但是cpu 比较高 如果qps tps 在5000以下 etf4 和xfs系统无明显差异。压测过程中 xfs 在高并发 72个并发情况下出现thread_running 抖动,而ext4 表现比较稳定。此结论为借鉴其他大佬测试数据,如有
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
EXT4是2008年推出的,是Linux系统下的日志文件系统第四代拓展文件系统(Fourth Extended Filesystem),是ext3文件系统的后继版本。它是一个真正可靠的文件系统,它几乎在过去几年的大部分发行版中一直是默认选项,它是由比较老的代码生成的。它是一个日志文件系统,意味着它会对文件在磁盘中的位置以及任何其它对磁盘的更改做记录。如果系统崩溃,得益于journal技术,文件系统很少会损坏。
XFS是一种高性能的日志文件系统,最早于1993年,由Silicon Graphics(SGI)为他们的操作系统开发,大概2002年之后被移植到Linux内核上,2009年RHEL Linux版本5.4使用了XFS文件系统。
缺点:XFS文件系统不能缩小,当删除大量文件时会性能下降。
xfs文件系统会把inode存储在磁盘最开始的1T空间里,如果这部分空间被完全填满了。
解决办法:
在挂载时,指定 inode64 选项:
mount -o remount -o noatime,nodiratime,inode64,nobarrier /dev/sdb1 /backup
这个在内核3.7以后的版本 已经解决了。其实默认defaults 挂载参数是,如无其他必要,默认default即可。
(rw,noatime,attr2,inode64,sunit=128,swidth=512,noquota)