我们正在考虑构建一个约 16TB 的存储服务器。目前,我们正在考虑将 ZFS 和 XFS 作为文件系统。有什么优点、缺点?我们需要寻找什么?还有第三种更好的选择吗?
我在各种 Linux 服务器上将 XFS 文件系统作为数据/增长分区运行了近 10 年。
我注意到最近运行 6.2+ 版本的 CentOS/RHEL 服务器有一个奇怪的现象。
从 EL6.0 和 EL6.1 迁移到较新的操作系统版本后,稳定的文件系统使用变得高度可变。最初安装 EL6.2+ 的系统表现出相同的行为;显示 XFS 分区上磁盘利用率的剧烈波动(请参见下图中的蓝线)。
我开始检查文件系统中是否有大文件和失控进程(可能是日志文件?)。我发现我最大的文件报告的值与du和不同ls。du使用和不使用--apparent-size开关运行说明了差异。
# du -skh SOD0005.TXT
29G SOD0005.TXT
# du -skh --apparent-size SOD0005.TXT
21G SOD0005.TXT
Run Code Online (Sandbox Code Playgroud)
在整个文件系统中使用ncdu 实用程序进行快速检查,结果如下:
Total disk usage: 436.8GiB Apparent size: 365.2GiB Items: 863258
Run Code Online (Sandbox Code Playgroud)
文件系统充满了稀疏文件,与之前版本的操作系统/内核相比,损失了近 70GB 的空间!
我仔细阅读了Red Hat Bugzilla并更改了日志,以查看是否有任何关于 XFS 的相同行为或新公告的报告。
纳达。
我在升级过程中从内核版本 …
CentOS 7文件系统是XFS,并且resize2fs不起作用。我需要缩小/home到 400G 并将 100G 空间添加到/. 我该怎么办?
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 50G 341M 100% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 84K 7.8G 1% /dev/shm
tmpfs 7.8G 778M 7.0G 10% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda1 497M 241M 257M 49% /boot
tmpfs 1.6G 16K 1.6G 1% /run/user/42
tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/mapper/centos-home 500G 20G 480G 4% /home …Run Code Online (Sandbox Code Playgroud) 我的用例:我在 M.2 SSD 上安装了 Ubuntu Server 18.04。我有一个 4TB 硬盘,我想添加为存储。由于它主要用于大型媒体文件和备份,因此不会经常写入。
您认为哪种文件系统最适合此用例?
我的主要候选者是 Ext3/4、XFS、Btrfs 和 ZFS(随意争论另一个)。
我不是在问“什么是最好的文件系统?”——没有“最好的”这样的东西。 我只是问人们哪个文件系统可能最适合这个用例。请尝试包括:
谢谢你的建议。
最新版本的 RHEL/CentOS (EL6) 给我十多年来严重依赖的XFS 文件系统带来了一些有趣的变化。去年夏天,我花了一部分时间来追查由文档记录不足的内核向后移植导致的XFS 稀疏文件情况。其他人在迁移到 EL6 后遇到了不幸的性能问题或不一致的行为。
XFS 是我用于数据和增长分区的默认文件系统,因为它比默认的 ext3 文件系统提供稳定性、可扩展性和良好的性能提升。
2012 年 11 月出现的 EL6 系统上的 XFS 问题。我注意到我的服务器显示异常高的系统负载,即使在空闲时也是如此。在一种情况下,卸载的系统将显示 3+ 的恒定负载平均值。在其他情况下,负载增加了 1+。挂载的 XFS 文件系统的数量似乎会影响负载增加的严重程度。
系统有两个活动的 XFS 文件系统。升级到受影响的内核后,负载为 +2。

