「PowerEdge:LinuxでPERCコントローラーの背後にあるNVMeドライブの小型I/Oパフォーマンスを最適化
Summary: Linuxでは、PowerEdge RAIDコントローラー(PERC)の背後で接続されているNVMeドライブが、小規模なI/Oワークロードのテスト中に予想よりも低いパフォーマンスを示す場合があります。 これは、OSがこれらのドライブをネイティブNVMeデバイス(/dev/nvmeXnX)ではなく、標準SCSIブロック デバイス(/dev/sdX)として識別するために発生します。この ID により、最適でない既定の I/O スケジューラが適用されます。 ...
Αυτό το άρθρο ισχύει για
Αυτό το άρθρο δεν ισχύει για
Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν.
Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.
Instructions
根本原因
- ネイティブNVMe: 直接接続されたNVMeドライブは、ハードウェアで管理される深いコマンド キューを使用します。Linuxは、OSレベルのボトルネックを回避するために、スケジューラーをデフォルトでnoneに設定します。
- PERCの背後にあるNVMe: ドライブは、PERCコントローラーによって管理されている場合、SCSIデバイスとして認識されます。ほとんどのLinuxディストリビューションでは、SCSIデバイスのスケジューラーがデフォルトで設定されています。
mq-deadlineの詳細を確認してください。 - 競合: 「
mq-deadlineスケジューラーは、シーク時間を最適化し、ヘッドの動きを最小限に抑えるために、従来の機械式ドライブ用に設計されました。高速NVMeドライブの場合、このスケジューラーは不要なレイテンシーとCPUオーバーヘッドを追加し、総IOPSを調整します。
検証と即時調整
小さなI/Oワークロードで最大IOPSを実現するには、スケジューラーを none に設定する必要があります。
- 現在のスケジューラを確認します。
- スーパーユーザーとして次のコマンドを実行します(<sdX>を<sda>などのデバイス名に置き換えてください)。
cat /sys/block/{sdX}/queue/scheduler
出力例: (角括弧内はアクティブなスケジューラーを示します)。
- 次のコマンドを使用してスケジューラーをnone (Runtime)に変更し、変更をすぐに適用します。
echo "none" > /sys/block/{sdX}/queue/scheduler
永続性の確保
上記の手動による変更は 永続的ではなく 、再起動すると元に戻ります。また /dev/sdX 識別子は、ドライブが追加または削除されると変更される場合があります。この変更を永続的にするには、デバイスのWWIDに基づいて UDEVルール を作成することをお勧めします。
注:大きなI/Oパフォーマンスにも影響する可能性があります。PERCコントローラーの背後にあるNVMeドライブの場合は、Linuxキュー スケジューラーをなしに設定することをお勧めします。
Επηρεαζόμενα προϊόντα
PowerEdge R470, PowerEdge R570, PowerEdge R670, PowerEdge R6715, PowerEdge R6725, PowerEdge R770, PowerEdge R770AP, PowerEdge R7715, PowerEdge R7725, PowerEdge R7725xdΙδιότητες άρθρου
Article Number: 000443257
Article Type: How To
Τελευταία τροποποίηση: 09 Ιουλ 2026
Version: 3
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.