标签: xfs

如果稳定性是最重要的,如何格式化 XFS 分区

我们想使用 XFS 来格式化服务器中的一些分区。高性能当然是我们的目标,但我们更喜欢稳定性。例如,如果发生断电,我们希望快速恢复 FS。在这种情况下,如果分区损坏并且不能再使用,这是不可接受的。我们可以更改 mkfs.xfs 的选项以提高稳定性吗?

有些人建议这样做:

mkfs.xfs –b size=4096 –s size=4096 /dev/sdx -f
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 块 4096 字节是否对性能来说太小了?如果我改进它,是否会影响稳定性?

  2. 扇区大小应该由低级块设备驱动程序考虑,为什么 XFS 也有“扇区大小”?如果系统是具有传统 512 字节扇区支持的 Linux,将其设置为 4096 字节有什么问题吗?

linux xfs filesystems

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

无法再挂载 XFS 分区

我的服务器上有 9 个分区格式化为 XFS。

当我尝试安装其中一个时,它失败了。其他人安装得很好。

root@fileserver2 # mount | grep xfs | head -1
/dev/sdb1 on /mnt/hdd1 type xfs (rw,noatime)

root@fileserver2 # mount -t xfs /dev/sdf3 /mnt/hdd3
mount: wrong fs type, bad option, bad superblock on /dev/sdf3,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

root@fileserver2 # dmesg | tail -2
XFS (sdf3): bad magic number
XFS (sdf3): SB validate failed
Run Code Online (Sandbox Code Playgroud)

所以我尝试使用 xfs_repair -n …

partition xfs

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

如何增加 XFS 文件系统的大小?

我刚刚创建了一个运行RHEL7以下命令的 Amazon AWS EC2 实例:

[root@ip-10-184-161-46 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@ip-10-184-161-46 ~]# 
Run Code Online (Sandbox Code Playgroud)

即使我选择了10GB作为我的存储容量,无论出于何种原因,我只看到6GB可供我立即使用的容量:

[root@ip-10-184-161-46 ~]# mount | grep xfs | grep -v selinux
/dev/xvda1 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@ip-10-184-161-46 ~]# df -h | grep xvda
/dev/xvda1      6.0G  2.2G  3.9G  37% /
[root@ip-10-184-161-46 ~]# fdisk -l /dev/xvda

Disk /dev/xvda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size …
Run Code Online (Sandbox Code Playgroud)

xfs redhat rhel7

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

XFS 的默认日志提交间隔是多少?

Ext3 和 Ext4 的默认日志提交间隔为 5 秒,可以通过 'commit' 挂载选项更改。

每当我使用 Ext3/4 在 Linux VM 中执行任何文件操作时,例如“echo test > my_new_file”(根据挂载选项,这可能只写入文件元数据,或者文件数据后跟其元数据,但这是一个单独的问题)

XFS 的默认日志提交间隔是多少?可以配置吗?

我找不到任何记录的 XFS 挂载选项。使用 XFS,我确实看到创建新文件后磁盘图标可能不会闪烁超过 10 秒。正如预期的那样,如果我在看到磁盘活动之前使内核崩溃,则在重新启动后 my_new_file 将不存在。此外,正如预期的那样,如果我在看到磁盘活动后使内核崩溃,这通常是 XFS 日志提交活动,因此如果此时内核崩溃,重新启动后 my_new_file 将存在,但将为空。

linux xfs

6
推荐指数
1
解决办法
2878
查看次数

sunit=0 和 swidth=0 对 XFS 文件系统意味着什么?

我在创建系统时使用默认参数创建了一个 XFS 文件系统。现在在看的输出xfs_info,它显示为0的值sunitswidth。在这种情况下,我似乎无法解释 0 的含义。(的讨论sunitswidth发现都集中在这些参数设置正确的值,而不是将它们设置为0)

# xfs_info .
meta-data=/dev/mapper/centos-root isize=256    agcount=8, agsize=268435455 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=1927677952, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Run Code Online (Sandbox Code Playgroud)

这必须是一个无知的问题,为此,我很抱歉,因为我是一个新手,XFS,但什么是0值的含义sunitswidth?我如何才能找出 XFS 真正用于这些参数值的内容,以及这些值与适合我的 RAID 阵列的值之间的关系?(这是一个位于硬件 RAID 之上的 LVM 之上的 XFS 系统。)

linux raid xfs filesystems performance-tuning

6
推荐指数
1
解决办法
2798
查看次数

为什么当我将 XFS 文件系统放在上面时,我的 SSD 读取延迟基准会明显变差?

