当我尝试导出 /home/user/share (ext4) 时,'exportfs -r' 向我返回此错误:
exportfs:警告:/home/user/share 不支持 NFS 导出。
/etc/出口:
/home/user/share 192.168.1.3 (rw,no_subtree_check)
系统是带有 nfs-kernel-server 包的 Ubuntu 10.04。任何想法为什么会发生这种情况?是因为ext4吗?
最近我们遇到了一个问题,其中一个 ext4 文件系统似乎无法处理大量文件,more than 6mln in this case尽管有足够的空间。它6mln是使用所有默认设置格式化时 ext4 文件系统可以拥有的最大数量吗?我试图谷歌它,但没有得到任何明确的答案。任何人都可以在此遮蔽一些光线吗?干杯!!
我试图挂载以前只读挂载的文件系统read-writeable:
mount -o remount,rw /mountpoint
Run Code Online (Sandbox Code Playgroud)
不幸的是它没有工作:
mount: /mountpoint not mounted already, or bad option
Run Code Online (Sandbox Code Playgroud)
dmesg 报告:
[2570543.520449] EXT4-fs (dm-0): Couldn't remount RDWR because of unprocessed orphan inode list. Please umount/remount instead
Run Code Online (Sandbox Code Playgroud)
Aumount也不起作用:
umount /mountpoint
umount: /mountpoint: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
Run Code Online (Sandbox Code Playgroud)
不幸的是没有lsof的fuser不显示位于挂载点下的任何进程访问的东西。
那么 - 我怎样才能清理这个未处理的孤立列表,以便能够在不重新启动计算机的情况下再次挂载文件系统?
最近看了很多关于btrfs的资料。我一直在考虑将 ext4 用于我的下一个文件系统,但是却被 btrfs 所吸引。btrfs 的使用范围有多广?优缺点都有什么?
我经营着一家托管的持续集成公司,我们在 Linux 上运行客户的代码。每次运行代码时,我们都会在单独的虚拟机中运行它。经常出现的一个问题是,客户的测试有时会因为在 VM 上检出的代码的目录顺序而失败。
让我更详细地介绍一下。在 OSX 上,HFS+ 文件系统确保目录总是以相同的顺序遍历。使用 OSX 的程序员假设,如果它在他们的机器上运行,它必须在任何地方运行。但它通常不适用于 Linux,因为 linux 文件系统在遍历目录时不提供排序保证。
例如,假设有 2 个文件,a.rb,b.rb。a.rb 定义MyObject,b.rb 使用MyObject. 如果首先加载 a.rb,一切都会正常。如果首先加载 b.rb ,它将尝试访问未定义的变量MyObject,并失败。
但比这更糟糕的是,它并不总是失败。因为Linux上的文件系统排序是没有顺序的,所以在不同的机器上会是不同的顺序。这更糟糕,因为有时测试通过,有时失败。这是最糟糕的结果。
所以我的问题是,有没有办法使文件系统排序可重复。可能是 ext4 的一些标志,表示它将始终以某种顺序遍历目录?或者可能是具有此保证的不同文件系统?
我有一个小的 logrotate 失误...... Logrotate 会通过失误旋转存档的日志,导致我的/var/log/. 当我发现有什么不对劲的时候,/var/log/已经包含了几百万个文件......
我设法(在一些脱发和 find/sed/grep 魔法之后)删除了所有有问题的文件并修复了我的 logrotate 配置。并认为一切都很好......
每当我ls/du -hs或以其他方式列出/var/log/(现在包含 80mb 的档案/日志和最多几百个文件)的内容时,执行此操作的过程会挂起一两分钟。我确实相信这在某种程度上与 logrotate 事故有关,但我不确定,可能是其他原因。无论如何,我不知道从哪里开始调试或寻找解决方案。请帮助:3
uname -a
Linux xxx 3.3.8-gentoo #18 SMP Sat Sep 21 22:44:40 CEST 2013 x86_64 Intel(R)
Core(TM)2 CPU 4400 @ 2.00GHz GenuineIntel GNU/Linux
cat /proc/meminfo
MemTotal: 2051552 kB
MemFree: 75612 kB
Buffers: 9016 kB
Cached: 1740608 kB
SwapCached: 0 kB
CFQ IO scheduler + SLUB allocator
Run Code Online (Sandbox Code Playgroud)
我想:一个目录中有多少文件太多了?(从网络下载数据)是相关的,但我不再有文件了。 …
我们有一组安装了 Linux、本地 Web 服务器和 PostgreSQL 的消费者终端。我们正在收到有关机器出现问题的现场报告,经过调查,似乎停电了,现在磁盘有问题。
我原以为问题只是数据库损坏,或者最近更改的文件被打乱了,但还有其他奇怪的报告。
index.php现在是目录)数据库损坏存在问题,但这是我可以预料的。我更惊讶的是更基本的文件系统问题——例如,权限或将文件更改为目录。这些问题也发生在最近没有更改的文件中(例如,软件代码和配置)。
这是 SSD 损坏的“正常”吗?最初我们认为它发生在一些便宜的 SSD 上,但我们在名牌(消费级)上发生了这种情况。
FWIW,我们不会在不干净的启动上执行 autofsck(不知道为什么 - 我是新手)。我们在某些地方安装了 UPS,但有时它没有正确完成等。这应该是固定的,但即便如此,人们仍然可以不干净地关闭终端等 - 所以它不是万无一失的。文件系统是ext4。
问题是:我们可以做些什么来缓解系统级别的问题?
我发现一些文章提到关闭硬件缓存或以同步模式安装驱动器,但我不确定这在这种情况下是否有帮助(元数据损坏和非最近更改)。我还阅读了有关以只读模式挂载文件系统的参考资料。我们不能这样做,因为我们需要编写,但如果有帮助,我们可以为代码和配置创建一个只读分区。
这是一个驱动器的例子sudo hdparm -i /dev/sda1:
Model=KINGSTON RBU-SMS151S364GG, FwRev=S9FM02.5, SerialNo=<deleted>
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=125045424
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive …Run Code Online (Sandbox Code Playgroud) 我在这个主题上看到的最后一个真正的问题是大约两年前的(ext4 是否已准备好用于生产)。
在此期间,ext4有何改进?
XFS、JFS和ext3是备用的可靠选择。我只在最近的 Ubuntu 测试/开发环境中使用了 ext4,并没有发现任何问题 - 但它们也是低使用率的工作站、VM 和一次性培训环境。
从速度和可靠性的角度来看,ext4 与 XFS 和 JFS(尤其是)相比已经有 [一些] 时间成熟,现在它如何叠加?
我管理一个包含文件存储的应用程序,其中所有文件都以等于其 md5 总和的文件名存储。所有文件都存储在一个目录中。目前有数千个文件,但很快就会在服务器上达到数百万个文件。当前服务器在 ext4 文件系统上运行 Ubuntu 11.10。
有人告诉我,将多个文件放在一个目录中是不明智的,因为这会显着增加查找时间和可靠性(他有一个关于单个目录可以指向的最大文件数的故事,从而导致一个很大的链表)。相反,他建议使用例如文件名的子字符串创建子目录。但是,这会使我的应用程序中的某些事情变得更加麻烦。
这仍然是真的,还是现代文件系统(例如 ext4)有更有效的方法来处理这个问题并自然扩展?维基百科有一些关于文件系统的详细信息,但它并没有真正说明每个目录的最大文件数或查找时间。