ZFS(在 Linux 上)性能问题

ZFS(在 Linux 上)性能问题

我的服务器设置为 RaidZ2(阵列中的 8 个磁盘)+ 2 个备用磁盘(+ 系统磁盘)。每个磁盘 6TB,7200 RPM SAS

该机器运行 Centos7 x86_64(不是虚拟机),并具有 128 GB RAM 和 48 个内核(包括超线程)。 zfs 版本是 zfs-0.6.5.4-1.el7.centos.x86_64 。

我们使用它作为用户界面:用户登录那里,通常运行一些编译或绘图作业,然后使用Condor将作业提交到我们的计算中心。我们有大约 50 个用户。

最近,尽管实际负载没有发生根本性变化,但对文件系统的访问非常慢。

运行 iostat (清晨,低活动),我得到以下信息:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          9,97    0,00    0,77   19,92    0,00   69,34

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00    38,00    1,80   11,60    10,40   225,30    35,18     0,32   23,63    3,44   26,76   6,64   8,90
sdb               4,20     0,00    0,60    0,00    19,20     0,00    64,00     0,00    1,33    1,33    0,00   1,33   0,08
sdc               0,00     0,00  112,20  121,20  2845,30 10947,50   118,19     8,83   37,59   51,97   24,27   4,28 100,00
sdg               0,00     0,00   98,60  123,40  2437,30 11149,10   122,40     7,32   32,82   45,87   22,40   4,50 100,00
sdd               0,00     0,00  116,20  120,00  2857,10 10807,20   115,70     8,88   37,42   51,33   23,95   4,23 100,00
sde               0,00     0,00  105,20  122,40  2430,10 10974,90   117,79     8,03   35,33   47,56   24,83   4,39 100,02
sdh               0,00     0,00  114,00  120,00  3269,90 10807,70   120,32     9,41   40,12   57,14   23,95   4,27 100,00 
sdi               0,00     0,00  109,40  121,60  2798,60 10978,10   119,28     8,72   37,81   55,81   21,61   4,33 100,00
sdj               0,00     0,00  112,00  121,60  2860,40 11050,50   119,10     8,31   35,88   49,27   23,55   4,28 100,00
sdf               0,00     0,00    0,00   90,40     0,00  7810,40   172,80     1,37   15,17    0,00   15,17   1,59  14,36
sdk               0,00     0,00    0,00    0,00     0,00     0,00     0,00     0,00    0,00    0,00    0,00   0,00   0,00
sdl               0,00     0,00    0,00    0,00     0,00     0,00     0,00     0,00    0,00    0,00    0,00   0,00   0,00

自由-m

 total       used       free     shared    buffers     cached
 Mem:        128736      81397      47338          0          8        504
 -/+ buffers/cache:      80885      47851
 Swap:       122068       2225     119843

统计数据

10:09:07     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:09:07     all    8,45    0,02    1,33   12,50    0,00    0,03    0,00    0,00   77,67
10:09:07       0   28,27    0,01    2,49   12,91    0,00    0,12    0,00    0,00   56,20
10:09:07       1   24,07    0,01    1,94   17,67    0,00    0,12    0,00    0,00   56,18
10:09:07       2   24,73    0,02    1,74   22,11    0,00    0,07    0,00    0,00   51,33
10:09:07       3   21,44    0,01    1,73   25,02    0,00    0,07    0,00    0,00   51,72
10:09:07       4   21,45    0,01    1,67   26,45    0,00    0,07    0,00    0,00   50,36
10:09:07       5   21,29    0,02    1,72   26,16    0,00    0,07    0,00    0,00   50,73
10:09:07       6   19,69    0,01    1,64   27,48    0,00    0,03    0,00    0,00   51,16
10:09:07       7   19,49    0,04    1,64   27,65    0,00    0,04    0,00    0,00   51,15
10:09:07       8   15,52    0,01    1,79   37,93    0,00    0,05    0,00    0,00   44,70
10:09:07       9   20,13    0,02    1,73   25,78    0,00    0,05    0,00    0,00   52,29
10:09:07      10   16,67    0,01    2,26   15,95    0,00    0,11    0,00    0,00   65,00
10:09:07      11   16,64    0,01    1,88   22,92    0,00    0,08    0,00    0,00   58,47
10:09:07      12    4,93    0,00    1,53   15,63    0,00    0,02    0,00    0,00   77,89
10:09:07      13    4,34    0,00    1,48   15,42    0,00    0,02    0,00    0,00   78,74
10:09:07      14    4,71    0,01    1,52   15,37    0,00    0,02    0,00    0,00   78,37
10:09:07      15    4,99    0,01    1,51   15,59    0,00    0,02    0,00    0,00   77,88
10:09:07      16    4,62    0,01    1,50   15,84    0,00    0,02    0,00    0,00   78,01
10:09:07      17    4,49    0,01    1,49   15,86    0,00    0,02    0,00    0,00   78,14
10:09:07      18    4,36    0,01    1,46   15,64    0,00    0,02    0,00    0,00   78,51
10:09:07      19    4,34    0,00    1,45   15,81    0,00    0,02    0,00    0,00   78,38
10:09:07      20    4,24    0,00    1,44   15,68    0,00    0,02    0,00    0,00   78,62
10:09:07      21    4,24    0,01    1,42   15,49    0,00    0,02    0,00    0,00   78,82
10:09:07      22    4,18    0,00    1,41   15,47    0,00    0,02    0,00    0,00   78,91
10:09:07      23    3,99    0,00    1,41   15,66    0,00    0,02    0,00    0,00   78,92
10:09:07      24    5,32    0,00    0,87    7,13    0,00    0,03    0,00    0,00   86,65
10:09:07      25    7,26    0,02    1,23    8,62    0,00    0,02    0,00    0,00   82,85
10:09:07      26    6,33    0,00    1,06    6,55    0,00    0,02    0,00    0,00   86,02
10:09:07      27    6,88    0,03    1,10    8,32    0,00    0,03    0,00    0,00   83,64
10:09:07      28    6,35    0,01    1,06    7,52    0,00    0,02    0,00    0,00   85,03
10:09:07      29    6,55    0,00    1,01   11,36    0,00    0,02    0,00    0,00   81,06
10:09:07      30    6,47    0,00    0,99    8,15    0,00    0,03    0,00    0,00   84,36
10:09:07      31    6,45    0,00    1,12   21,03    0,00    0,03    0,00    0,00   71,36
10:09:07      32   10,57    0,40    1,72    9,05    0,00    0,08    0,00    0,00   78,18
10:09:07      33    5,96    0,01    0,85    7,02    0,00    0,02    0,00    0,00   86,15
10:09:07      34    3,82    0,01    0,92    7,12    0,00    0,02    0,00    0,00   88,10
10:09:07      35    5,87    0,00    0,95    8,42    0,00    0,03    0,00    0,00   84,72
10:09:07      36    1,73    0,00    0,72    1,21    0,00    0,00    0,00    0,00   96,33
10:09:07      37    4,11    0,01    1,69    1,61    0,00    0,01    0,00    0,00   92,58
10:09:07      38    2,56    0,01    1,48    1,73    0,00    0,00    0,00    0,00   94,22
10:09:07      39    2,93    0,01    1,02    1,53    0,00    0,00    0,00    0,00   94,50
10:09:07      40    1,90    0,00    0,86    1,31    0,00    0,00    0,00    0,00   95,91
10:09:07      41    1,87    0,00    0,83    1,13    0,00    0,00    0,00    0,00   96,16
10:09:07      42    1,80    0,00    0,79    1,20    0,00    0,00    0,00    0,00   96,21
10:09:07      43    1,92    0,00    0,76    1,30    0,00    0,00    0,00    0,00   96,02
10:09:07      44    1,77    0,00    0,72    1,14    0,00    0,00    0,00    0,00   96,37
10:09:07      45    1,75    0,00    0,70    1,09    0,00    0,00    0,00    0,00   96,46
10:09:07      46    1,75    0,00    0,68    1,16    0,00    0,00    0,00    0,00   96,40
10:09:07      47    2,00    0,00    0,68    1,10    0,00    0,00    0,00    0,00   96,21

虚拟机状态

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 6 10 2278560 45860460  11968 577932    0    0   951   217    0    1  8  1 78 13  0

zpool状态

  pool: storage
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Fri Mar 11 10:59:26 2016
    7,89T scanned out of 33,7T at 16,0M/s, 468h51m to go
    1009G resilvered, 23,43% done
config:

NAME             STATE     READ WRITE CKSUM
storage          DEGRADED     0     0     0
  raidz2-0       DEGRADED     0     0     0
    sdc          ONLINE       0     0     0
    sdd          ONLINE       0     0     0
    sde          ONLINE       0     0     0
    replacing-3  OFFLINE      0     0     0
      old        OFFLINE      0     0     0
      sdf        ONLINE       0     0     0  (resilvering)
    sdg          ONLINE       0     0     0
    sdh          ONLINE       0     0     0
    sdi          ONLINE       0     0     0
    sdj          ONLINE       0     0     0
