AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[inode](server)

Martin Hope
Andrew Newby
Asked: 2020-09-20 00:04:45 +0800 CST

如何为具有良好读/写速度的较小文件创建磁盘?

  • 2

我正在尝试找到在卷上存储大量小文件的最佳方法,而不会达到 inode 限制。我创建了一个新驱动器:

sudo mkfs.ext4 -N 100000000 /dev/device

这正确显示:

/dev/device  100040704 13929894 86110810   14% /mnt/websites2

但是,它似乎对该驱动器的读/写速度产生了相当大的影响。我正在做一些研究,并遇到:

https://www.tecmint.com/increase-disk-inode-number-in-linux/

他们建议:

sudo mkfs.ext4 -T largefile /dev/device

“小文件”的选项是什么?我似乎找不到任何关于-Tcan 值的文档?另外 - 关于如何为大量小文件(每个约 3-10kb)配置驱动器的任何其他建议,将不胜感激!

inode mkfs
  • 1 个回答
  • 424 Views
Martin Hope
Muhammad Ebrahym
Asked: 2020-07-21 00:34:52 +0800 CST

我们正在将我们的 wordpress 迁移到静态站点。那就是在 1 个文件夹中创建超过 400,000 个文件夹。子文件夹的数量有限制吗?

  • 0

我们的 wordpress 网站已有数年历史,有许多帖子被索引并在 google 上排名很好。对于任何严重的流量,我的 wordpress 服务器都无法使用 - 即使在几轮 wordpress 优化之后也会发生这种情况。我们已经受够了 wordpress 问题,并决定迁移。

我们正在从 wordpress 迁移到静态站点以获得更好的性能,以便不会为每个请求呈现页面,并且静态 html、css、js 和图像文件可以直接由 nginx Web 服务器提供,而不是在后端访问另一台服务器。

问题是我们有超过 400,000 个帖子,每个帖子都有一个静态页面,因此我们将在其中存储相关文件,例如该帖子的 html 和图像文件。所以我们的主网络文件夹将有超过 400,000 个子文件夹。这会是Linux上的问题吗?或者这会成为我的 Web 服务器性能的问题吗?在这种情况下,托管方面有什么我应该关心的吗?

这里有没有人尝试过将 ext4 与 nginx 一起使用,并且文件夹中有大量子文件夹?真的会影响性能吗?有关于 ext4 处理大量文件夹的性能的相互矛盾的报告......我们不希望迁移增加复杂性,除非确实有必要。迁移对我们来说已经是一项艰巨的任务 :) 并且我们希望使其尽可能简单,除非存在性能下降的真正风险。有没有人在单个文件夹中使用具有大量子文件夹或文件的 nginx 网络服务器?

先感谢您。

inode wordpress ext4 cms static-files
  • 3 个回答
  • 168 Views
Martin Hope
Evan
Asked: 2017-05-11 12:52:50 +0800 CST

Lustre:查找使用 inode 的位置

  • 0

我正在寻找一个命令,该命令将同时列出多个目录中的文件数。目前,我可以为单个目录执行此操作:

lfs find DIRECTORY -type f | wc -l

但这重复进行是很乏味的。有人可以想出一种更像这个答案的方法,但是使用 lfs find,而不是 gnu find?

inode
  • 1 个回答
  • 370 Views
Martin Hope
alexus
Asked: 2015-11-28 11:46:57 +0800 CST

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

  • 3

在 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
root@alexus:~# df -i
Filesystem      Inodes   IUsed  IFree IUse% Mounted on
/dev/vda1      1966080 1966080      0  100% /
none            127234      11 127223    1% /sys/fs/cgroup
udev            124520     402 124118    1% /dev
tmpfs           127234     346 126888    1% /run
none            127234       1 127233    1% /run/lock
none            127234      19 127215    1% /run/shm
none            127234       2 127232    1% /run/user
root@alexus:~# 

如何释放 inode?

linux ubuntu disk-space-utilization inode
  • 2 个回答
  • 15649 Views
Martin Hope
MacUsers
Asked: 2012-06-09 00:19:00 +0800 CST

ext4 文件系统最大 inode 限制 - 谁能解释一下?

  • 19

最近我们遇到了一个问题,其中一个 ext4 文件系统似乎无法处理大量文件,more than 6mln in this case尽管有足够的空间。它6mln是使用所有默认设置格式化时 ext4 文件系统可以拥有的最大数量吗?我试图谷歌它但没有得到任何明确的答案。任何人都可以在这里遮挡一下吗?干杯!!

linux filesystems inode ext4
  • 2 个回答
  • 57360 Views
Martin Hope
ckliborn
Asked: 2012-05-23 07:38:03 +0800 CST

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

  • -2

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

这些改变并不容易,所以我正在寻找一些创造性的解决方案。有任何想法吗?

linux filesystems ext3 inode
  • 2 个回答
  • 462 Views
Martin Hope
sysadmin1138
Asked: 2012-05-22 06:50:02 +0800 CST

高目录文件比对 XFS 的影响

  • 6

我们正在构建一个可能会生成非常大的 XFS 卷的产品,并且我正在尝试发现给定架构我们可能遇到的扩展瓶颈。

