「PowerEdge:PERCまたはHBAコントローラーでNVMeまたはSSDを使用する場合のLinuxホストのパフォーマンスの問題
Summary: 接続されたSSDまたはNVMeデバイスでPERCまたはHBAコントローラーを使用すると、Linuxホストからストレージ性能の低下が報告されます。
Symptoms
Linuxを実行しているシステムで、PERCまたはHBAコントローラーを介して接続されたSSDまたはNVMeドライブのパフォーマンスが予想よりも低くなります。症状としては、IOPSの低下、レイテンシーの増加、予想されるデバイスやプラットフォームの機能に対するスループットの低さなどがあります。
Cause
最新のPERC RAIDおよびHBAコントローラーは、基盤となるメディアがNVMeの場合でも、SCSIデバイス モデルを介して接続されたストレージ デバイスをOSに提示します。これらのデバイスはSCSI SASターゲットとして表示されるため、ほとんどのLinuxディストリビューションでは、回転式ハード ドライブ用に最適化された従来のブロックI/Oスケジューリング ポリシーが自動的に適用されます。SSDまたはNVMeデバイスがこれらのHDD指向のスケジューラーを強制的に通過させると、本来のパフォーマンスと比較してスループットが低下し、レイテンシーが高くなる可能性があります。
関連するコントローラー モデル
- Perc:H740P、H840、H745、H345
- Perc:H750、H755、H350、H355
- Perc:H965、H365
- Perc:H975
- HBA345
- HBA355
- HBA465
Resolution
お使いのオペレーティング システムのストレージ最適化ガイドを参照してください。Linux OSは通常、ネイティブNVMe構成のスケジューラーを「none」に設定します
Red Hat Enterprise Linux 8および9の「ディスク スケジューラーの設定」ガイド:
- ディスク スケジューラーv8の設定(外部リンク)
- ディスク スケジューラー v9 の設定(外部リンク)
SLES 15-SP6「I/Oパフォーマンスのチューニング」ガイド:
- I/Oパフォーマンスのチューニング(外部リンク)
SSDおよびNVMe接続PERCおよびHBA構成では、ブロック スケジューラーを「なし」に変更すると、パフォーマンスが向上する場合があります。
現在のスケジューラを確認するには、次の手順を実行します
スーパーユーザーとして、 cat /sys/block/{SD}/queue/scheduler ここで、{SD}はデバイス ブロック エントリーです。 /dev (例: sda)
スケジューラーが mq-deadline Red Hat Enterprise Linux 9 では、 sda

スケジューラーをnoneに設定します
スーパーユーザーとして、 echo "none" > /sys/block/{SD}/queue/scheduler ここで、{SD}はデバイス ブロック エントリーです。 /dev (例: sda)
スケジューラーが「none」にアップデートされていることを示すスクリーンショット sda

/dev ブロック デバイス名の変更。A UDEV デバイスのWWIDにルールを追加して、スケジューラを永続的に「なし」に変更できます。作成手順については、OSのユーザー ガイドを参照してください。 UDEV ブロック デバイス パラメーターを設定するためのルールまたは類似のメカニズム。
コントローラーとドライブのパフォーマンスを最大限に高めるには、追加のOS設定の微調整と電源プロファイルの変更が必要になる場合があります。OSパフォーマンス チューニングとBIOS電源プロファイルのマニュアルを参照してください。