RAID / Fedora 14 での **非常に** 遅い書き込み速度の診断

RAID / Fedora 14 での **非常に** 遅い書き込み速度の診断

当社では、Fedora 14 を実行する Dell PowerEdge T110 を所有しており、これは Embedded Linux のビルド サーバーおよび Subversion サーバーとして動作します。

最近、非常に遅くなり、新しい日が始まる前に夜間のバックアップを完了できなくなりました。

[編集] User9517 さん、ありがとうございます。ログを確認したところ、MRMON (Mega Raid Monitor) からのメッセージが複数ありました。これらのメッセージの解釈、次の手順、交換が必要なドライブの特定方法に関するアドバイスがあれば助かります。

Dec 20 09:02:32 localhost MR_MONITOR[2153]: <MRMON096> Controller ID:  0   PD Predictive failure:  #012    -:-:2
Dec 20 09:06:44 localhost MR_MONITOR[2153]: <MRMON113> Controller ID:  0   Unexpected sense:   PD  #012    =   -:-:2No defect spare location available,   CDB   =    0x28 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00    ,   Sense   =    0x70 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x32 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Dec 20 09:09:44 localhost MR_MONITOR[2153]: <MRMON096> Controller ID:  0   PD Predictive failure:  #012    -:-:2

[/編集]

障害の原因を突き止めるための支援を求めています。私はこの分野の専門家ではありませんし、システムを最初に設定した人ももうここにいません。

夜間のバックアップは約 6 GB の tgz ファイルで、午後 8 時に開始されます。これは、以前は午前 4 時頃に終了していました (外部ドライブへのコピーを含む)。週次バックアップは約 45 GB で、以前は金曜日の午後 8 時に開始して土曜日の午前 11 時に終了していました。

バックアップに加えて、バックアップ プロセスが実行されていない場合でも、マシンの応答が著しく遅くなります。

これまでに収集した情報は次のとおりです。

RAIDコントローラDELL PERC H200Lに4台のSeagate 1TBドライブ(ST31000424SS)が接続されています。考えるRAID 10 に設定されていますが、このコントローラの構成にアクセスする方法がわかりません。ドライブが 4 つあり、vgdisplay には 4 つのドライブの合計 4 テラバイトのうち 1.81 テラバイトが割り当てられていることが示されているため、RAID 10 であると考えられます。

[root@fedorabox backup]# vgdisplay
  --- Volume group ---
  VG Name               vg_fedorabox2
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                5
  Open LV               5
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1.81 TiB
  PE Size               32.00 MiB
  Total PE              59263
  Alloc PE / Size       28480 / 890.00 GiB
  Free  PE / Size       30783 / 961.97 GiB

マシン内に他の実際のドライブは表示されないので、ブート パーティション (/dev/sdb1) が何らかの方法で 4 つのドライブから分割されていると思われます。

(/dev/sda はバックアップ用の外付けハードドライブですが、これは問題ではありません。朝到着したときには、/backup パーティションにバックアップがまだ生成されています。USB 接続ドライブへのコピーはまだ開始されていません)

[root@fedorabox backup]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_fedorabox2-LogVol00
                      9.9G  5.2G  4.3G  55% /
tmpfs                 2.0G  932K  2.0G   1% /dev/shm
/dev/sdb1             504M   56M  423M  12% /boot
/dev/mapper/vg_fedorabox2-LogVol03
                      394G  221G  153G  60% /home
/dev/mapper/vg_fedorabox2-LogVol02
                       99G   29G   65G  32% /shared
/dev/mapper/vg_fedorabox2-LogVol01
                       30G   11G   18G  37% /usr
/dev/sda2             5.5T  2.6T  3.0T  47% /mnt/root/usbbackup2
/dev/mapper/vg_fedorabox2-LogVol04
                      345G  363M  327G   1% /backup

質問で言ったように、書き込み速度はとても遅い:

[root@fedorabox backup]# dd if=/dev/zero of=/backup/tmp/test.out bs=512 count=32 oflag=dsync
32+0 records in
32+0 records out
16384 bytes (16 kB) copied, 40.382 s, 0.4 kB/s
[root@fedorabox backup]# dd of=/dev/null if=/backup/tmp/test.out bs=512 count=32 oflag=dsync
32+0 records in
32+0 records out
16384 bytes (16 kB) copied, 3.5087e-05 s, 467 MB/s

smartctlを使用して、/dev/sg2から/dev/sg5までの4つのドライブにアクセスできます。出力は以下のとおりです。修正されたエラーここで、2番目と4番目のドライブ(/dev/sg3、sg5)がリストされていることに注意してください修正されていないエラー読み取りと検証用。

次のステップに関するアドバイスはありますか? 修正されていないエラーは正常ですか、それとも心配ですか? これが速度低下の原因ですか、それとも他に確認すべき点がありますか?

ドライブの交換方法や RAID 構成にアクセスする方法についてアドバイスはありますか?

[root@fedorabox /]# smartctl -a /dev/sg2
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST1000NM0001     Version: PS06
Serial number: Z1N2LEDW
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:10:20 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     37 C
Drive Trip Temperature:        68 C
Manufactured in week 33 of year 2012
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  71
Elements in grown defect list: 36
Vendor (Seagate) cache information
  Blocks sent to initiator = 2805494200
  Blocks received from initiator = 1072424796
  Blocks read from cache and sent to initiator = 19110177
  Number of read and write commands whose size <= segment size = 826634038
  Number of read and write commands whose size > segment size = 5264167
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 11183.37
  number of minutes until next internal SMART test = 43

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:   3996823525        0         0  3996823525          0        130.509           0
write:         0        0         0         0          0      62619.327           0
verify: 1594450892        0         0  1594450892          0      51866.259           0

Non-medium error count:        9

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  32   11182                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]
[root@fedorabox /]# smartctl -a /dev/sg3
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST31000424SS     Version: KS68
Serial number: 9WK3JSJV
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:10:44 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     37 C
Drive Trip Temperature:        68 C
Manufactured in week 06 of year 2011
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  81
Specified load-unload count over device lifetime:  300000
Accumulated load-unload cycles:  81
Elements in grown defect list: 21
Vendor (Seagate) cache information
  Blocks sent to initiator = 1872227385
  Blocks received from initiator = 3603107317
  Blocks read from cache and sent to initiator = 53905772
  Number of read and write commands whose size <= segment size = 1041622488
  Number of read and write commands whose size > segment size = 5288254
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 77337.02
  number of minutes until next internal SMART test = 16

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:   1454822558        3         0  1454822561   1454822585       2465.838          21
write:         0        0         0         0          0      64012.923           0
verify: 2113323340      143         0  2113323483   2113323510      49057.393          17

Non-medium error count:        4

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  16     643                 - [-   -    -]
# 2  Background short  Completed                  16       5                 - [-   -    -]
# 3  Background long   Completed                  16       5                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]
[root@fedorabox /]# smartctl -a /dev/sg4
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST31000424SS     Version: KS68
Serial number: 9WK3H8DW
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:11:02 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     38 C
Drive Trip Temperature:        68 C
Manufactured in week 06 of year 2011
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  76
Specified load-unload count over device lifetime:  300000
Accumulated load-unload cycles:  76
Elements in grown defect list: 1
Vendor (Seagate) cache information
  Blocks sent to initiator = 1437832391
  Blocks received from initiator = 3080050213
  Blocks read from cache and sent to initiator = 2689371046
  Number of read and write commands whose size <= segment size = 3306395247
  Number of read and write commands whose size > segment size = 5018225
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 77337.17
  number of minutes until next internal SMART test = 58

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:   1514637706     1007         0  1514638713   1514638713    1576907.538           0
write:         0        0         0         0          0      61240.330           0
verify: 1697580124       32         0  1697580156   1697580157      48889.638           0

Non-medium error count:       27

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  16      18                 - [-   -    -]
# 2  Background short  Completed                  16       5                 - [-   -    -]
# 3  Background long   Completed                  16       5                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]
[root@fedorabox /]# smartctl -a /dev/sg5
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST31000424SS     Version: KS68
Serial number: 9WK3FCZ6
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:11:41 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     38 C
Drive Trip Temperature:        68 C
Manufactured in week 06 of year 2011
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  81
Specified load-unload count over device lifetime:  300000
Accumulated load-unload cycles:  81
Elements in grown defect list: 4096
Vendor (Seagate) cache information
  Blocks sent to initiator = 923606853
  Blocks received from initiator = 3074269061
  Blocks read from cache and sent to initiator = 3237322768
  Number of read and write commands whose size <= segment size = 3044372010
  Number of read and write commands whose size > segment size = 5024782
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 77336.67
  number of minutes until next internal SMART test = 53

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:   2058067359   277563         0  2058344922   2058345511    1420772.201         555
write:         0        0         0         0          0      62186.800           0
verify: 2750944424     2205         0  2750946629   2750946631      50834.359           1

Non-medium error count:      167

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  16     643                 - [-   -    -]
# 2  Background short  Completed                  16       5                 - [-   -    -]
# 3  Background long   Completed                  16       5                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]

答え1

Dell PERC は、基本的に LSI MegaRAID SAS のブランド名を変更したものです。

使用しているドライバーを確認してくださいlspci -k。 おそらく ですmegaraid_sas。MegaRAID Monitor を正常に使用しているという事実は、これが事実であることを示しています。したがって、このmegacliパッケージを使用すると、Linux から RAID コントローラーを制御できるようになります。

しかし、古いFedoraバージョンが現在どこで見つかるかは疑問が残ります。https://hwraid.le-vert.netのためにメガRAID SASあるいは、おそらく、メガRAIDソフトウェア用。

ソフトウェアには小さなインラインリマインダー(実行megacli -h)があり、また、MegaRAID SAS ソフトウェア ユーザー ガイド入手できるのはブロードコム(Avago を買ったのは誰で、LSI を買ったのは誰ですか)。また、インターネット上にはチートシートがいくつかあります。

たとえば、診断情報を取得することから始めることができます。

megacli -AdpAllInfo -aALL
megacli -AdpPR -info -aALL
megacli -LdPdInfo -aALL
megacli -AdpBbuCmd -GetBbuStatus -aALL
megacli -AdpEventLog -GetEventLogInfo -aALL

これらのコマンドはそれぞれ次のことを実行します。

  • コントローラのステータスと一般的なアラートを取得します(障害のあるデバイスの数を含む)
  • パトロール読み取り操作のステータスを取得します(すべてのデバイスを定期的に読み取り、障害のあるデバイスを早期に検出します)。
  • 論理ディスクとその構成要素である物理ディスクを取得する彼らの地位とともに障害が発生したディスクがある場合は、どのディスクがどのスロットにあるかが表示されます。
  • キャッシュバッテリーの状態を取得する
  • アダプターのイベント ログを取得します。これにより、問題が検出された正確な時期と状況を特定できます。

RAID があるからといって、ディスクとアレイの状態を監視する必要がなくなるわけではありません。RAID は、適切に監視および保守されている場合にのみ、ダウンタイムを回避するのに役立ちます。smartmontools一部のハードウェア RAID コントローラーの背後にあるディスクも監視できます。ぜひご利用ください。

「動いているなら触るな」や「壊れていないなら直さない」というマントラを忘れる時が来ました。これらは急速に進化する世界には関係ありません。次のことを考えてみてください。古いバージョンのOS古いのですでに壊れている。有能な管理者意思一見「壊れていない」システムを修正して、壊れないようにします。

さらに悪いことに、Fedoraのような古い(10年物の)非LTSシステムはひどく壊れています。ビジネス上重要なものをそのようなディストリビューションでホストするという考えは設計上壊れています。もしそれがCentOS(10年前はLTSでしたが、現在は代わりにOracle Linux、AlmaLinux、またはRocky Linuxを使用しています)だったら、それはうまくいかないでしょう。それ悪いですが、Fedora は実稼働サーバーとしては常に不適切な選択でした。そのため、たとえ 2 年しか経っていなくても、交換する必要がありました。

また、ハードウェア管理ツール ( など) を常にインストールしておくことをお勧めしますmegacliipmiutilいつ必要になるかわからないし、必要になったときにはもう利用できなくなっている可能性もありますので、事前に対策を講じておきましょう。

関連情報