标签: ext4

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

关于 ext4 的 FUD 是否合理?或者在某些生产系统中使用是否安全?

我想知道在我的服务器上使用 ext4 是否安全。但我听说过太多关于它的 FUD,我很担心。

我们的系统可能会丢失一些数据,这没什么大不了的。即使是一整天的数据也不会惹恼太多人。我们的系统绝对可以从延迟写入中受益。

也就是说,从备份中恢复完整的文件系统需要几天时间并且是不可接受的。

关于这个主题的任何经验或知情意见?

filesystems ext4

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

Linux:为什么要更改 inode 大小?

Tune2fs 允许将 inode 大小从默认值(ext3 上的 128 字节,ext4 上的 256 字节)更改为几乎任何大小,但它应该是 2 的幂。更改默认 inode 大小的原因是什么?

这里写到可以这样做,以便能够在 inode 中存储 ACL 属性。inode 中还可以存储什么?

是否有任何理由增加现代​​高容量驱动器(2TB 及更多)上的 inode 大小?

linux ext4 inode tune2fs

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

在单个 Linux 服务器上运行不同文件系统的性能影响

这本书“的HBase权威指南”指出,

不建议在单个服务器上安装不同的文件系统。这可能会对性能产生不利影响,因为内核可能必须拆分缓冲区缓存以支持不同的文件系统。据报道,对于某些操作系统,这可能会对性能产生破坏性影响。

这真的适用于Linux吗?我从未见过超过 300 MB 的缓冲区缓存,而且大多数现代服务器都有千兆字节的 RAM,因此在不同文件系统之间拆分缓冲区缓存应该不是问题。我还缺少其他东西吗?

linux performance xfs filesystems ext4

13
推荐指数
2
解决办法
965
查看次数

如何在不干扰服务器的情况下删除数百万个文件

我想删除一个 nginx 缓存目录,我通过以下方式快速清除了该目录:

mv cache cache.bak
mkdir cache
service nginx restart
Run Code Online (Sandbox Code Playgroud)

现在我有一个cache.bak包含 200 万个文件的文件夹。我想在不打扰服务器的情况下删除它。

一个简单的rm -rf cache.bak垃圾服务器,即使是最简单的 HTTP 响应在 rm 运行时也需要 16 秒,所以我不能这样做。

我试过了ionice -c3 rm -rf cache.bak,但没有帮助。服务器有 HDD,而不是 SSD,可能在 SSD 上,这些可能不是问题。

我相信最好的解决方案是某种限制,就像 nginx 的内置缓存管理器所做的那样。

你会如何解决这个问题?有没有什么工具可以做到这一点?

Ubuntu 16.04 上的 ext4

linux ubuntu filesystems ext4

13
推荐指数
2
解决办法
2289
查看次数

stat 命令输出中的“出生”字段是什么

我正在使用 Fedora-16 和 ext4。突然使用 stat 命令我可以看到一个叫做“出生”的东西。

