Oracle® Solaris 11.2 での SAN デバイスとマルチパス化の管理

印刷ビューの終了

更新: 2014 年 12 月
 
 

ディスクターゲットドライバのプロパティーのチューニング

この付録では、sd-config-list または ssd-config-list グローバルプロパティーを使用して、.conf ファイル内の Oracle Solaris ディスクターゲットドライバ (sd または ssd ドライバ) のプロパティーをチューニングする方法について説明します。

付録では、ディスクターゲットドライバのプロパティーをチューニングするための次の形式について説明します。

ディスクドライバのチューニング可能なパラメータ

ディスクドライバをチューニングするチューニング可能パラメータでは次の接頭辞カテゴリを使用します。

  • BCDTable D–1 に示す Binary-Coded-Decimal

  • delay – 再試行の発行の遅延時間

  • timeout - プロセスで許可される最大時間

  • reset – リセット制御

  • retries – 失敗までの再試行回数

  • throttle – アクティビティー制御

Oracle Solaris 10 および Oracle Solaris 11 では、次のチューニング可能パラメータ名とそれらのデータ型がサポートされています。

cache-nonvolatile

BOOLEAN

controller-type

UINT32

delay-busy

UINT32

disksort

BOOLEAN

emulation-rmw

UINT32

physical-block-size

UINT32

reset-lun

BOOLEAN

retries-busy

UINT32

retries-timeout

UINT32

retries-notready

UINT32

retries-reset

UINT32

rmw-type

UINT32

timeout-releasereservation

UINT32

throttle-max

UINT32

throttle-min

UINT32

Oracle Solaris 11 でのみサポートされているチューニング可能パラメータはすべて BOOLEAN データ型です。パラメータ:

  • cdb-suppress-dpofua

  • mmc-gesn-polling

  • power-condition


注 -  BOOLEAN 値は TRUE または FALSE である必要があります。

ディスクドライバをチューニングするための Name:Value ペア形式

sd および ssd ドライバは、特定のチューニング可能プロパティー値を設定できる JSON テキスト name:value 形式をサポートします。

sd ドライバには次の構文を使用します。

sd-config-list = duplet [, duplet]*;

注 -  エントリはセミコロンで終了させてください。そうしないと、構成は無効になり、プロパティーはデフォルト値を保持します。

ssd ドライバには次の構文を使用します。

ssd-config-list = duplet [, duplet]*;

ここで、duplet は「VID PID」、「tunable [, tunable]*」です

VID

SCSI INQUIRY コマンドへのデバイス応答のベンダー ID (VID) フィールドの内容。VID フィールドは 8 文字の長さにする必要があります。VID フィールドが 8 文字未満の場合、VID の長さが 8 文字になるように空白を追加する必要があります。Example D–1 を参照してください。

PID

SCSI INQUIRY コマンドへのデバイス応答の製品 ID (PID) フィールドの内容。PID には左揃えの 16 文字まで含めることができます。16 文字未満を指定した場合、比較は指定した PID の長さに制限されます。

tunable[, tunable] *

tunablename:value ペアです。


注 -  チューニング可能パラメータのスペルを間違えるか、セミコロンでエントリを終了していない場合、構成は無効になり、デバイスのプロパティーのデフォルト値が保持されます。

PID 値は、SCSI INQUIRY コマンドによって返された接頭辞値と sd-config-list または ssd-config-listPID が同じである場合に、一致とみなされます。たとえば、CMS200sd-config-list または ssd-config-list エントリの PID であり、SCSI INQUIRY コマンドで返された PIDCMS200-RCMS200-T、または CMS200-UV10 である場合、すべて一致とみなされます。


SPARC プラットフォームで、ターゲットデバイスが FC デバイスであるかどうか、およびデバイスで MPxIO が有効にされているかどうかによって、そのデバイスを sd または ssd ドライバにバインドできます。prtconf コマンドを使用して、デバイス構成情報をチェックできます。prtconf(1M) マニュアルページを参照してください。

使用例 D-1  sd.conf ファイルの 2 つのターゲットデバイスの構成

次の例では、sd.conf ファイルで 2 つのターゲットデバイス SAMPLE および SUM を構成する方法を示します。

