首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xfs性能慢;ls挂起

xfs性能慢;ls挂起
EN

Server Fault用户
提问于 2018-04-13 07:52:54
回答 1查看 5.9K关注 0票数 2

centos7存储服务器上的xfs有一个非常奇怪的问题。在lvm中的这个特定fs上,它在许多不同的场合都非常缓慢。起初,我认为这是一种读和/或写,因为4.5GB iso文件的cp比在一个好fs中花费的时间长100倍。我想知道这是否是对齐的问题。但是现在它挂在一个简单的ls -lh上,在这个文件系统中没有其他任何事情发生,在这里肯定有其他非常错误的地方.

请看一下这一系列命令。ls一开始很好,然后经过文件创建测试,第二个ls挂起:

代码语言:javascript
复制
# cd perf_test/
# ls
CentOS-7-x86_64-DVD-1708.iso  CentOS-7-x86_64-DVD-1708.iso.cp1
# ls -l
total 8830984
-rw-rw-r--. 1 t    t    4521459712 Sep  6  2017 CentOS-7-x86_64-DVD-1708.iso
-rw-r--r--. 1 root root 4521459712 Apr  9 21:47 CentOS-7-x86_64-DVD-1708.iso.cp1
# date; time -p dd if=/dev/zero of=test.dd bs=1k count=64k ; echo $? ; date
Thu Apr 12 23:50:58 PDT 2018
65536+0 records in
65536+0 records out
67108864 bytes (67 MB) copied, 0.264055 s, 254 MB/s
real 0.27
user 0.02
sys 0.24
0
Thu Apr 12 23:50:58 PDT 2018
# ls -lh
(this ls has been running for 20 minutes now and still hasn't returned)

如果我打开另一个ssh会话,/bin/ls将立即返回-lh。当然,默认版本的ls被别名为-color,它需要更长的时间来统计所有的inode(对于所有3个文件),它肯定不应该挂起吗?

FS是一个非常新的版本,其数据很少:/dev/mapper/data02 02-datalv02 125T 1.1T124T1%/mnt/tmp_ data 02

发生了一些奇怪的事情:

  • FS和它的LV“主机”都是在~10 FS时创建的,然后是lvextend +500 g/xfs_growfs,还有lvExtendedXFS125T/xfs_growfs。
  • 早期的功能测试还可以。
  • 开始复制文件到它。现在是1.1TB。
  • 在时光机上,它感觉好像很慢。
  • 发出重启,花了很长时间(5+分钟),认为机器被挂起,决定关机。
  • 需要很长时间才能再次挂载fs (就像24+小时)。
  • 但是fs现在可以非常快地完成和安装。

有关sw堆栈的一些详细信息:

代码语言:javascript
复制
# uname -a
Linux roost 3.10.0-693.17.1.el7.x86_64 #1 SMP Thu Jan 25 20:13:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# rpm -qa | grep xfs
xfsprogs-4.5.0-12.el7.x86_64
xfsdump-3.1.4-1.el7.x86_64

RAID卡:

代码语言:javascript
复制
b3:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS-3 3108 [Invader] (rev 02)

它是一个带有16x10 TB驱动器的raid 6“虚拟磁盘”。LVM2在这个VD上,在这个卷组上有两个XFS。另一个XFS卷运行良好,尽管这是一个123 FS的FS。

有什么可能是错的,我该如何解决呢?

谢谢!

T

代码语言:javascript
复制

谢谢您的反馈:)

我不得不杀了它。杀人-9不起作用。我必须杀死父级的bash过程。

我卸载,xfs_repair (它花了25个小时),再次安装。

4.5GB iso文件的第一个cp非常慢。根据不同的raid卷,xfs花费了826秒而不是预期的8秒。

奇怪的是,在预期的8秒内完成了同一个文件的第二个cp测试。我想知道我是否击中了:https://groups.google.com/forum/#!topic/linux.kernel/kG1gtLc7R8Q中提到的bug

我还没看完那条长长的线,想看看解决办法是什么。但是,对于xfs来说,现在的“农业数量太大”是什么?

代码语言:javascript
复制
# xfs_info /dev/datavg02/datalv02
meta-data=/dev/mapper/datavg02-datalv02 isize=512    agcount=5295839, agsize=6336 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=33554432000, imaxpct=25
         =                       sunit=64     swidth=64 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=1605, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

至于数据..。下面是iotop和iostat在第一个cp中的几个快照,它们花费了预期时间的100倍:

代码语言:javascript
复制
# date; time -p cp CentOS-6-x86_64-DVD-1708.iso CentOS-7-x86_64-DVD-1708.iso.after_xfs_repair ; echo $? ; date
Sat Apr 14 23:00:55 PDT 2018
real 826.37
user 0.04
sys 5.96
1
Sat Apr 14 23:14:41 PDT 2018


Total DISK READ :     650.00 K/s | Total DISK WRITE :    1040.00 K/s
Actual DISK READ:     650.00 K/s | Actual DISK WRITE:       0.00 B/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                        
222036 be/4 root        0.00 B/s    3.82 K/s  0.00 %  0.00 % tee iotop.out   
   937 be/4 root        0.00 B/s    3.82 K/s  0.00 %  0.00 % rsyslogd -n [rs:main Q:Reg]
380133 be/4 root      650.00 K/s    0.00 B/s  0.00 %  0.00 % [kworker/u896:0]
  1489 be/4 ganglia     0.00 B/s 1032.35 K/s  0.00 %  0.00 % gmetad -d 1
  2048 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % X :0 -background none -noreset -audit 4 -verbose~tabase -seat seat0 -nolisten tcp vt1 [llvmpipe-6]
     1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 21
     2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
     3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
  2052 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % X :0 -background none -noreset -audit 4 -verbose~abase -seat seat0 -nolisten tcp vt1 [llvmpipe-10]
     5 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
  2054 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % X :0 -background none -noreset -audit 4 -verbose~abase -seat seat0 -nolisten tcp vt1 [llvmpipe-12]
     7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
     8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_bh]
     9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_sched]
    10 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    11 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/1]
    12 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]
    13 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/1]
    15 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/1:0H]
    16 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/2]
    17 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/2]



Total DISK READ :     567.90 K/s | Total DISK WRITE :    1008.77 K/s
Actual DISK READ:     567.90 K/s | Actual DISK WRITE:    1374.92 K/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                        
380133 be/4 root      567.90 K/s    0.00 B/s  0.00 %  0.00 % [kworker/u896:0]
  1489 be/4 ganglia     0.00 B/s 1008.77 K/s  0.00 %  0.00 % gmetad -d 1 
  2048 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % X :0 -background none -noreset -audit 4 -verbose~tabase -seat seat0 -nolisten tcp vt1 [llvmpipe-6]
     1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 21
     2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
     3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
  2052 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % X :0 -background none -noreset -audit 4 -verbose~abase -seat seat0 -nolisten tcp vt1 [llvmpipe-10]
     5 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
  2054 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % X :0 -background none -noreset -audit 4 -verbose~abase -seat seat0 -nolisten tcp vt1 [llvmpipe-12]
     7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
     8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_bh]
     9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_sched]
    10 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    11 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/1]
    12 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]
    13 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/1]
    15 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/1:0H]
    16 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/2]
    17 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/2]
    18 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/2]
  2051 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % X :0 -background none -noreset -audit 4 -verbose~tabase -seat seat0 -nolisten tcp vt1 [llvmpipe-9]
    20 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/2:0H]
    21 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/3]
    22 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/3]
    23 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/3]
    25 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/3:0H]
    26 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/4]
    27 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/4]
    28 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/4]
    30 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/4:0H]
    31 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/5]
    32 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/5]
    33 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/5]
    35 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/5:0H]
    36 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/6]
    37 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/6]
    38 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/6]
    40 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/6:0H]
    41 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/7]
    42 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/7]
    43 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/7]
    45 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/7:0H]
    46 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/8]
    47 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/8]
    48 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/8]
  2056 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % X :0 -background none -noreset -audit 4 -verbose~abase -seat seat0 -nolisten tcp vt1 [llvmpipe-14]
    50 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/8:0H]



avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.28    0.00    0.28    0.01    0.00   99.44

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda             261.80         1.60      1130.40          8       5652
sdb              21.80      3072.00         0.00      15360          0
sdc             155.60       622.40         0.00       3112          0
dm-0            262.20         1.60      1130.40          8       5652
dm-1              0.00         0.00         0.00          0          0
dm-2             21.80      3072.00         0.00      15360          0
dm-3              0.00         0.00         0.00          0          0
dm-4            155.60       622.40         0.00       3112          0
dm-5              0.00         0.00         0.00          0          0
dm-6              0.00         0.00         0.00          0          0




avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.50    0.00    0.30    0.00    0.00   99.20

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              45.60         0.00       185.60          0        928
sdb               0.00         0.00         0.00          0          0
sdc             161.80       647.20         0.00       3236          0
dm-0             45.60         0.00       185.60          0        928
dm-1              0.00         0.00         0.00          0          0
dm-2              0.00         0.00         0.00          0          0
dm-3              0.00         0.00         0.00          0          0
dm-4            162.00       648.00         0.00       3240          0
dm-5              0.00         0.00         0.00          0          0
dm-6              0.00         0.00         0.00          0          0




# dmesg | grep -v IPTable ; uptime
[614878.648714] XFS (dm-4): Mounting V5 Filesystem
[614878.800398] XFS (dm-4): Ending clean mount
 23:04:43 up 7 days,  2:53,  4 users,  load average: 2.04, 1.25, 0.71
EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-04-15 10:51:41

FS和它的LV“主机”都是在~10 FS时创建的,然后是lvextend +500 g/xfs_growfs,还有lvExtendedXFS125T/xfs_growfs。

这可能是你的问题。对于10X (一个数量级)来说,文件系统的增长通常是很好的;与正确大小的文件系统相比,任何更大的事情都会严重影响文件系统的性能。

在你的例子中,你把它从10 GB增长到>100 TB,增加了10000倍(4个数量级)。因此,我强烈建议您以正确的大小重新设置文件系统的格式。这显然意味着备份和恢复加载到它上的任何内容。

不管怎样,你确定没有磁盘有问题吗?您能在阻塞的iostat -x -k 1期间发布ls的输出吗?

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/907474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档