# stat history_file1.txt 
  File: `history_file1.txt'
  Size: 8944            Blocks: 24         IO Block: 4096   regular file
Device: 802h/2050d      Inode: 4192        Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2012-01-18 18:11:10.799900150 +0530
Modify: 2012-01-18 18:11:10.867908793 +0530
Change: 2012-01-18 18:11:10.867908793 +0530
 Birth: -
Run Code Online (Sandbox Code Playgroud)

搜索手册页显示出生实例

%w 文件出生时间,人类可读;- 如果未知

%W 文件出生时间,从Epoch开始的秒数;0 如果未知

这是新增的字段吗?这个字段相对于 inode 存储在哪里?

linux ext4 command stat

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

使用 CentOS 5.5 的 Crucial C300 SSD 上的 ext4 SSD TRIM(丢弃)问题

在较旧的操作系统(CentOS 5.5)上使用现代内核(当前为 2.6.37),以便我们可以在我们的 SSD(Crucial C300s)上使用 TRIM(丢弃)。

最新的 hdparm (9.37) 一致认为 C300 支持 TRIM:

./hdparm -I /dev/sdc | grep TRIM
       *    Data Set Management TRIM supported (limit unknown)
       *    Deterministic read data after TRIM
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用丢弃选项挂载 /dev/sdc 时,内核似乎不同意:

EXT4-fs warning (device sdc): ext4_issue_discard:2619: discard not supported, disabling
Run Code Online (Sandbox Code Playgroud)

当我输入这个时,我们正在尝试其他 Linux 版本,但无论如何知道发生了什么会很好。

这是 CentOS 5.5 的其他一些古老组件误导内核的表现吗?或者 hdparm 是否使用与内核不同的机制来确定是否支持 TRIM?

linux ext4 ssd centos trim

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

子目录的数量如何影响 Linux 上的驱动器读/写性能?

我在 Linux CentOS 服务器上有一个 EXT3 格式的驱动器。这是一个 Web 应用程序数据驱动器,包含每个用户帐户(有 25,000 个用户)的目录。每个文件夹都包含该用户上传的文件。总的来说,这个驱动器上大约有 250GB 的数据。

使用所有这些目录构建驱动器是否会影响驱动器读/写性能?它会影响我不知道的其他一些性能方面吗?

以这种方式构建事物是否存在本质上的错误或不好的地方?也许只是文件系统的错误选择?

我最近尝试合并两个数据驱动器并意识到 EXT3 仅限于 32,000 个子目录。这让我想知道为什么。考虑到每个文件都有一个与数据库中的 id 相对应的唯一 id,我以这种方式构建它似乎很愚蠢。唉...

linux performance filesystems ext4 ext3

11
推荐指数
4
解决办法
3445
查看次数

如何恢复 fsck 后损坏的 ext4 文件系统?

我在软件 raid5 上的 luks 上有一个 ext4 文件系统。当我开始耗尽空间时,文件系统“很好”运行了几年。我在 6x2T 驱动器上有 9T 卷。我通过执行 mdadm 失败、删除、添加、重建、重复过程开始升级到 3T 驱动器,直到我拥有更大的阵列。然后我增大了 luks 容器,然后当我卸载并尝试调整大小 2fs 时,我收到消息文件系统很脏并且需要 e2fsck。

没想到我只是做了 e2fsck -y /dev/mapper/candybox 并且它开始喷出各种被删除的 inode 类型消息(记不清了)我杀死了 e2fsck 并尝试重新安装文件系统以备份我关心的数据。此时尝试安装时,我得到:

# mount /dev/mapper/candybox /candybox
mount: wrong fs type, bad option, bad superblock on /dev/mapper/candybox,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
Run Code Online (Sandbox Code Playgroud)

回顾我的旧日志,我注意到每次机器启动时文件系统都会出现此错误:

kernel: [79137.275531] EXT4-fs (dm-2): warning: mounting fs with errors, running e2fsck is …
Run Code Online (Sandbox Code Playgroud)

linux filesystems ext4 data-recovery

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

Ext4 使用和性能

我有一组运行 Carbon 和 Graphite 的机器,我需要扩展以获取更多存储空间,但我不确定是否需要向上扩展或向外扩展。

该集群目前包括:

  • 1个中继节点:接收所有指标并转发到相关的存储节点
  • 6 个存储节点:容纳所有 Whisper DB 文件

问题是当磁盘使用率接近 80% 时,性能似乎一落千丈。集群写入 IOPS 从近乎恒定的 13k 下降到更混乱的平均 7k 左右,IOwait 时间平均为 54%。

我已经查看了我们的配置存储库,自 4 月初以来没有任何更改,因此这不是配置更改的结果。

问:增加磁盘大小会控制IO性能,还是需要添加更多存储节点?

注意:这里没有 SSD,只有很多主轴。

相关图表:

磁盘使用情况 IOPS 中央处理器 碳缓存 每秒指标

统计和资料:

e2freefrag

[root@graphite-storage-01 ~]# e2freefrag /dev/vda3
Device: /dev/vda3
Blocksize: 4096 bytes
Total blocks: 9961176
Free blocks: 4781849 (48.0%)

Min. free extent: 4 KB
Max. free extent: 81308 KB
Avg. free extent: 284 KB
Num. free extent: 19071

HISTOGRAM OF FREE EXTENT SIZES:
Extent Size Range :  Free …
Run Code Online (Sandbox Code Playgroud)

linux filesystems ext4 graphite

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

标签 统计

ext4 ×10

linux ×8

filesystems ×7

ext3 ×2

performance ×2

centos ×1

command ×1

data-recovery ×1

graphite ×1

inode ×1

reiserfs ×1

ssd ×1

stat ×1

trim ×1

tune2fs ×1

ubuntu ×1

xfs ×1