キュー深度の算出

ノードおよびFCポートのファンインあたりのITN数を最大にするために、ホストのFCキュー深度の調整が必要になる場合があります。LUNの最大数と1つのFCポートに接続できるHBAの数は、FCターゲット ポートで使用可能なキューの深度によって制限されます。

タスク概要

キュー深度は、ストレージ コントローラで一度にキューに格納することができる、I/O要求(SCSIコマンド)の数です。ホストのイニシエータHBAからストレージ コントローラのターゲット アダプタへのI/O要求ごとに、キュー エントリが1つ作成されます。一般に、キュー深度が深い(大きい)ほどパフォーマンスは向上します。ただし、ストレージ コントローラの最大キュー深度に達すると、ストレージ コントローラはQFULL応答を返して受け取ったコマンドを拒否します。QFULL状態はシステム パフォーマンスの大幅な低下を招き、一部のシステムではエラーを引き起こすこともあります。そのため、1台のストレージ コントローラに多数のホストがアクセスしている環境では、QFULLが発生しないように慎重に計画してください。

複数のイニシエータ(ホスト)を含む構成では、すべてのホストでキュー深度を同程度に設定する必要があります。同じターゲット ポートを介してストレージ コントローラに接続されたホスト間では、キュー深度に応じてリソースへのアクセスに差があり、キュー深度が小さいホストよりもキュー深度の大きいホストのアクセスが優先されます。

キュー深度を調整する際の一般的な推奨事項は次のとおりです。

手順

  1. 1つのFCターゲット ポートに接続しているすべてのホストのFCイニシエータの数を数えます。
  2. 128をかけます。
    • 2,048よりも少ない場合は、すべてのイニシエータのキュー深度を128に設定します。
    15台のホストがあり、それぞれ1つのイニシエータがストレージ コントローラ上の2つのターゲット ポートそれぞれに接続されています。15×128 = 1,920です。これは合計最大キュー深度の2,048より少ないため、すべてのイニシエータのキュー深度を128に設定できます。
    • この値が2,048よりも大きい場合は、手順3に進みます。
    30台のホストがあり、それぞれ1つのイニシエータがストレージ コントローラ上の2つのターゲット ポートそれぞれに接続されています。30×128 = 3,840です。これは合計最大キュー深度の2,048より大きいため、手順3に記載されているいずれかのオプションを実行して調整します。
  3. 次のいずれかのオプションを選択して、ストレージ コントローラにホストを追加します。
    • オプション1:
      1. FCターゲット ポートを追加します。
      2. FCイニシエータを再配分します。
      3. 手順12を繰り返します。
    必要とされるキュー深度3,840は、ポートあたりの使用可能なキュー深度を超えています。この状態を解決するため、各コントローラに2ポートのFCターゲット アダプタを追加し、30台のホストのうち15台が1つのポートのセット、残りの15台が2つ目のポートのセットに接続されるよう、FCスイッチをゾーニングし直します。これで、ポートあたりのキュー深度は15 × 128 = 1,920となります。
    • オプション2:
      1. 各ホストの規模を、予想されるI/Oニーズに基づいて大規模小規模に分類します。
      2. 大規模イニシエータの台数に128をかけます。
      3. 小規模イニシエータの台数に32をかけます。
      4. 2つの計算結果を合算します。
      5. 2,048より小さい場合は、大規模ホストのキュー深度を128に、小規模ホストのキュー深度を32に設定します。
      6. 2,048よりも大きい場合は、合計キュー深度が2,048以下になるまで各イニシエータのキュー深度を下げます。
        注: 1秒間のI/O数(IOPS)による特定のスループットを達成するために必要なキュー深度を見積もるには、次の式を使用します。

        必要なキュー深度 = (IOPS)×(応答時間)

        たとえば、応答時間3ミリ秒で40,000 IOPSのスループットに必要なキュー深度は、40,000×(.003) = 120です。

    基本となる推奨構成に従ってキュー深度を32に制限した場合、ターゲット ポートに接続できるホストの最大数は64です。一方、キュー深度を128にした場合は、1つのターゲット ポートに接続できるホストの最大数は16になります。このように、1つのターゲット ポートでサポートできるホストの数はキュー深度が大きいほど少なくなります。キュー深度を小さくできないような要件がある場合は、その分ターゲット ポートを増やしてください。
    必要とされるキュー深度3,840は、ポートあたりの使用可能なキュー深度を超えています。ストレージのI/Oニーズが高い大規模ホストが10台、I/Oニーズの低い小規模ホストが20台あります。大規模ホストのイニシエータのキュー深度を128に、小規模ホストのイニシエータのキュー深度を32に設定します。

    その結果、合計キュー深度は(10×128)+(20×32) = 1,920になります。

    使用可能なキュー深度を、各イニシエータに均等に分配できます。

    そのため、イニシエータあたりのキュー深度は2,048÷30 = 68となります。