spares
  sdk            AVAIL   
  sdl            AVAIL   

errors: No known data errors

池列表

NAME      SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
storage  43,5T  33,6T  9,85T         -      -    77%  1.00x  DEGRADED  -

zpool iostat

           capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
storage     33,6T  9,85T    488    124  37,1M  5,98M
storage     33,6T  9,85T    528    203  20,6M  25,0M

弧统计

6 1 0x01 91 4368 1685567518 516801482573737
name                            type data
hits                            4    617380996
misses                          4    184919553
demand_data_hits                4    347515083
demand_data_misses              4    42374865
demand_metadata_hits            4    216908143
demand_metadata_misses          4    44228265
prefetch_data_hits              4    40380612
prefetch_data_misses            4    76191344
prefetch_metadata_hits          4    12577158
prefetch_metadata_misses        4    22125079
mru_hits                        4    110301434
mru_ghost_hits                  4    66675644
mfu_hits                        4    455326805
mfu_ghost_hits                  4    55421184
deleted                         4    80153884
mutex_miss                      4    4756376
evict_skip                      4    44213146120
evict_not_enough                4    297407150
evict_l2_cached                 4    0
evict_l2_eligible               4    11649763951616
evict_l2_ineligible             4    4762036891648
evict_l2_skip                   4    0
hash_elements                   4    2318896
hash_elements_max               4    3389458
hash_collisions                 4    14240550
hash_chains                     4    148513
hash_chain_max                  4    6
p                               4    1720197302
c                               4    18401828352
c_min                           4    17179869184
c_max                           4    34359738368
size                            4    24829542936
hdr_size                        4    805709176
data_size                       4    1145901056
metadata_size                   4    7053314560
other_size                      4    15824618144
anon_size                       4    1147083264
anon_evictable_data             4    0
anon_evictable_metadata         4    0
mru_size                        4    5877126144
mru_evictable_data              4    2097152
mru_evictable_metadata          4    0
mru_ghost_size                  4    11861538816
mru_ghost_evictable_data        4    990902272
mru_ghost_evictable_metadata    4    10870636544
mfu_size                        4    1175006208
mfu_evictable_data              4    0
mfu_evictable_metadata          4    32768
mfu_ghost_size                  4    5943696896
mfu_ghost_evictable_data        4    588803072
mfu_ghost_evictable_metadata    4    5354893824
l2_hits                         4    0
l2_misses                       4    0
l2_feeds                        4    0
l2_rw_clash                     4    0
l2_read_bytes                   4    0
l2_write_bytes                  4    0
l2_writes_sent                  4    0
l2_writes_done                  4    0
l2_writes_error                 4    0
l2_writes_lock_retry            4    0
l2_evict_lock_retry             4    0
l2_evict_reading                4    0
l2_evict_l1cached               4    0
l2_free_on_write                4    0
l2_cdata_free_on_write          4    0
l2_abort_lowmem                 4    0
l2_cksum_bad                    4    0
l2_io_error                     4    0
l2_size                         4    0
l2_asize                        4    0
l2_hdr_size                     4    0
l2_compress_successes           4    0
l2_compress_zeros               4    0
l2_compress_failures            4    0
memory_throttle_count           4    0
duplicate_buffers               4    0
duplicate_buffers_size          4    0
duplicate_reads                 4    0
memory_direct_count             4    63976
memory_indirect_count           4    149390
arc_no_grow                     4    0
arc_tempreserve                 4    0
arc_loaned_bytes                4    0
arc_prune                       4    35678
arc_meta_used                   4    23683641880
arc_meta_limit                  4    34359738368
arc_meta_max                    4    34412864080
arc_meta_min                    4    16777216
arc_need_free                   4    0
arc_sys_free                    4    2109214720

几天来我一直试图找出发生了什么,但没有成功。目前我什至无法正确运行我的备份,因为它们需要很长时间。

我正在考虑为 L2ARC 添加 SSD 以帮助我们进行随机读取(我认为 ZIL 不会有帮助,因为我们所有的写入都是异步的)。我还可以添加更多内存,尽管它通常根本没有满。

我主要使用 lsof、iotop、iostat 和 top 作为诊断工具,但没有成功。有什么建议吗?

相关内容