标签: inode

xfs:在前 1 TB 上查找文件

我被 xfs' No space left on device击中。根据常见问题解答:

http://xfs.org/index.php/XFS_FAQ#Q:_Why_do_I_receive_No_space_left_on_device_after_xfs_growfs.3F

解决此问题的唯一方法是移动数据以释放 1TB 以下的空间。找到最旧的数据(即在第一次增长之前就已经存在)并将其移出文件系统(移动,而不是复制)。然后,如果您将其重新复制,数据块最终将超过 1TB,这应该为低于 1TB 的 inode 留出足够的空间。

但是我如何识别要移动的数据呢?我不能按年龄计算,因为前 10 TB 是在同一天使用rsync.

我试过了:

xfs_db -r -c "blockget -i 1 -n -v" /dev/md3
Run Code Online (Sandbox Code Playgroud)

但我似乎只得到文件的基本名称,而不是文件的完整路径。而且由于我的很多文件都被称为相同的(但在不同的目录中),所以这不是很有用。它似乎也给了我更多信息,只是 inode 1。

我有一种感觉,我可以使用xfs_db它来告诉我前 1 TB 中哪些文件正在使用块,但我一直无法看到如何使用。

(通过使用挂载选项inode64,文件系统不会在设备上留下 No space left,但是如果您稍后忘记使用 mount 选项,inode64那么您将再次在设备上获得No space left on device。我想避免使用挂载选项,inode64因为文件系统可能会被其他人安装在其他系统上,他们忘记这一点,从而得到令人惊讶的No space left on device)。

xfs inode

5
推荐指数
1
解决办法
1226
查看次数

我可以删除 nginx client_body_temp 目录中的文件吗?

在我的 nginx 服务器上,我无法登录我的 wordpress 站点。错误日志提到“设备上没有剩余空间”。

2014/09/26 02:02:05 [crit] 1197#0: *32 open() "/usr/local/nginx/client_body_temp/0030999742" 失败(28:设备上没有剩余空间)

有空间,但我发现我的 inode 使用率是 100%

我已经找到了数量惊人的文件到/usr/local/nginx/client_body_temp有太多文件无法计算的地方。

所以我的问题是:这个目录有什么用,我可以删除这些文件吗?

nginx inode

5
推荐指数
1
解决办法
6329
查看次数

为什么 linux 发行版不默认安装具有无限 inode 的 tmpfs?

根据这个答案,至少可以挂载具有“无限”inode 的 tmpfs。

考虑这种特定的(出于示例目的而选择的数字,我知道它们不现实)情况:

  • tmpfs 分区被卷使用了 50%
  • 90% 的数据是 inode(即 45% 的磁盘被 inode 使用,5% 被“真实”数据使用)
  • tmpfs 已安装 nr_inodes=1000
  • 所有 1000 个 inode 都被当前写入的 inode 占用

这意味着,tmpfs的是50%满,但任何试图写它会导致空间不足错误的。

在我看来,设置nr_inodes=0(又名无限 inode)会使这种情况消失。

  • 无限inode不是默认设置是否有原因?
  • 限制文件系统上的 inode 数量的原因是什么?

linux filesystems inode

4
推荐指数
1
解决办法
3038
查看次数

如何拯救没有空闲 inode 的服务器(来自 DDOS)

我的一台 Web 服务器遭到 DDOS 攻击。一切都很好,除了有数百万个 PHP 会话文件占用了分区的 100% 索引节点。整个 / 只有一个分区

尝试了几种解决方案,但只能在一定程度上起作用。 https://unix.stackexchange.com/questions/37329/efficiently-delete-large-directory- contains-thousands-of-files?newreg=07f276292205457ab9975a0ea68e9273

http://www.slashroot.in/which-is-the-fastest-method-to-delete-files-in-linux

释放 8% 的 inode 后,磁盘变得非常慢,无法再删除任何内容。

rm -f filename* 

rsync -a --delete empty_dir/    yourdirectory/

perl -e 'for(<*>){((stat)[9]<(unlink))}'
Run Code Online (Sandbox Code Playgroud)

现在磁盘看起来像这样

Filesystem      Inodes   IUsed  IFree IUse% Mounted on
/dev/vda1      2621440 2385895 235545   92% /
tmpfs           128789       1 128788    1% /dev/shm
Run Code Online (Sandbox Code Playgroud)

一个目录中仍然有 600 万个以上的小文件。上述方法以大约 2 个文件/秒的速度删除

我阅读了有关 b 树重新平衡的信息。但是如何诊断/解决缓慢删除问题?

``

linux filesystems inode

4
推荐指数
1
解决办法
1442
查看次数

-bash:无法为此处的文档创建临时文件:设备上没有剩余空间

在 shell 中执行选项卡、选项卡时出现以下错误:

-bash:无法为此处的文档创建临时文件:设备上没有剩余空间

root@alexus:~# cat /etc/issue.net
Ubuntu 14.04.3 LTS
root@alexus:~# uname -a
Linux alexus 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
root@alexus:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        30G   17G   11G  61% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            487M  4.0K  487M   1% /dev
tmpfs           100M  404K  100M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            498M  352K  497M   1% /run/shm
none            100M     0  100M   0% /run/user …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu disk-space-utilization inode

3
推荐指数
1
解决办法
2万
查看次数

进程打开了不在任何文件系统上的 inode?

所以我试图找出stderr进程的 的 是否已被重定向到某种异常(它是一个 java 进程,我想要一个线程转储,但它是通过一组启动脚本启动的)。

我找到了我的过程pgrep,并用它pfiles来查看那里有什么:

4366:/foo/bar/platform/solaris2/jre_1.5.0/bin/java -Xmx2048m -Xms10
当前 rlimit:65536 个文件描述符
 0: S_IFCHR 模式:0666 dev:302,0 ino:6815752 uid:0 gid:3 rdev:13,2
    O_RDONLY|O_LARGEFILE
    /devices/pseudo/mm@0:null
 1: S_IFREG 模式:0640 dev:85,56 ino:26471 uid:0 gid:0 size:10485812
    O_WRONLY|O_LARGEFILE
 2: S_IFREG 模式:0640 dev:85,56 ino:26471 uid:0 gid:0 size:10485812
    O_WRONLY|O_LARGEFILE
 3: S_IFCHR 模式:0666 dev:302,0 ino:6815772 uid:0 gid:3 rdev:13,12

所以我可以看到stdoutstderr(文件描述符 1 和 2)指向同一个地方;我认为它们被重定向到启动脚本中的同一个文件,所以这符合。

但是当我查找 inode 编号为 26471 的文件时,我看到了:

# 查找/-inum 26471
/usr/share/man/man3mlib/mlib_MatrixScale_S16_U8_Sat.3mlib
/proc/4366/fd/1
/proc/4366/fd/2
/proc/4366/fd/83

第一个命中是(我确定)不同文件系统上的文件。中的三个条目/proc是我的进程已打开的 fds。

往里看/proc/4366 …

solaris process inode

2
推荐指数
1
解决办法
2846
查看次数

使用 Inode 值恢复任何已删除的文件?

请纠正我如果我错了

如果您有文件的 inode 编号,则可以恢复已删除的文件。

linux inode

2
推荐指数
1
解决办法
2863
查看次数

交换可以使用多个 inode 吗?

我有一张关于服务器磁盘的高 inode 使用率的图表,但我没有任何详细信息(如df -i),所以我想猜测原因。

  • 操作系统:红帽 Linux
  • 流程:PDF生成

swap inode

2
推荐指数
1
解决办法
1051
查看次数

很多小文件的文件系统

我使用 NetApp 设备作为 NAS 存储。我有很多小文件(30-60k)和目录。例如我有:30000 个目录和另外 1000-2000 个目录。

很多目录都是空的,但大多数目录都有很多文件(30k)。

我应该更改 Ext3 上的块大小吗?

linux ext3 netapp inode

1
推荐指数
1
解决办法
1405
查看次数

如何增加 ReiserFS 文件系统中的 inode 限制?

是否可以在不格式化分区的情况下增加 ReiserFS 中的 inode 限制?

目前,我的 VPS 上的文件系统允许我创建 489K 的 inode,这还不够。该机器用作在线服务器,因此不能选择磁盘格式。

linux filesystems reiserfs quota inode

0
推荐指数
1
解决办法
1519
查看次数

如何“欺骗”一个 ext3 目录来存储超过 32000 个子目录

简单的答案是 1.) 移动到 ext4 和/或 2.) 以某种方式“分片”目录 - 通过将它们放在带有编号或字母的子文件夹中。

但是,这些更改并不容易,因此我正在寻找一些创造性的解决方案。有任何想法吗?

linux filesystems ext3 inode

-2
推荐指数
2
解决办法
454
查看次数