記憶域スペースに関する理解を深める(パラメーター設定と振る舞い):(1)

記憶域スペースの動作の詳細について理解を深めるには、GUIから設定出来ないものも含めた、記憶域スペース(及び記憶域プール)の各パラメーターについて理解する必要があります。

設定出来るパラメーター

(おさらい)記憶域スペースと記憶域プール

記憶域プールは、物理ディスクを束ねた仮想的な1つのストレージ。記憶域スペースはその仮想的な1つのストレージ上に作成する論理ディスク(ドライブ)と考えます。

記憶域プールに設定出来るパラメータ

記憶域プールには主に以下のようなパラメーターを設定することが出来ます。

  • FriendlyName:わかりやすいように付与する別名。
  • Usage:記憶域プールの利用設定に関する属性。デフォルトは Other だが、ReservedAsDeltaReplicaContainer, ReservedForComputerSystem, ReservedForLocalReplicationServices, ReservedForMigrationServices, ReservedForRemoteReplicationServices, ReservedForSparing, Unrestricted といった指定をすることが可能。
  • PhysicalDisks:記憶域プールに追加する物理ディスク。CIMオブジェクトの形で指定する。
  • ProvisioningTypeDefault:記憶域プール上に作成される仮想ディスク(記憶域スペース)のプロビジョニングタイプのデフォルト値。Thin,FixedまたはUnknown を指定可能。
  • LogicalSectorSizeDefault:記憶域プール上に作成される記憶域スペースの論理セクターサイズのデフォルト値。512byteと4096byteを指定可能。
New-StoragePool [-StorageSubSystemFriendlyName] <string[]> -FriendlyName <string> -PhysicalDisks <ciminstance[]> [-
Usage <Usage> {Other | Unrestricted | ReservedForComputerSystem | ReservedAsDeltaReplicaContainer | ReservedForMigr
ationServices | ReservedForLocalReplicationServices | ReservedForRemoteReplicationServices | ReservedForSparing}] [
-OtherUsageDescription <string>] [-ResiliencySettingNameDefault <string>] [-ProvisioningTypeDefault <ProvisioningTy
pe> {Unknown | Thin | Fixed}] [-LogicalSectorSizeDefault <uint64>] [-EnclosureAwareDefault <bool>] [-CimSession <Ci
mSession[]>] [-ThrottleLimit <int>] [-AsJob]  [<CommonParameters>]

記憶域プールそのものの属性はFriendlyNameやUsage属性などそれほど多くなく、後は記憶域プール上に作成される記憶域スペースに共通的なデフォルト値の指定となります。

参考:New-StoragePool

記憶域スペースに設定出来るパラメーター

記憶域スペースには主に以下のようなパラメーターを設定することが出来ます。

  • FriendlyName:わかりやすいように付与する別名。
  • Usage:記憶域プールの利用設定に関する属性。デフォルトは Other だが、ReservedAsDeltaReplicaContainer, ReservedForComputerSystem, ReservedForLocalReplicationServices, ReservedForMigrationServices, ReservedForRemoteReplicationServices, ReservedForSparing, Unrestricted といった指定をすることが可能。
  • Size:記憶域スペースのサイズ。
  • ResiliencySettingName:記憶域スペースの回復性。Simple,Mirror,Parityから指定。双方向ミラー、3方向ミラーはいずれもMirror。
  • NumberOfDataCopies:ResiliencySettingNameがMirrorの場合に、作成するデータコピーの数。双方向ミラーは2、3方向ミラーは3を指定。
  • NumberofColumns:記憶域スペースのデータを記憶域プールに書込む際に利用する(書き込みを分散させる)物理ディスクの数。任意に指定するか、AutoNumberOfColumns属性を指定すると自動指定となる。パリティの場合は8が最大。
  • Interleave:記憶域スペースのデータ(ストライプ)を記憶域プールに書込む際に、一つの物理ディスクに対してディスクIOするサイズ。デフォルトは256kb。InterleaveとNuberofColumnsを掛け合わせると、記憶域プールに書込む際のストライプ幅になる。
  • PhysicalDisksToUse:記憶域スペースを作成する際に、記憶域プールを構成する物理ディスクのうちどれを利用するか明示的に指定するための属性。この属性を使って明示的に指定しない限りは、記憶域プールに存在する物理ディスクに対してランダムに書き込みする。記憶域プールに物理HDDが4台存在していて、その上に双方向ミラー、NumberofColumns 1 の記憶域スペースを作成すると、記憶域スペースへのファイルの保存の際に、記憶域プールへの1ストライプの書込み毎に4台の物理HDDから2つの物理HDDを選択して書き込みする。記憶域スペースに保存するデータは、最終的に4台の物理HDDに跨ることになる。
    この属性を明示的に指定することで、たとえば、1つの記憶域プールの中に、HDDとSSDが混在していて、その中のSSDだけを利用して記憶域スペースを作成するといったことも可能になり、記憶域スペースに保存するデータは、指定したSSDにしか保存されないことになる。
  • ProvisiongType:プロビジョニングの指定。Thin,FixedまたはUnknown を指定可能。
 New-VirtualDisk [-StoragePoolFriendlyName] <string[]> -FriendlyName <string> [-Usage <Usage> {Other | Unrestricted
 | ReservedForComputerSystem | ReservedForReplicationServices | ReservedForMigrationServices | LocalReplicaSource |
 RemoteReplicaSource | LocalReplicaTarget | RemoteReplicaTarget | LocalReplicaSourceOrTarget | RemoteReplicaSourceOr
 Target | DeltaReplicaTarget | ElementComponent | ReservedAsPoolContributer | CompositeVolumeMember | CompositeVirtu
 alDiskMember | ReservedForSparing}] [-OtherUsageDescription <string>] [-ResiliencySettingName <string>] [-Size <uin
 t64>] [-UseMaximumSize] [-ProvisioningType <ProvisioningType> {Unknown | Thin | Fixed}] [-IsEnclosureAware <bool>]
 [-PhysicalDisksToUse <ciminstance[]>] [-NumberOfDataCopies <uint16>] [-PhysicalDiskRedundancy <uint16>] [-NumberOfC
 olumns <uint16>] [-AutoNumberOfColumns] [-Interleave <uint64>] [-CimSession <CimSession[]>] [-ThrottleLimit <int>]
 [-AsJob]  [<CommonParameters>]

これらのパラメーターを明示的に指定して、記憶域プールあるいはその上の記憶域スペースを作成することで、より思い通りの設計や効率的な利用が出来ますが、ほとんどがGUIからは設定出来ずPowerShellから設定する必要があります。また、FriendlyNameなど一部の属性を除いて、NumberofColumns、Interleave、ResiliensySettingNameなど、記憶域スペースの動作に関する特徴を決定づける属性の大半は記憶域プール、記憶域スペースの作成時にしか指定出来ません。

参考:New-VirtualDisk

物理ディスクに設定出来るパラメーター

物理ディスクに対しては、主に以下のようなパラメーターを設定することが出来ます。

Set-PhysicalDisk -UniqueId <string> [-NewFriendlyName <string>] [-Description <string>] [-Usage <Usage> {AutoSelect
 | ManualSelect | HotSpare | Retired | Journal}] [-CimSession <CimSession[]>] [-ThrottleLimit <int>] [-AsJob]  [<Co
mmonParameters>]

次回以降、記憶域スペースに設定する属性の設定例、属性毎の振る舞いについて説明します。

タイトルとURLをコピーしました