Tune2fs允许将inode大小从默认值(ext3上的128个字节,ext4上的256个字节)更改为几乎任何值,但应该是2的幂。 更改默认inode大小的原因是什么? 这里写的是可以这样做,以便能够在inode中存储ACL属性。 还有什么可以存储在一个inode? 现代高容量硬盘(2TB以上)的inode尺寸有没有增加的理由?
我有一个只有128MB内存的小型embedded式设备 连接到这个设备是一个2TB的USB2硬盘 我一直对设备的性能感到非常高兴,直到最近当文件数量已经超过了磁盘容量的阈值已经跨越了一个门槛(我不知道是哪个) 在磁盘上有很多小文件,由于编写应用程序文件的性质以非常均衡的方式组织 – 没有叶节点目录有超过200个文件,并且只有超过800,000个文件。 我希望能find一些可以调查的东西。 磁盘性能大幅下降,该设备相当不错,然后突然性能下降像一块石头。 我的假设是,我为磁盘文件select的组织结构已经损害了索引节点caching的能力。 作为一个实验,我卸下了磁盘(冲洗caching,免费validation)。 然后从命令提示符我深入到目录结构。 所有告诉这个目录(和它的孩子)只有大约3200个文件包含在它下面,在这一点上'免费'显示大于117MB的可用内存 在这一点上,我input命令“查找”,然后“免费” “查找”显示约3000个文件,但内存使用从大约117MB到大约2MB 我了解caching与可用内存的平衡,以及内核如何将空白页面视为不良页面 – 然而,从3000个文件目录中caching的115MB内容指向了我认识的严重缺口。 我希望有人能帮助我理解发生了什么 我可以假设一个平衡的树是有很多文件去的方式吗?
在像btrfs这样的文件系统上,你可以执行一个清理(scrub),通过所有的数据来查看数据是否与文件系统校验和相匹配。 我想检查ext4上的数据,如果在备份前是正确的。 题 ext4没有文件系统校验和,但可以做类似的东西吗?
我在Linux CentOS服务器上安装了EXT3格式的驱动器。 这是一个Web应用程序数据驱动器,并包含每个用户帐户的目录(有25,000个用户)。 每个文件夹都包含该用户上传的文件。 总的来说,这个驱动器上有大约250GB的数据。 使用所有这些目录构build驱动器是否会影响驱动器的读/写性能? 它是否影响我不知道的其他性能方面? 以这种方式构造事物是否有内在的错误或坏处? 也许只是文件系统的错误select? 我最近尝试合并两个数据驱动器,并意识到EXT3限于32,000个子目录。 这让我想知道为什么。 看起来很愚蠢,我这样构build它,考虑到每个文件都有一个唯一的id,对应于数据库中的一个id。 唉…
你对生产环境中的ext4文件系统有什么看法? 我们非常接近启动我们的项目,这个项目将经常使用数千万更新不是很大的文件,我们需要决定使用哪个FS。 有一段时间我们对其他linux FS的考虑是: Ext3是稳定的,但不太适合处理数百万个小文件 XFS看起来非常好,可能我们会用它 ReiserFS …好吧…模糊的未来,谁最终会修复错误?
我在软件raid5上有一个ext4文件系统。 这个文件系统在我开始用尽空间的时候已经运行了好几年了。 我在6x2T硬盘上有9T的容量。 我开始通过执行mdadm失败,删除,添加,重build,重复过程,直到我有一个更大的arrays升级到3T驱动器。 然后,我长大的容器,然后当我卸载,并试图resize2fs我被告知文件系统是脏的,需要e2fsck。 没有想到我只是做了e2fsck -y / dev / mapper / candybox,它开始喷出各种inode被删除的types的消息(不能准确记得)我杀了e2fsck,并试图重新安装文件系统备份我关心的数据。 当试图挂载在这一点上,我得到: # mount /dev/mapper/candybox /candybox mount: wrong fs type, bad option, bad superblock on /dev/mapper/candybox, missing codepage or helper program, or other error In some cases useful info is found in syslog – try dmesg | tail or so 回顾一下我的旧日志,我注意到文件系统在每次启动机器时都出现这个错误: kernel: [79137.275531] […]
在较早的操作系统(CentOS 5.5)上使用现代内核(当前为2.6.37),以便我们可以在我们的SSD(Crucial C300)上获得TRIM(丢弃)。 最近的hdparm(9.37)认为C300支持TRIM: ./hdparm -I /dev/sdc | grep TRIM * Data Set Management TRIM supported (limit unknown) * Deterministic read data after TRIM 但是,当我尝试使用discard选项来挂载/ dev / sdc时,内核似乎并不一致: EXT4-fs warning (device sdc): ext4_issue_discard:2619: discard not supported, disabling 我们正在尝试其他的Linux风格,但是不pipe怎样,知道发生了什么都是很好的。 这是CentOS 5.5的一些其他古老组件的一种performance,它误导了内核? 也许是hdparm使用与内核不同的机制来确定是否支持TRIM?
我有一堆运行Carbon和Graphite的机器,我需要扩展以获得更多存储空间,但是我不确定是否需要扩展或扩展。 该集群目前包括: 1中继节点:接收所有指标并转发到相关的存储节点 6个存储节点:包含所有的Whisper DB文件 问题是,当磁盘在80%的使用率附近时,性能从悬崖上掉下来。 集群写入IOPS从接近常数13k下降到更为混乱的7k左右,IOwait时间平均达到54%。 我已经看了我们的configuration回购,并且从四月初以来没有变化,所以这不是configuration更改的结果。 问题:增加磁盘大小是否会使IO性能得到控制,还是需要添加更多的存储节点? 注意:这里没有固态硬盘,只有很多很多的主轴。 相关图表: 统计和东西: e2freefrag : [root@graphite-storage-01 ~]# e2freefrag /dev/vda3 Device: /dev/vda3 Blocksize: 4096 bytes Total blocks: 9961176 Free blocks: 4781849 (48.0%) Min. free extent: 4 KB Max. free extent: 81308 KB Avg. free extent: 284 KB Num. free extent: 19071 HISTOGRAM OF FREE EXTENT SIZES: Extent […]
我想删除一个nginxcaching目录,我很快就清除了这个目录: mv cache cache.bak mkdir cache service nginx restart 现在我有一个有200万个文件的cache.bak文件夹。 我想删除它,而不会打扰服务器。 一个简单的rm -rf cache.bak服务器,即使最简单的HTTP响应在rm运行时也需要16秒,所以我不能这么做。 我试过ionice -c3 rm -rf cache.bak ,但是没有帮助。 服务器有一个硬盘,而不是一个SSD,可能在SSD上,这可能不成问题。 我相信最好的解决scheme会是某种限制,比如nginx的内置cachingpipe理器。 你将如何解决这个问题? 有什么工具可以做到这一点? 在Ubuntu 16.04上的ext4
最近我们遇到了这样一个问题,ext4文件系统似乎无法处理大量的文件, more than 6mln in this case ,尽pipe有足够的空间。 最大数量是6 6mln ,使用所有默认设置进行格式化时,ext4文件系统可以有吗? 我试图谷歌,但没有得到任何明确的答案。 任何一个人在这里可以遮光一下吗? 干杯!!