我正在考虑一种情况,我会创建一个目录副本,调整一些文件,然后对结果进行一些处理。这会经常做,也许一天几十次。(确切的用例是测试补丁提交;复制代码,修补它,构建/测试/报告/等。)
我正在寻找的东西可以通过创建一个新的目录结构并用来自原始目录的硬链接填充它来完成。但是,这只适用于您使用的所有工具删除和重新创建文件而不是就地编辑它们的情况。
有没有办法让文件系统对文件进行写时复制?
注意:我知道许多 FS 在块级别使用 COW(所有更新都是通过写入新块完成的),但这不是我想要的。
是否有任何 Linux/Unix 工具可以找到一个目录中不存在另一个目录中的所有文件?基本上,我正在寻找适用于 ls 输出的差异。
简短而甜蜜的脚本也很受欢迎。
我在这个主题上看到的最后一个真正的问题是大约两年前的(ext4 是否已准备好用于生产)。
在此期间,ext4有何改进?
XFS、JFS和ext3是备用的可靠选择。我只在最近的 Ubuntu 测试/开发环境中使用了 ext4,并没有发现任何问题 - 但它们也是低使用率的工作站、VM 和一次性培训环境。
从速度和可靠性的角度来看,ext4 与 XFS 和 JFS(尤其是)相比已经有 [一些] 时间成熟,现在它如何叠加?
我有一个带有两个磁盘的 LVM2 卷。较大的磁盘损坏了,所以我不能 pvmove。将它从组中删除以从另一个磁盘保存最多数据的最佳方法是什么?这是我的 pvdisplay 输出:
Couldn't find device with uuid WWeM0m-MLX2-o0da-tf7q-fJJu-eiGl-e7UmM3.
--- Physical volume ---
PV Name unknown device
VG Name media
PV Size 1,82 TiB / not usable 1,05 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 476932
Free PE 0
Allocated PE 476932
PV UUID WWeM0m-MLX2-o0da-tf7q-fJJu-eiGl-e7UmM3
--- Physical volume ---
PV Name /dev/sdb1
VG Name media
PV Size 931,51 GiB / not usable 3,19 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total …Run Code Online (Sandbox Code Playgroud) 我管理一个包含文件存储的应用程序,其中所有文件都以等于其 md5 总和的文件名存储。所有文件都存储在一个目录中。目前有数千个文件,但很快就会在服务器上达到数百万个文件。当前服务器在 ext4 文件系统上运行 Ubuntu 11.10。
有人告诉我,将多个文件放在一个目录中是不明智的,因为这会显着增加查找时间和可靠性(他有一个关于单个目录可以指向的最大文件数的故事,从而导致一个很大的链表)。相反,他建议使用例如文件名的子字符串创建子目录。但是,这会使我的应用程序中的某些事情变得更加麻烦。
这仍然是真的,还是现代文件系统(例如 ext4)有更有效的方法来处理这个问题并自然扩展?维基百科有一些关于文件系统的详细信息,但它并没有真正说明每个目录的最大文件数或查找时间。
我们有一组包含 lucene 索引的目录。每个索引都是不同文件类型的混合(按扩展名区分),例如:
0/index/_2z6.frq
0/index/_2z6.fnm
..
1/index/_1sq.frq
1/index/_1sq.fnm
..
Run Code Online (Sandbox Code Playgroud)
(大约有 10 个不同的扩展名)
我们想按文件扩展名获得总数,例如:
.frq 21234
.fnm 34757
..
Run Code Online (Sandbox Code Playgroud)
我尝试了 du/awk/xargs 的各种组合,但发现做到这一点很棘手。
我想弄清楚为什么kjournald我的机器会发疯。这是一个带有大量内存的 8 核盒子。它有大约 50% 的 CPU 负载。
iotop 似乎没有指向任何特定的进程——这里和那里的一些突发写入(主要是 cron 启动,生成的一些监控统计信息等)当我过去sys/vm/block_dump收集写入统计信息时,我得到了这样的列表:
kjournald(1352): 1909
sendmail(28934): 13
cron(28910): 12
cron(28912): 11
munin-node(29015): 3
cron(28913): 3
check_asterisk_(28917): 3
sh(28917): 2
munin-node(29022): 2
munin-node(29021): 2
Run Code Online (Sandbox Code Playgroud)
当kjournald行动只是写道。
为什么会这样?我还应该注意什么来限制 kjournald 活动?这似乎与实际编写的内容不成比例。
这个问题说明了一切,我想。我依稀记得有一种简单的方法可以做到这一点,但不记得是什么了。