X

[記憶域スペースをPowerShellで使いこなす]Add-PhysicalDisk

記憶域プール(Storage Spaces)は、Windows Serverだけでなく、Windowsクライアントでも利用できますが、使いこなすには技術に対する理解と、PowerShellのコマンドレットが必要になってきます。

GUIから設定できる項目は限られており、WindowsクライアントPCのGUIだけでしか記憶域スペースを使ったことがない方は、本当の記憶域プールを理解していないといっても過言ではないかもしれません。

記憶域プールに関するPowerShellのコマンドレットを紹介しながら、理解を深めていきたいと思います。

Add-PhysicalDisk

概要

Add-PhysicalDiskは、物理ディスクを特定の記憶域プールに追加したり、物理ディスクを特定の仮想ディスクで使用するように明示的にアサインする場合などに利用します。

Windows Server 2016のPowerShellで、

Get-help Add-PhysicalDisk

を実行した出力は以下の通りです。

Add-PhysicalDiskの詳細は、MSDNおよびTechNetライブラリのAdd-PhysicalDiskを参照してください。

Windows Server 2016、Windows 10 Add-PhysicalDisk
Windows Server 2012 R2、Windows 8.1 Add-PhysicalDisk
Windows Server 2012、Windows8 Add-PhysicalDisk

 

構文例

以下のような形で用いることができます。

例1:特定の物理ディスクを、フレンドリー名で指定した記憶域プールに追加する

$PDToAdd = Get-PhysicalDisk -FriendlyName PhysicalDisk5
Add-PhysicalDisk -PhysicalDisks $PDToAdd -StoragePoolFriendlyName CompanyData

1行目では、”PhysicalDisk5″というフレンドリー名を持った物理ディスクを、オブジェクトとして変数 $PDtoAdd に割り当てています。

2行目では変数 $PDtoAdd で指定された物理ディスクを、”CompanyData”というフレンドリー名を持った記憶域プールに対して明示的に追加しています。

例2:Usage属性を指定して、物理ディスクを追加する

$PDToAdd = Get-PhysicalDisk -FriendlyName PhysicalDisk5
Add-PhysicalDisk -PhysicalDisks $PDToAdd -StoragePoolFriendlyName CompanyData -Usage ManualSelect

この例はほぼ例1と同じですが、2行目で物理ディスクを記憶域プール”CompanyData”に追加する際、Usage属性を”ManualSelect”に指定して追加しています。

Usage属性はデフォルトでは”AutoSlect”となり自動的に物理ディスクはプールで使用されるよう構成されますが、明示的に”ManualSelect”や”HotSpare”に指定することで、自動的に利用されるのを防ぐこともできます。

例3:利用可能なすべての物理ディスクを、指定する記憶域プールに追加する

$PDToAdd = Get-PhysicalDisk -CanPool $True
Add-PhysicalDisk -StoragePoolFriendlyName "Demo Pool" -PhysicalDisks $PDToAdd

1行目では、-CanPool属性が”True”である物理ディスク全てを、オブジェクトとして変数 $PDtoAdd に割り当てています。

2行目では、変数 $PDtoAdd で指定された物理ディスクを、”Demo Pool”というフレンドリー名を持った記憶域プールに対して明示的に追加しています。

例4:記憶域プールを取得した結果をパイプして、Add-PhysicalDiskを実行する

Get-StoragePool -IsPrimordial $False | Add-PhysicalDisk -PhysicalDisks (Get-PhysicalDisk -CanPool $True)

この例では、Primordial属性が”False”の記憶域プールを取得し、パイプラインでつなげることで、その出力結果に対して後ろの物理ディスクを追加するコマンドレットを実行しています。
(Primordial属性が”False”の記憶域プールが複数ある場合は実行できません)

追加する物理ディスクは、変数を用いるのではなく、-CanPool属性が”True”の物理ディスクを取得するコマンドレットを入れ子にして、指定しています。

例5:特定の仮想ディスクに対して物理ディスクを指定して追加する

Add-PhysicalDisk –VirtualDiskFriendlyName UserData –PhysicalDisks (Get-PhysicalDisk -FriendlyName PhysicalD
isk3, PhysicalDisk4)

この例では、フレンドリー名”PhysicalDisk3″と”PhysicalDisk4″の2つの物理ディスクを指定して、フレンドリー名”UserData”の仮想ディスクに割り当てています。

このように、特定の仮想ディスクでのみ利用されるように物理ディスクを追加することもできます。

記憶域スペースを管理するPowerShellのCmdletに、その他にも主なコマンドレットの一覧を掲載しています。

ださっち: