Articles of inode

为什么linux发行版默认不能使用无限的inode安装tmpfs?

根据这个答案 ,可以用“无限”inode至less安装tmpfs。 考虑这个具体(数字select为例子的目的,我知道他们是不现实的)情况: tmpfs分区是50%使用的卷 90%的数据是inode(即45%的磁盘被inode使用,5%被“真实”数据使用) 使用nr_inodes=1000安装tmpfs 这些inode中的所有1000个都被当前写入的inode占用 这意味着tmpfs已经满了50%,但是任何写入的尝试都会导致空间不足错误。 在我看来,设置nr_inodes=0 (又名无限inode)会使这种情况消失。 有没有一个理由,无限的inode不是默认的? 有什么理由限制文件系统上的inode数量?

文件系统的很多小文件

我正在使用NetApp设备作为NAS存储。 我有很多小文件(30-60k)和dirs。 例如,我有:30000与另外1000-2000 dirs的dirs。 很多dirs是空的,但他们中的大多数有很多文件(30k)。 我应该改变块大小的Ext3?

Windows中的函数与Linux中的Inode类似?

是否有任何命令与Linux中的函数inode相同? 任何信息将有所帮助。

我该如何解决这个问题:EXT4-fs警告(device sda3):ext4_dx_add_entry:目录索引已满

我注意到,在dmesg和syslog我有这样的事情: EXT4-fs warning (device sda3): ext4_dx_add_entry: Directory index full! 我也检查过df -i: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 182943744 27534820 155408924 16% / 而我看到IUse%是16%。 我重新启动了服务器,但它又发生了。 我检查我有太多的文件,最大的数字是在一个文件夹中的3200个文件。 这是多less? 我发现在谷歌 – 我可以尝试fsck,但我怎么能在装载系统上做到这一点。 我认为这是不可能的,否则会导致我的数据崩溃。 你有什么想法吗? 非常感谢你的帮助。 拉法尔

在运行时重新创build文件系统(需要更多的inode)

我在一台有3HDD的数据中心上运行了一台机器,运行着Debian Wheezy,其中一台机器上装有一个ext4文件系统,里面的数据已经用完了inode(我在安装时select了一个不合适的inode大小,预期)。 将分区内容复制到另一个分区是没有问题的,但是我想知道在“生产环境”中应该采取哪些预防措施(没有什么严重的btw)。 我需要避免重新启动机器,并启动新的文件系统–recreated – 可挂载 谢谢! -Rodrigo

为成千上万的0字节locking文件设置tmpfs`/ run / lock`,并处理inode限制

我有一种情况,我需要为并发控制创build数百个成千上万个0字节的locking文件。 我testing了使用以下方法创build它们: for i in `seq 1 50000`; do touch "/run/lock/${i}.lock"; done 由于这些文件是0字节,所以在分区中没有任何空间。 看着df -h : Filesystem Size Used Avail Use% Mounted on tmpfs 50M 344K 49M 1% /run none 5.0M 0 5.0M 0% /run/lock none 246M 0 246M 0% /run/shm none 100M 0 100M 0% /run/user 0%数字在/run/lock行中根本不会改变。 但是,每个锁文件的内存大小平均增加大约1KB。 我通过在/run/lock内创build70,000个锁文件之前和之后比较free -h发现了这一点。 这种内存增加反映在实际内存使用情况(虚拟内存减去缓冲区/caching)中。 后来我发现这个1KB的增长很可能是由于inode。 所以我使用df -i检查了inode的使用情况: […]

无法从HP模块化智能arrays(MSA20)安装SCSI

我已经购买了带有MSA20模块化智能arrays的HP dl360 g4p。 目前我已经安装Arch Linux,因为我有一些graphics问题。 但这不是我问一个问题的原因。 安装arrays时出现问题。 我目前有两个逻辑驱动器,包括RAID 6中的500GB硬盘驱动器。 在Linux中,两个逻辑驱动器显示为两个单独的设备(/ dev / cciss / c0d0和/ dev / cciss / c0d1),大小为1800 GB。 将这两个设备分区到/ dev / cciss / c0d0p1和/ dev / cciss / c0d1p1没有问题。 但是,在安装分区时,哪里出了问题。 错误消息如下所示: random_server_name% sudo mount /dev/cciss/c0d1p1 /mnt/disk1 mount: wrong fs type, bad option, bad superblock on /dev/cciss/c0d1p1, missing codepage or helper program, or […]

在ext4中服务大量的小图片

我读了一些类似的问题,但仍然对我的情况有些混淆。 我的网站允许用户上传大量的大图像(扫描书页)。 我的服务器将自动平铺和保存这些图像。 所以每个页面将成为10万个小的平铺器(每个图像是128px * 128px,占用2k空间)。 我有大约100GB的图像,现在他们已经填满了所有的inode表。 这是我的理解,如果我错了,请纠正我。 MySQL blob 好处:不需要担心inode /目录结构。 不足之处:图片放慢,可能会减慢整个数据库的速度 文件系统 好处:更快的图像服务 缺点:备份速度慢,额外的目录devise,需要大的inode大小(这也意味着我必须重新格式化我的服务器磁盘) mongoDB BinData与base64(我不熟悉这个,但它似乎是一个不错的select) 亚马逊S3 好处:他们照顾一切 缺点:需要赚钱,并失去对这些图像的完全控制。 (更新:我可能不允许使用第三方提供商,但是我仍然会在这里生活,因为对于其他人来说这可能是一个很好的解决scheme,根据@Niels的build议。) 其他魔术很棒的解决 所以我想知道哪种情况最好,为什么。 感谢帮助

什么是INODE使用,我可以减less它?

我的networking服务器不断给我错误备份失败,由于高INODE使用…这是什么,我怎么能防止它?

如何确定哪些进程的大部分inode已打开

这是我的问题,在慕尼黑图表visibile: 我使用/打开的inode“突然”不断增加。 有没有办法确定哪个进程保持当前打开的inode最多? 我用https://unix.stackexchange.com/questions/117093/find-where-inodes-are-being-使用的方法,并find并清理一些文件夹与邮件和日志,我可以摆脱…仍然,如果inode是开放的,那么必须有一些进程保持使用,对吧? 这可能不一定是增加来自文件最多的文件夹 – 或者我错了吗? 所以我想看看是谁让他们打开,然后跟踪使用情况,看看增加的来源 更新 基于Andrew的脚本,我创build了一个也显示进程名称的版本。 因为我有一些运行的nginx / apache进程可能会重新生成,所以我希望在进程名称上看到结果。 for dir in /proc/*/fd; do echo -n "$dir "; pid=`expr "$dir" : '\/proc\/\(.*\)\/.*'`; # extract the pid pname=`ps -p $pid -o comm=`; # grab process name echo -n "$pname "; ls $dir 2>/dev/null | wc -l; done | sort -n -k 3 […]