我正在对基于SuperMicro E300-8D的小型服务器盒进行基准测试。我已经安装了带有最新更新的最新 CentOS 7.5、64GB DDR4-2100 RAM 和三星 970 EVO 1TB NVMe SSD。操作系统安装在 USB 记忆棒上的内部 USB 端口中,因此除了在我的基准测试期间,SSD 完全没有使用。

ScyllaDB使用的基准测试方法的启发,我的测试目标是找到此 SSD 的最佳并发级别。为此,我使用了diskplorer,它在内部用于fio探索并发与 IOPS 和延迟之间的关系。它会生成如下所示的方便图表。在所有情况下,我都使用 4K 随机读取工作负载。

问题是我得到的结果毫无意义。这是第一个结果:

生的 /dev/nvme0n1

$ sudo ./diskplorer.py --device=/dev/nvme0n1 --filesize=256G 
Run Code Online (Sandbox Code Playgroud)

赢了!

这是太棒了!三星自己的规格表声称读取 IOPS 为 500K,20 次并发读取时,我得到了近 600K。右边的轴是以纳秒为单位的读取延迟,红线是平均延迟,误差线是 5% 和 95% 的延迟。所以看起来这个 SSD 的理想并发级别是大约 20 次并发读取,产生极好的延迟 < 100us。

那只是原始SSD。我会将 XFS 放在上面,它针对异步 I/O 进行了优化,而且我确信它不会增加任何显着的开销......

使用新的 XFS 文件系统 /dev/nvme0n1

$ sudo mkfs.xfs /dev/nvme0n1
$ sudo mount /dev/nvme0n1 /mnt
$ sudo ./diskplorer.py --mountpoint=/mnt --filesize=256G 
Run Code Online (Sandbox Code Playgroud)

威士忌酒。 探戈。 狐步。

什么!?这是 …

performance xfs ssd

6
推荐指数
1
解决办法
663
查看次数

chown 整个设备的最快方法 (xfs)

我需要在一个驱动器上 chown 150 万个文件。我目前正在做:

sudo chown -R www-data:www-data /root-of-device
Run Code Online (Sandbox Code Playgroud)

但是运行需要很长时间。我想知道是否有某种超快的低级方式来 chown 驱动器上的每个文件。

linux xfs chown

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

XFS:设备上没有剩余空间

我在小硬盘(/dev/sdb1,小于150G)上使用XFS并存储许多小文件(-32KB)。df -h 和 -i 显示它有可用空间。

# df-hv
已使用的文件系统大小 可用 使用% 安装于
/dev/sda3 127G 19G 102G 16% /
tmpfs 16G 0 16G 0% /lib/init/rw
udev 16G 168K 16G 1% /dev
tmpfs 16G 0 16G 0% /dev/shm
/dev/sda1 99M 20M 75M 21% /boot
/dev/sdb1 136G 123G 14G 91% /mnt/sdb1
# df -iv
文件系统索引节点 IUsed IFree IUse% 挂载于
/dev/sda3 8421376 36199 8385177 1% /
tmpfs 4126158 5 4126153 1% /lib/init/rw
udev 4124934 671 4124263 1% /dev
tmpfs 4126158 1 4126157 1% /dev/shm
/dev/sda1 …

linux xfs

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

7Zip 在 Linux 上解压速度很慢

在linux xfs上解压7zip,里面有很多小文件,解压速度好慢。

我的测试系统环境。

  • 系统 1:XenServer 上的 2vCore/4GB CentOS 6.5 64 位来宾。
  • 系统2:XenServer 上的2vCore/4GB Windows 2012 来宾。

大小文件创建脚本

#!/bin/bash

for i in {1..100000}
do
    dd if=/dev/zero of=./dmp/dd$i.dmp bs=1K count=4
done
Run Code Online (Sandbox Code Playgroud)

好的。我在 dmp 目录中得到了 100,000 个 4KB 文件。然后我用xfs格式化/testfs。

测试

Compression Time on System1 :
   # time 7za a dmp.7z ./dmp     --> real   0m27.518s
Extraction Time on System1: 
   # time 7za x dmp.7z -o/testfs --> real   9m5.420s
   - 7za use only single core.
   - Dirent system call use most of the CPU time. …
Run Code Online (Sandbox Code Playgroud)

linux windows xfs xenserver

5
推荐指数
1
解决办法
2929
查看次数

何时使用xfs_copy,何时使用xfsdump

我即将将数据从一个 XFS 文件系统复制到另一个(较小的)XFS 文件系统。复制时可能会卸载文件系统。我不想担心 ACL、SELinux 上下文等,所以我正在查看 xfs_copy 和 xfsdump。

什么时候应该使用 xfs_copy 而不是 xfsdump,反之亦然?一个比另一个快吗?

linux xfs

5
推荐指数
1
解决办法
4302
查看次数