深入挖掘,我在XFS 邮件列表上发现了一些线程,这些线程指向xfsaild处于STAT D状态的进程频率增加。相应的CentOS Bug Tracker和Red Hat Bugzilla条目概述了问题的细节,并得出结论,这不是性能问题;只有在比2.6.32-279.14.1.el6更新的内核中报告系统负载时出错。
卧槽?!?
在一次性情况下,我知道负载报告可能没什么大不了的。尝试使用您的 NMS 和数百或数千台服务器来管理它!这是在2012年11 月在EL6.3 下的内核2.6.32-279.14.1.el6 中发现的。内核2.6.32-279.19.1.el6和2.6.32-279.22.1.el6在随后几个月(2012 年 12 月和 2013 年 …
我们有一个带有 4 TB 文件系统的 Linux 服务器,用于存储 subversion 存储库。有许多存储库,其中一些已经使用了好几年。
磁盘最初约为 1 TB,但我们开始耗尽空间并在大约一年前将其增加到 4 TB。现在,人们报告无法将文件签入他们的存储库。错误信息是No space left on device。
该磁盘有大约 1.5 TB 的空闲空间,并且还报告有空闲的 inode - 但是,无法在其上创建新文件。仍然可以更新旧文件,并且会间歇性地更新一些存储库,但是下次尝试时相同的存储库可能会失败。
我最近有一个 XFS 文件系统由于电源故障而损坏。(CentOS 7 系统)。系统无法正常启动。
我从救援 cd 启动并尝试xfs_repair,它告诉我挂载分区以处理日志。
我安装了分区,并进行了ls验证,是的,它似乎在那里。我卸载了分区并xfs_repair再次尝试并得到相同的消息。
在这种情况下我该怎么办?我的救援 CD(系统救援 CD,版本 4.7.1)有问题吗?我应该使用其他一些程序吗?
我最终只是从备份中恢复系统(在这种情况下它既快速又简单),但我想知道将来要做什么。
我们有一个 12 TB RAID 6 阵列,它应该设置为具有XFS文件系统的单个分区。在创建新文件系统时,它说它有 78 GB 正在使用中,但驱动器上没有文件。
[root@i00a ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 11M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sdb3 154G 3.9G 150G 3% /
/dev/sdb2 1014M 153M 862M 16% /boot
/dev/sdb1 599M 6.7M 593M 2% /boot/efi
/dev/sdc1 187G 1.6G 185G 1% /var
tmpfs 6.3G 0 6.3G 0% /run/user/0
/dev/sda1 11T 78G 11T …Run Code Online (Sandbox Code Playgroud) 我在 XFS 文件系统上有一个文件,其大小约为 200 GB。它是一个 QCOW2 映像,其中包含一个 KVM 驱动的虚拟机的虚拟磁盘。出了点问题(也许是 qemu-kvm 的一些故障,我不确定),虚拟机崩溃了,现在我有一个看起来像这样的文件:
191090708 -rwxr--r--. 1 root root 737571587400425984 Oct 10 10:03 973d10e0-a5e3-4a59-9f98-4b9b9f072ade
Run Code Online (Sandbox Code Playgroud)
因此,它仍然占用 191090708 个块,但ls显示为 656 PB。
此外,我还有另一个具有相同史前史的文件,但位于另一个文件系统(不是 XFS,而是 GFS2)上:
410855320 -rwxr--r--. 1 root root 7493992262336241664 Dec 13 2014 ac2cb28f-09ac-4ca0-bde1-471e0c7276a0
Run Code Online (Sandbox Code Playgroud)
它占用 410855320 个块,但ls显示为 ~6.6艾字节。
你怎么看,删除这些文件是否安全?谢谢!
PS 定期拍摄快照真是太好了!:) 我不知道没有他们我会做什么。
对 linux IO 系统有一定经验的人的任何见解都会有所帮助。这是我的故事:
最近建立了一个由六个 Dell PowerEdge rx720xds 组成的集群,通过 Ceph 提供文件。这些机器在两个插槽上有 24 个内核,有两个 numa 区域和 70 GB 的内存。磁盘被格式化为一个磁盘的突袭(否则我们看不到直接暴露它们的方法)。网络由 mellanox infiniband IP over IB 提供(IP 数据包在内核领域变成 IB,而不是硬件)。
我们将每个 SAS 驱动器安装如下:
# cat /proc/mounts | grep osd
/dev/sdm1 /var/lib/ceph/osd/ceph-90 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdj1 /var/lib/ceph/osd/ceph-87 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdu1 /var/lib/ceph/osd/ceph-99 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdd1 /var/lib/ceph/osd/ceph-82 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdk1 /var/lib/ceph/osd/ceph-88 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdl1 /var/lib/ceph/osd/ceph-89 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdh1 /var/lib/ceph/osd/ceph-86 xfs rw,noatime,attr2,inode64,noquota 0 0
/dev/sdo1 /var/lib/ceph/osd/ceph-97 xfs …Run Code Online (Sandbox Code Playgroud)