当我们操作文件时,它们被放置在 XFS 卷上的目录中。由于我们处理的文件数量,文件数肯定在数千万级,并且在发布后不久可能会达到数亿级。我们知道这一点是因为我们当前的产品以这种方式运行,因此有理由期望我们的下一个产品也这样做。

因此,正确的早期工程是有序的。

本周的文件基于以下粗略布局:

$ProjectID/$SubProjectID/[md5sum chunked into groups of 4]/file

它给出的目录看起来有点像:

0123456/001/0e15/a644/8972/19ac/b4b5/97f6/51d6/9a4d/file

分块 md5sum 的原因是为了避免“一个目录中有一大堆文件/目录”的问题。由于 md5sum 分块,这意味着 1 个文件会导致创建 8 个目录。这对 inode 的影响非常明显,但我不清楚一旦我们达到规模,这些影响会对 XFS 产生什么影响。

有什么影响?

顺便说一下,这是内核 2.6.32,目前是 CentOS 6.2(如果需要可以更改)。

在测试中,我使用默认值创建了 xfs 卷,并且没有使用任何挂载选项。这是为了尽早排除问题。noatime很简单,因为我们不需要它。总体 XFS 调整是我需要解决的另一个问题,但现在我担心我们现在设计的元数据乘数效应。


我已经知道更好的解决方案是什么,我只是不知道我是否有理由推动改变。

由于 md5sums 在第一位数字上非常独特,而且单个子项目很少超过 500 万个文件,所以在我看来我们只需要前两个块。这会产生如下布局:

0123456/001/0e15/a644/897219acb4b597f651d69a4d/file

一个完全完整的一级和二级目录将在每个一级目录中有 2 16个一级目录和 2 16个二级目录,卷上总共有 2 32 个目录。

因此,假设的 500 万个文件子项目将有 2× 16个一级目录,每个二级目录大约有 76 (+/- 2) 个二级目录,每个二级目录中有一个或两个三级目录。

这种布局的元数据效率更高。我只是不知道是否值得努力改变现在的情况。

linux filesystems inode xfs
  • 1 个回答
  • 1266 Views
Martin Hope
BenM
Asked: 2010-02-17 02:33:26 +0800 CST

诊断Linux上孤立inode的原因,繁忙的MySQL?

  • 6

我们的一台服务器最近遇到了一些文件系统损坏,我们的根文件系统被自动重新挂载为只读。我采取的恢复步骤是:

  1. 试图remount > mount -n -o remount /这样做失败了
  2. 重新启动服务器
  3. 提示执行手动操作fsck,有 5 个孤立的 inode 需要修复。

执行这些步骤后,我能够访问并且文件系统再次可写。不幸的是,我没有任何信息日志,因为没有人写过,否则我会包括这些。

有人提出的一个原因是我们的数据库太忙而无法将数据正确写入磁盘,这导致了问题,高水平的高速缓存表明这可能是这种情况。但是我不确定这一点,因为虽然缓存很高,但我们根本没有使用交换(free下面的输出)。

$ free -m
             total       used       free     shared    buffers     cached
Mem:          2041       1879        162          0         62       1599
-/+ buffers/cache:        216       1825
Swap:          471          0        471

故障发生后有什么方法可以诊断吗?MySQL 看起来像一个可能的候选者吗?

如果没有,如果再次发生这种情况,我将来应该采取任何步骤吗?

linux mysql filesystems inode corruption
  • 2 个回答
  • 7712 Views
Martin Hope
Amandasaurus
Asked: 2010-02-12 02:58:20 +0800 CST

Linux - 求助,我的 inode 快用完了!

  • 17

我有一个包含很多小文件的文件系统。目前使用了大约 80% 的 inode(我检查了df -i),但是只使用了 60% 的磁盘空间。我怎样才能“增加”inode 的数量?如果只是磁盘空间,我知道我可以增加磁盘的大小(这个磁盘在 LVM 上)。如果我增加磁盘的大小,那会让我有更多的 inode 吗?

如果有帮助的话,我愿意扩大这个磁盘所在的文件系统。

hard-drive linux inode
  • 6 个回答
  • 32366 Views
Martin Hope
Tom Dunham
Asked: 2010-01-21 05:32:29 +0800 CST

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

  • 2

所以我试图找出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/伪/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

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

但是当我查找索引节点号为 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,我看不到比我得到的更多信息pfiles。

# ls -li 0 1 2 3
   6815752 c--------- 1 根系统 13,20 年 1 月 2 日 14:10 0
     26471 --w------- 0 根根 10485812 Jan 20 13:42 1
     26471 --w------- 0 根根 10485812 Jan 20 13:42 2
   6815772 c--------- 1 根系统 13,2009 年 6 月 7 日 12 日 3
# 文件 0 1 2 3
0:特殊字符(13/2)
1:ASCII文本
2:ASCII文本
3:字符特殊(13/12)

(我可以跟踪其中一个 fd 并从中找出它是哪个文件。我问是因为我显然不了解 fd 和 inode 之间的关系足够深入)。

因此,我的进程正在写入某些内容(在某些设备上,使用 inode 26471),然后数据将进入具有不同 inode 编号的文件。谁能给我一个关于这可能是什么的想法(或者甚至让我知道我的推理到目前为止是否完全被打破)?

solaris inode process
  • 1 个回答
  • 2904 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve