갑자기 느린 RAID 성능


16

최근 데이터베이스 쿼리 실행 시간이 평소보다 훨씬 오래 걸렸습니다. 조사 결과 디스크 읽기 속도가 매우 느린 것 같습니다.

과거에는 RAID 컨트롤러 가 BBU 에서 재 학습주기 를 시작하고 연속 기입으로 전환하여 비슷한 문제가 발생했습니다 . 이번에는 그렇지 않은 것 같습니다.

나는 bonnie++며칠 동안 몇 번 달렸다 . 결과는 다음과 같습니다.

보니 ++의 출력

22-82 M / s 판독 값은 상당히 무섭게 보입니다. dd원시 장치에 대해 몇 분 동안 실행 하면 15.8MB / s ~ 225MB / s의 읽기 위치가 표시됩니다 (아래 업데이트 참조). iotopIO와 경쟁하는 다른 프로세스를 나타내지 않으므로 읽기 속도가 왜 가변적인지 잘 모르겠습니다.

RAID 카드는 XFS 파일 시스템이있는 RAID10에 12 개의 SAS 드라이브 (15k, 300GB)가있는 MegaRAID SAS 9280입니다 (RAID1에 구성된 두 개의 SSD에있는 OS). 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에 따라 원시 디스크 읽기에서 어떤 종류의 처리량을 얻을 수 있는지 몇 분 동안 실행 했습니다.

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 -aall: https://gist.github.com/danpelota/3fca1e5f90a1f358c2d52a49bfb08ef0


3
디스크 장치에서 직접 읽으십시오. 같은 뭔가 dd if=/dev/sdb of=/dev/null bs=256k당신이 얻을 대역폭이 무엇을 참조하십시오. 백업에서 파일 시스템을 복원하지 않으려면 디스크 장치에 쓰지 마십시오 ...
Andrew Henle

2
@Dan, 나는 megacli -PDlist -aall출력 에서 세부 사항을 살펴 보았고 거기에서 분명히 잘못 된 것을 보지 못했지만 smartctl -a -d sat+megaraid,10 /dev/sdbSMART 카운터를 검사하는 것은 IMHO의 가치가 있습니다 .SMART 경고는 거의 효과가 없었습니다. 먼저 smartctl --scan, 그런 다음 부품을 건드리지 sat+megaraid,21말고 교체하십시오 /dev/sda. 나는 그런 식으로 사용 ServeRAID M5015 SAS/SATA Controller했지만 같은 sh * t처럼 보입니다. 예를 들면 다음과 같습니다. pastebin.com/WYb8Utxr
Michal Sokolowski

9
@Dan, 저에게 그런 행동은 여전히 ​​"사전 실패"디스크로 구성됩니다. 일부 디스크는 거의 항상 읽기를 복구하여 전체 프로세스 속도를 늦출 수 있습니다. 스마트 통계는 내 이론을 승인 / 거부하는 데 중요합니다. 다시 말하지만, megaraid 카운터는 쓸모가 없었습니다. 디스크가 완전히 죽을 때까지 (완전히 시작되지 않은 상태), 나는 비슷한 SAS를 공급 업체 및 크기 측면에서 사용했습니다.
Michal Sokolowski

2
@MichalSokolowski : 말이됩니다. 올바른 장치 번호가 있고 smartctl개별 디스크에서 실행 되었습니다. 비-중간 오류 수는 디스크 18에 대해 막대한 것 같습니다 : gist.github.com/danpelota/83b54854aa5af2e351ed71af5c8ebbf5
danpelota

1
다행 이네요 부담없이 해주세요. 어쨌든 투표하겠습니다. 명성 증가는 부작용 일뿐입니다. 질문에 답변해야합니다. 당신은 대부분의 일을했습니다. :) 나는 당신의 SMART 통계를 읽었지만, 현재의 형태로는 쓸모가 없습니다. 실제 SMART 카운터를보고 싶었습니다. 이상하게도 당신 smartctl은 내 것처럼 보이지 않습니다. 확실한 답변이 있습니다.
Michal Sokolowski

답변:


5

Michal 이 그의 의견에서 지적했듯이 , 문제는 "사전 실패"디스크였습니다. megaraid 컨트롤러의 진단에는 적신호가 없었고 smartctl 's SMART Health Status:was OK였지만 smartctl각 디스크에서 실행 하면 중간 크기가 아닌 오류 수가 많이 나타났습니다 (각 디스크 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

다른 모든 드라이브는이 중 하나를 제외하고 중간이 아닌 오류 카운트 0을 나타 냈습니다 (디스크 ID 18). 디스크를 식별하고 새 디스크로 교체 한 후 다시 3gbps를 읽습니다.

smartmontools 위키 에 따르면 :

표시된 오류 로그 (사용 가능한 경우)가 별도의 행에 표시됩니다.

  • 오류 카운터 작성

  • 오류 카운터 읽기

  • 오류 카운터 확인 (0이 아닌 경우에만 표시)

  • 중간이 아닌 오류 카운터 (단일 숫자 만 표시됨). 이것은 쓰기, 읽기 또는 확인 오류 이외의 복구 가능한 이벤트 수를 나타냅니다.

  • 오류 이벤트는 "마지막 n 오류 이벤트"로그 페이지에 보관됩니다. 보유 된 오류 이벤트 레코드 수 (예 : "n")는 공급 업체별로 다릅니다 (예 : Hitachi 10K300 모델 디스크에 대해 최대 23 개의 레코드가 보유 됨). 각 오류 이벤트 레코드의 내용은 ASCII 및 공급 업체에 따라 다릅니다. 각 오류 이벤트 레코드와 연관된 매개 변수 코드는 오류 이벤트가 발생한 상대 시간을 나타냅니다. 더 높은 매개 변수 코드는 나중에 오류 이벤트가 발생했음을 나타냅니다. 이 로그 페이지가 장치에서 지원되지 않으면 "오류 이벤트 로깅이 지원되지 않습니다"가 출력됩니다. 이 로그 페이지가 지원되고 오류 이벤트 레코드가있는 경우 각 레코드 앞에 "오류 이벤트 :"가 붙습니다. 여기서 매개 변수 코드는 어디입니까?


다시 한 번 쳤으므로 마음에 들지 않으면 답변에 메모를하고 있습니다.
Michal Sokolowski

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 펌웨어를 플래시하십시오. 당신은 현재 몇 revs입니다.

2) 드라이브의 펌웨어를 플래시하고 업데이트되는지 확인하십시오.

3) 드라이버를 업데이트하십시오. LSI 웹 사이트의 릴리스 정보를 기반으로 1 월 말에 새로운 드라이버를 출시했습니다.

그런 다음 테스트를 다시 실행하여 변경 사항이 있는지 확인할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.