sd-config-list = "SAMPLE  STTU1234566AB", "delay-busy:6000000000", 
                 "SUM     ABC200_R", "retries-busy:5, throttle-max:300";

この例で、デバイス SAMPLE の場合、VIDSAMPLE で、PIDSTTU1234566AB です。再試行までの遅延時間は 6 秒に設定されます。

デバイス SUM の場合、VIDSUM で、PIDABC200_R です。I/O ビジーステータスでの再試行回数は 5 に設定されます。最大スロットル値は 300 に設定されます。

使用例 D-2  ssd.conf ファイルの 2 つのターゲットデバイスの構成

次の例では、ssd.conf ファイルで 2 つのターゲットデバイス GATES および SINE を構成する方法を示します。

ssd-config-list = "GATES   AB568536611CD46G", "reset-lun:TRUE", 
                  "SINE    XYZ200_R", "retries-notready:6, throttle-min:200";

この例で、デバイス GATES の場合、VIDGATES で、PIDAB568536611CD46G です。reset-lun チューニング可能パラメータの TRUE の値は、LUN がリセットされることを示します。

デバイス SINE の場合、VIDSINE で、PIDXYZ200_R です。I/O の準備ができていない場合の再試行の回数は 6 に設定されます。最小スロットル値は 200 に設定されます。

ディスクドライバをチューニングするビットマスク形式

ビットマスク形式 (Version1 形式とも呼ばれる) を使用して、パラメータをチューニングできます。このビットマスク形式には、プロパティー配列のエントリを格納する sd-config-list プロパティーが含まれます。

sd ドライバには次の構文を使用します。

sd-config-list = duplet [, duplet ]*;
sd-ver1-conf-data = 1, mask, value-sequence;

注 -  エントリはセミコロンで終了させてください。そうしないと、構成は無効になり、プロパティーはデフォルト値を保持します。

ssd ドライバには次の構文を使用します。

ssd-config-list = duplet [, duplet ]*;
sd-ver1-conf-data = 1, mask, value-sequence;

ここで duplet は「VID PID」、「sd-ver1-conf-data」です。

VID

SCSI INQUIRY コマンドへのデバイス応答のベンダー ID (VID) フィールドの内容。VID フィールドは 8 文字の長さにする必要があります。ベンダー ID フィールドが 8 文字未満の場合、VID の長さが 8 文字になるように空白を追加する必要があります。

PID

SCSI INQUIRY コマンドへのデバイス応答の製品 ID (PID) フィールドの内容。PID には左揃えの 16 文字まで含めることができます。16 文字未満を指定した場合、比較は指定した PID の長さに制限されます。

sd-ver1-conf-data

1 のバージョン番号、マスク番号、および設定されるチューニング可能値から構成されるプロパティー配列。

mask

0x01 から 0x7FFFF までの値。mask の値は複数の目的のフラグの OR 結果にできる場合があります。Table D–1 に、各チューニング可能パラメータのビット値を示します。

value-sequence

mask の値に対応する有効なプロパティー値と 0 の数のシーケンス。value-sequence の長さ制限は 19 文字です。チューニング可能パラメータのデータ型については、ディスクドライバのチューニング可能なパラメータを参照してください。


注 -  異なる VIDPID を持つ duplet は同じ sd-ver1-conf-data プロパティー配列を共有するか、独自のプロパティー配列を定義します。プロパティー配列名をカスタマイズできます。

PID 値は、SCSI INQUIRY コマンドによって返された接頭辞値と sd-config-list または ssd-config-listPID が同じである場合に、一致とみなされます。たとえば、CMS200sd-config-list または ssd-config-list エントリの PID であり、SCSI INQUIRY コマンドで返された PIDCMS200-RCMS200-T、または CMS200-UV10 である場合、すべて一致とみなされます。


各ビットの位置の定義はプラットフォームによって異なります。チューニング可能パラメータは異なるプラットフォームの異なるフラグ値に対応する場合があります。Oracle Solaris 11 と Oracle Solaris 10 はどちらもビットマスク形式の同じ一連の 19 個のチューニング可能パラメータをサポートしています。

