RAIDパフォーマンスが突然低下する


16

最近、データベースクエリの実行に通常よりはるかに時間がかかっていることに気付きました。調査の結果、ディスクの読み取りが非常に遅くなっているようです。

RAIDコントローラーがBBUで再学習サイクルを開始し、ライトスルーに切り替えることにより、過去に同様の問題が発生しました。今回はそうではないようです。

私はbonnie++数日間で数回走りました。結果は次のとおりです。

bonnie ++の出力

22-82 M / sの読み取りはかなりひどいようです。ddrawデバイスに対して数分間実行すると、15.8 MB / sから225 MB / sの読み取りが表示されます(以下の更新を参照)。iotopIOを競合する他のプロセスを示していないため、読み取り速度がそれほど変動する理由はわかりません。

RAIDカードは、XFSファイルシステム(RAID1で構成された2つのSSD上のOS)を備えたRAID10の12個のSASドライブ(15k、300GB)を備えたMegaRAID SAS 9280です。SMARTアラートは表示されず、アレイは劣化していないようです。

私も実行xfs_checkしましたが、XFSの一貫性の問題はないようです。

ここでの次の調査手順は何ですか?

サーバーの仕様

Ubuntu 12.04.5 LTS
128GB RAM
Intel(R) Xeon(R) CPU E5-2643 0 @ 3.30GHz

の出力xfs_repair -n

Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan (but don't clear) agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 1
        - agno = 3
        - agno = 2
        - agno = 0
No modify flag set, skipping phase 5
Phase 6 - check inode connectivity...
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.

の出力megacli -AdpAllInfo -aAll

                    Versions
                ================
Product Name    : LSI MegaRAID SAS 9280-4i4e
Serial No       : SV24919344
FW Package Build: 12.12.0-0124

                    Mfg. Data
                ================
Mfg. Date       : 12/06/12
Rework Date     : 00/00/00
Revision No     : 04B
Battery FRU     : N/A

                Image Versions in Flash:
                ================
FW Version         : 2.130.363-1846
BIOS Version       : 3.25.00_4.12.05.00_0x05180000
Preboot CLI Version: 04.04-020:#%00009
WebBIOS Version    : 6.0-51-e_47-Rel
NVDATA Version     : 2.09.03-0039
Boot Block Version : 2.02.00.00-0000
BOOT Version       : 09.250.01.219

                Pending Images in Flash
                ================
None

                PCI Info
                ================
Controller Id   : 0000
Vendor Id       : 1000
Device Id       : 0079
SubVendorId     : 1000
SubDeviceId     : 9282

Host Interface  : PCIE

ChipRevision    : B4

Link Speed       : 0
Number of Frontend Port: 0
Device Interface  : PCIE

Number of Backend Port: 8
Port  :  Address
0        5003048001c1e47f
1        0000000000000000
2        0000000000000000
3        0000000000000000
4        0000000000000000
5        0000000000000000
6        0000000000000000
7        0000000000000000

                HW Configuration
                ================
SAS Address      : 500605b005a6cbc0
BBU              : Present
Alarm            : Present
NVRAM            : Present
Serial Debugger  : Present
Memory           : Present
Flash            : Present
Memory Size      : 512MB
TPM              : Absent
On board Expander: Absent
Upgrade Key      : Absent
Temperature sensor for ROC    : Absent
Temperature sensor for controller    : Absent


                Settings
                ================
Current Time                     : 14:58:51 7/11, 2016
Predictive Fail Poll Interval    : 300sec
Interrupt Throttle Active Count  : 16
Interrupt Throttle Completion    : 50us
Rebuild Rate                     : 30%
PR Rate                          : 30%
BGI Rate                         : 30%
Check Consistency Rate           : 30%
Reconstruction Rate              : 30%
Cache Flush Interval             : 4s
Max Drives to Spinup at One Time : 4
Delay Among Spinup Groups        : 2s
Physical Drive Coercion Mode     : Disabled
Cluster Mode                     : Disabled
Alarm                            : Enabled
Auto Rebuild                     : Enabled
Battery Warning                  : Enabled
Ecc Bucket Size                  : 15
Ecc Bucket Leak Rate             : 1440 Minutes
Restore HotSpare on Insertion    : Disabled
Expose Enclosure Devices         : Enabled
Maintain PD Fail History         : Enabled
Host Request Reordering          : Enabled
Auto Detect BackPlane Enabled    : SGPIO/i2c SEP
Load Balance Mode                : Auto
Use FDE Only                     : No
Security Key Assigned            : No
Security Key Failed              : No
Security Key Not Backedup        : No
Default LD PowerSave Policy      : Controller Defined
Maximum number of direct attached drives to spin up in 1 min : 120
Auto Enhanced Import             : No
Any Offline VD Cache Preserved   : No
Allow Boot with Preserved Cache  : No
Disable Online Controller Reset  : No
PFK in NVRAM                     : No
Use disk activity for locate     : No
POST delay           : 90 seconds
BIOS Error Handling              : Stop On Errors
Current Boot Mode         :Normal
                Capabilities
                ================
RAID Level Supported             : RAID0, RAID1, RAID5, RAID6, RAID00, RAID10, RAID50, RAID60, PRL 11, PRL 11 with spanning, SRL 3 supported, PRL11-RLQ0 DDF layout with no span, PRL11-RLQ0 DDF layout with span
Supported Drives                 : SAS, SATA

Allowed Mixing:

Mix in Enclosure Allowed
Mix of SAS/SATA of HDD type in VD Allowed

                Status
                ================
ECC Bucket Count                 : 0

                Limitations
                ================
Max Arms Per VD          : 32
Max Spans Per VD         : 8
Max Arrays               : 128
Max Number of VDs        : 64
Max Parallel Commands    : 1008
Max SGE Count            : 80
Max Data Transfer Size   : 8192 sectors
Max Strips PerIO         : 42
Max LD per array         : 16
Min Strip Size           : 8 KB
Max Strip Size           : 1.0 MB
Max Configurable CacheCade Size: 0 GB
Current Size of CacheCade      : 0 GB
Current Size of FW Cache       : 350 MB

                Device Present
                ================
Virtual Drives    : 2
  Degraded        : 0
  Offline         : 0
Physical Devices  : 16
  Disks           : 14
  Critical Disks  : 0
  Failed Disks    : 0

                Supported Adapter Operations
                ================
Rebuild Rate                    : Yes
CC Rate                         : Yes
BGI Rate                        : Yes
Reconstruct Rate                : Yes
Patrol Read Rate                : Yes
Alarm Control                   : Yes
Cluster Support                 : No
BBU                             : Yes
Spanning                        : Yes
Dedicated Hot Spare             : Yes
Revertible Hot Spares           : Yes
Foreign Config Import           : Yes
Self Diagnostic                 : Yes
Allow Mixed Redundancy on Array : No
Global Hot Spares               : Yes
Deny SCSI Passthrough           : No
Deny SMP Passthrough            : No
Deny STP Passthrough            : No
Support Security                : No
Snapshot Enabled                : No
Support the OCE without adding drives : Yes
Support PFK                     : Yes
Support PI                      : No
Support Boot Time PFK Change    : No
Disable Online PFK Change       : No
PFK TrailTime Remaining         : 0 days 0 hours
Support Shield State            : No
Block SSD Write Disk Cache Change: No

                Supported VD Operations
                ================
Read Policy          : Yes
Write Policy         : Yes
IO Policy            : Yes
Access Policy        : Yes
Disk Cache Policy    : Yes
Reconstruction       : Yes
Deny Locate          : No
Deny CC              : No
Allow Ctrl Encryption: No
Enable LDBBM         : No
Support Breakmirror  : No
Power Savings        : No

                Supported PD Operations
                ================
Force Online                            : Yes
Force Offline                           : Yes
Force Rebuild                           : Yes
Deny Force Failed                       : No
Deny Force Good/Bad                     : No
Deny Missing Replace                    : No
Deny Clear                              : No
Deny Locate                             : No
Support Temperature                     : Yes
NCQ                                     : No
Disable Copyback                        : No
Enable JBOD                             : No
Enable Copyback on SMART                : No
Enable Copyback to SSD on SMART Error   : Yes
Enable SSD Patrol Read                  : No
PR Correct Unconfigured Areas           : Yes
Enable Spin Down of UnConfigured Drives : Yes
Disable Spin Down of hot spares         : No
Spin Down time                          : 30
T10 Power State                         : No
                Error Counters
                ================
Memory Correctable Errors   : 0
Memory Uncorrectable Errors : 0

                Cluster Information
                ================
Cluster Permitted     : No
Cluster Active        : No

                Default Settings
                ================
Phy Polarity                     : 0
Phy PolaritySplit                : 0
Background Rate                  : 30
Strip Size                       : 256kB
Flush Time                       : 4 seconds
Write Policy                     : WB
Read Policy                      : Adaptive
Cache When BBU Bad               : Disabled
Cached IO                        : No
SMART Mode                       : Mode 6
Alarm Disable                    : Yes
Coercion Mode                    : None
ZCR Config                       : Unknown
Dirty LED Shows Drive Activity   : No
BIOS Continue on Error           : 0
Spin Down Mode                   : None
Allowed Device Type              : SAS/SATA Mix
Allow Mix in Enclosure           : Yes
Allow HDD SAS/SATA Mix in VD     : Yes
Allow SSD SAS/SATA Mix in VD     : No
Allow HDD/SSD Mix in VD          : No
Allow SATA in Cluster            : No
Max Chained Enclosures           : 16
Disable Ctrl-R                   : Yes
Enable Web BIOS                  : Yes
Direct PD Mapping                : No
BIOS Enumerate VDs               : Yes
Restore Hot Spare on Insertion   : No
Expose Enclosure Devices         : Yes
Maintain PD Fail History         : Yes
Disable Puncturing               : No
Zero Based Enclosure Enumeration : No
PreBoot CLI Enabled              : Yes
LED Show Drive Activity          : Yes
Cluster Disable                  : Yes
SAS Disable                      : No
Auto Detect BackPlane Enable     : SGPIO/i2c SEP
Use FDE Only                     : No
Enable Led Header                : No
Delay during POST                : 0
EnableCrashDump                  : No
Disable Online Controller Reset  : No
EnableLDBBM                      : No
Un-Certified Hard Disk Drives    : Allow
Treat Single span R1E as R10     : No
Max LD per array                 : 16
Power Saving option              : Don't Auto spin down Configured Drives
Max power savings option is  not allowed for LDs. Only T10 power conditions are to be used.
Default spin down time in minutes: 30
Enable JBOD                      : No
TTY Log In Flash                 : No
Auto Enhanced Import             : No
BreakMirror RAID Support         : No
Disable Join Mirror              : No
Enable Shield State              : No
Time taken to detect CME         : 60s

の出力megacli -AdpBbuCmd -GetBbuSTatus -aAll

BBU status for Adapter: 0

BatteryType: iBBU
Voltage: 4068 mV
Current: 0 mA
Temperature: 30 C
Battery State: Optimal
BBU Firmware Status:

  Charging Status              : Charging
  Voltage                                 : OK
  Temperature                             : OK
  Learn Cycle Requested                   : No
  Learn Cycle Active                      : No
  Learn Cycle Status                      : OK
  Learn Cycle Timeout                     : No
  I2c Errors Detected                     : No
  Battery Pack Missing                    : No
  Battery Replacement required            : No
  Remaining Capacity Low                  : No
  Periodic Learn Required                 : No
  Transparent Learn                       : No
  No space to cache offload               : No
  Pack is about to fail & should be replaced : No
  Cache Offload premium feature required  : No
  Module microcode update required        : No


GasGuageStatus:
  Fully Discharged        : No
  Fully Charged           : No
  Discharging             : Yes
  Initialized             : Yes
  Remaining Time Alarm    : No
  Discharge Terminated    : No
  Over Temperature        : No
  Charging Terminated     : No
  Over Charged            : No
  Relative State of Charge: 88 %
  Charger System State: 49169
  Charger System Ctrl: 0
  Charging current: 512 mA
  Absolute state of charge: 87 %
  Max Error: 4 %

Exit Code: 0x00

の出力megacli -LDInfo -Lall -aAll

Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name                :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0
Size                : 111.281 GB
Sector Size         : 512
Mirror Data         : 111.281 GB
State               : Optimal
Strip Size          : 256 KB
Number Of Drives    : 2
Span Depth          : 1
Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Disk's Default
Encryption Type     : None
Is VD Cached: No


Virtual Drive: 1 (Target Id: 1)
Name                :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0
Size                : 1.633 TB
Sector Size         : 512
Mirror Data         : 1.633 TB
State               : Optimal
Strip Size          : 256 KB
Number Of Drives per span:2
Span Depth          : 6
Default Cache Policy: WriteBack, ReadAhead, Direct, Write Cache OK if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, Write Cache OK if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Disk's Default
Encryption Type     : None
Is VD Cached: No

更新: Andrewのアドバイスに従って、私はdd数分間実行して、rawディスク読み取りでどのようなスループットが得られるかを調べました。

dd if=/dev/sdb of=/dev/null bs=256k
19701+0 records in
19700+0 records out
5164236800 bytes (5.2 GB) copied, 202.553 s, 25.5 MB/s

スループットが大きく異なる他の実行の結果:

18706857984 bytes (19 GB) copied, 1181.51 s, 15.8 MB/s
20923023360 bytes (21 GB) copied, 388.137 s, 53.9 MB/s
21205876736 bytes (21 GB) copied, 55.5997 s, 381 MB/s
25391005696 bytes (25 GB) copied, 153.903 s, 165 MB/s

更新2:出力megacli -PDlist -aallhttps : //gist.github.com/danpelota/3fca1e5f90a1f358c2d52a49bfb08ef0


3
ディスクデバイスから直接読み取ってください。dd if=/dev/sdb of=/dev/null bs=256k帯域幅のようなものを確認してください。ちょうどあなたがバックアップからファイルシステム(S)...復元する場合を除き、あなたは、ディスク装置への書き込みをしていないことを確認してください
アンドリュー・ヘンレ

2
@ダン、私はmegacli -PDlist -aall出力を詳細に調べましたが、明らかに間違っていることはありませんが、smartctl -a -d sat+megaraid,10 /dev/sdb単なる例でした、SMARTカウンターをチェックすることは一見の価値があります、SMARTアラートは私にとってはほとんど機能しませんでした、最初smartctl --scanにそのまま部品sat+megaraid,21を交換し/dev/sdaてください。とにかく何も変更しないでください。私はその方法を使用しましたがServeRAID M5015 SAS/SATA Controller、同じsh * tのように見えます。例は次のとおりです。pastebin.com
Michal Sokolowski

9
@Dan、私にとってはそのような振る舞いはまだ「事前障害」ディスクで構成されています。一部のディスクはほとんど常に読み取りを回復するため、プロセス全体が遅くなる可能性があります。SMART統計は、私の理論を承認/拒否するために重要です。繰り返しになりますが、私にとってメガレイドカウンターは価値がなく、ディスクが完全に死ぬまで(まったく起動しない状態)、ベンダーとサイズの点で同様のSASを使用していました。
ミカルソコロフスキー

2
@MichalSokolowski:理にかなっています。正しいデバイス番号を取得smartctlし、個々のディスクで実行しました。ディスク18の場合、メディア以外のエラーカウントが非常に大きいようです。gist.github.com
danpelota

1
釘付けになってよかった。それをしてください。とにかく投票するつもりです。評判の向上は単なる副作用です。質問に回答してください。あなたはほとんどの仕事をしました。:)私はあなたのSMART統計を読みましたが、現在の形ではそれらも役に立たないです。実際のSMARTカウンターを見たかった。奇妙なことに、あなたsmartctlは私のようにそれを示していません。確かに実際の答えがあります。
ミカルソコロフスキ

回答:


5

Michal が彼のコメントで指摘したよう、問題は「故障前の」ディスクでした。megaraidコントローラーとsmartctlの診断には赤旗がありませんSMART Health Status:でしたがOKsmartctl各ディスクで実行すると、膨大な非中程度のエラーカウントが見つかりました(各ディスクIDをループするクイックbashスクリプトを作成しました)。完全な出力からの関連ビットは次のとおりです。

# Ran this for each individual disk on the /dev/sdb array:
smartctl -a -d megaraid,18  /dev/sdb

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:    7950078        0         0   7950078    7950078        660.801           0
write:         0        0         0         0          0        363.247           0
verify:       12        0         0        12         12          0.002           0

Non-medium error count:  3253718

他のすべてのドライブは、この1(ディスクID 18)を除き、0の非中程度のエラーカウントを示しました。ディスクを特定し、新しいディスクと交換し、3gbpsの読み取りに戻りました。

smartmontools wikiによると:

表示されるエラーログ(利用可能な場合)は、個別の行に表示されます。

  • エラーカウンターの書き込み

  • エラーカウンターを読む

  • エラーカウンターを確認する(ゼロ以外の場合にのみ表示)

  • 非中程度のエラーカウンター(1つの数字のみが表示されます)。これは、書き込み、読み取り、または検証エラー以外の回復可能なイベントの数を表します。

  • エラーイベントは、「Last n error events」ログページに保持されます。保持されるエラーイベントレコードの数(「n」など)はベンダー固有です(たとえば、Hitachi 10K300モデルディスクの場合、最大23レコードが保持されます)。各エラーイベントレコードの内容はASCIIおよびベンダー固有です。各エラーイベントレコードに関連付けられたパラメーターコードは、エラーイベントが発生した相対時間を示します。より高いパラメータコードは、エラーイベントが時間的に遅れて発生したことを示します。このログページがデバイスでサポートされていない場合、「エラーイベントロギングはサポートされていません」が出力されます。このログページがサポートされており、エラーイベントレコードがある場合、各レコードの先頭に「Error event:」が付加されます。ここで、パラメータコードです。


私はもう一度それを打ったので、あなたが気にしないならば、私はあなたの答えでメモを作っています。
ミハル・ソコロウスキ

0

ドライブの断片化を確認する必要があります。

xfs_db -r /dev/sdbx
frag

次のような答えがあります。

actual 347954, ideal 15723, fragmentation factor 95.48%

断片化係数が高い場合は、ディスクを最適化する必要があります。(はい、Windowsのように...):/

ディスクを最適化するには: xfs_fsr -v /dev/sdbx


0

LSIには、本当に重要なことがいくつかあります。

1)RAIDファームウェアをフラッシュします。あなたは現在のいくつかの回転数です。

2)ドライブのファームウェアをフラッシュし、同様にアップデートされていることを確認します。

3)ドライバーを更新します。LSIのウェブサイトにあるリリースノートに基づいて、彼らは1月末に新しいドライバをリリースしました。

その後、テストを再実行して、変更があるかどうかを確認できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.