次の表に、さまざまなプラットフォームでのチューニング可能パラメータとそれらのフラグ値を示します。

表 D-1  さまざまなプラットフォームでサポートされるチューニング可能パラメータとそれらのフラグ値
ビット
フラグ値
SPARC 上の sd ドライバ
SPARC 上の ssd ドライバ
x86 または x64 上の sd ドライバ
1
0x00001
throttle-max
throttle-max
throttle-max
2
0x00002
controller-type
retries-notready
controller-type
3
0x00004
retries-notready
retries-busy
fab-devid
4
0x00008
fab-devid
fab-devid
disable_caching
5
0x00010
disable_caching
disable_caching
BCD-play
6
0x00020
retries-busy
controller-type
BCD-read-subchannel
7
0x00040
BCD-play
BCD-play
BCD-read-TOC-TRK
8
0x00080
BCD-read-subchannel
BCD-read-subchannel
BCD-read-TOC-ADDR
9
0x00100
BCD-read-TOC-TRK
BCD-read-TOC-TRK
no-READ-HDR
10
0x00200
BCD-read-TOC-ADDR
BCD-read-TOC-ADDR
CD-read-XD4
11
0x00400
no-READ-HDR
no-READ-HDR
retries-notready
12
0x00800
CD-read-XD4
CD-read-XD4
retries-busy
13
0x01000
retries-reset
retries-reset
retries-reset
14
0x02000
timeout-releasereservation
timeout-releasereservation
timeout-releasereservation
15
0x04000
tur-check
tur-check
tur-check
16
0x08000
throttle-min
throttle-min
throttle-min
17
0x10000
disksort
disksort
disksort
18
0x20000
reset-lun
reset-lun
reset-lun
19
0x40000
cache-nonvolatile
cache-nonvolatile
cache-nonvolatile
使用例 D-3  x86 プラットフォーム上の sd ドライバのチューニング可能パラメータの構成

この例では x86 プラットフォームで sd.conf ファイル内のパラメータをチューニングする方法を示します。

sd-config-list = "SUM     ABC200_R","sd-ver1-x86-example";
sd-ver1-x86-example = 1,0x801,300,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0;

この例では、デバイス SUMVIDSUM で、PIDABC200_R です。

マスク値 0x8010x00800 および 0x00001 フラグのビット単位 OR 値です。これらの値は x86 プラットフォームでの retries-busy および throttle-max チューニング可能パラメータです。

使用例 D-4  SPARC プラットフォーム上の ssd ドライバのチューニング可能パラメータの構成

この例では SPARC プラットフォームで ssd.conf ファイル内のパラメータをチューニングする方法を示します。

ssd-config-list = "SUM     XYZ200_R","sd-ver1-ssd-example";
sd-ver1-ssd-example = 1,0x5,300,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;

この例では、デバイス SUMVIDSUM で、PIDXYZ200_R です。

マスク値 0x50x00004 および 0x00001 フラグのビット単位 OR 値です。これらの値は SPARC プラットフォームでの retries-busy および throttle-max チューニング可能パラメータです。

.conf ファイルに同じターゲットデバイスをチューニングする複数の sd-config-list または ssd-config-list エントリが含まれている場合、最初のエントリのみが有効になります。同じ VIDPID を持つ後続のエントリはすべて無視されます。この動作はビットマスク形式と name:value ペア形式のどちらでも同じです。

sd-config-list プロパティーに、同じ VIDPID を持つ複数の duplet が含まれる場合、エントリの順番で後の指定が優先され、以前の duplet に現れた値が置き換えられます。この動作はビットマスク形式と name:value ペア形式のどちらでも同じです。

ビットマスク形式では、value-sequence パラメータの長さが 19 文字を超える場合、 19 番目の文字より後の値は無視されます。value-sequence の長さが 19 文字未満の場合、構成結果はその前の mask 値によって異なります。mask 値のフラグが付けられたビットの対応する値の位置が空の場合、ターゲットドライバのそのプロパティーにランダムな値が割り当てられます。

ターゲットドライバは .conf ファイルの構文チェックを行わないため、チューニング可能パラメータ名のスペルミスや value-sequence の正しくないエントリなどのエラーについての警告メッセージを表示しません。