記憶域スペースで使うPowerShellのコマンドレットをメモしておきます
Winodws 10の記憶域プールを使おうといろいろ試しています。
"記憶域の管理"画面だけでは操作できない事があるため、時々PowerShellのコマンドレットを使います。
すぐに忘れるのでメモしておきます。不定期に加筆するかもしれません。
GUIでできるものはGUIを使った方が間違えが少なく良いでしょう。
記憶域プールに追加していないと設定できません。
MediaTypeがUnspecifiedとなっている場合があります。記憶域プールが適切に動作できない原因になるので設定し明示しておきましょう。
リセットする物理ディスクはフレンドリーネームでも指定できますが、重複したドライブがあると困るのでシリアルナンバーを使って指定する方が良いでしょう。
-numberofcolumnsで使う物理ディスクの数を指定します。GUIで作ると3です。
-numberofcolumnsで使う物理ディスクの数を指定します。GUIで作ると1です。
-numberofcolumnsは指定しません。物理ディスクが3台以下なら1です。
ここで紹介されていたコマンドレットにキャッシュを追加しました。
"記憶域の管理"画面だけでは操作できない事があるため、時々PowerShellのコマンドレットを使います。
すぐに忘れるのでメモしておきます。不定期に加筆するかもしれません。
GUIでできるものはGUIを使った方が間違えが少なく良いでしょう。
記憶域スペースで使うPowerShellのコマンドレット
物理ディスクのプロパティを表示するコマンドレット
接続されている物理ディスクを表示する
Get-Physicaldisk出力例
FriendlyName SerialNumber MediaType CanPool OperationalStatus HealthStatus Usage Size
------------ ------------ --------- ------- ----------------- ------------ ----- ----
ST3000DM001-1CH166 xxxxxxxxxx HDD False OK Healthy Auto-Select 2.73 TB
Crucial_CT512MX100SSD1 xxxxxxxxxxxxxx SSD False OK Healthy Auto-Select 476.94 GB
WDC WDS120G1G0A-00SS50 xxxxxxxxxxxxxx SSD False OK Healthy Auto-Select 111.75 GB
指定したプロパティだけを表示する
Get-Physicaldisk | Select-Object FriendlyName, Size出力例
FriendlyName Size
------------ ----
ST3000DM001-1CH166 3000571527168
Crucial_CT512MX100SSD1 512110190592
WDC WDS120G1G0A-00SS50 119990648832
物理ディスクとそのプロパティを全て表示する
Get-Physicaldisk | Format-List
フレンドリーネームで指定した物理ディスクを表示する
Get-Physicaldisk -FriendlyName "<フレンドリーネーム>"
指定したプロパティの値を持つ物理ディスクを表示する
Get-Physicaldisk | Where-Object { $_.<プロパティ名> -eq "<値>" }
シリアルナンバーを指定して表示する
例1Get-Physicaldisk –SerialNumber "<シリアルナンバー>"例2
Get-Physicaldisk | Where-Object { $_.SerialNumber -eq "<シリアルナンバー>" }
物理ディスクのプロパティを設定するコマンドレット
フレンドリーネームで指定した物理ディスクのメディアタイプを設定する
Set-PhysicalDisk -FriendlyName "<フレンドリーネーム>" -MediaType <メディアタイプ>メディアタイプには HDD, SSDなどを指定します。
記憶域プールに追加していないと設定できません。
MediaTypeがUnspecifiedとなっている場合があります。記憶域プールが適切に動作できない原因になるので設定し明示しておきましょう。
シリアルナンバーで指定した物理ディスクのメディアタイプを設定する
Get-Physicaldisk –SerialNumber "<シリアルナンバー>" | Set-PhysicalDisk -MediaType <メディアタイプ>同じフレンドリーネームのドライブがある場合にはシリアルナンバーで指定します。
物理ディスクのステータスをリセットする
Get-Physicaldisk –SerialNumber "<シリアルナンバー>" | Reset-PhysicalDisk記憶域プールへ物理ディスクを追加しようとしても物理ディスクが一覧に出てこない、追加できない場合に試します。記憶域プールから削除するとCanPoolプロパティがFalseになる時があります。CanPoolプロパティがTrueではない物理ディスクは記憶域プールへ追加できません。
リセットする物理ディスクはフレンドリーネームでも指定できますが、重複したドライブがあると困るのでシリアルナンバーを使って指定する方が良いでしょう。
記憶域プールに関するコマンドレット
記憶域プールで使われている物理ディスクを表示する
Get-StoragePool -friendlyname "<記憶域プールのフレンドリーネーム>" | get-physicaldisk
記憶域プールで使われていない物理ディスクを表示する
get-physicaldisk | Where-Object { $_.CannotPoolReason -ne "In a Pool" }
記憶域に関するコマンドレット
記憶域をパリティで作成する
new-virtualdisk -storagepoolfriendlyname "<記憶域プールのフレンドリーネーム>" -friendlyname "<作成する記憶域のフレンドリーネーム>" -provisioningtype Thin -numberofcolumns 3 -resiliencysettingname Parity -size <確保する容量> -WriteCacheSize <キャッシュサイズ>-WriteCacheSize はキャッシュサイズを指定します。1GBや100MBと指定します。指定しなければ自動的に決まります。SSDが無い場合は32MB、SSDがあると1GBになります。
-numberofcolumnsで使う物理ディスクの数を指定します。GUIで作ると3です。
記憶域をシンプルで作成する
new-virtualdisk -storagepoolfriendlyname "<記憶域プールのフレンドリーネーム>" -friendlyname "<作成する記憶域のフレンドリーネーム>" -provisioningtype Thin -numberofcolumns 1 -resiliencysettingname Simple -size <確保する容量> -WriteCacheSize <キャッシュサイズ>-WriteCacheSize はキャッシュサイズを指定します。1GBや100MBと指定します。指定しなければ自動的に決まります。SSDが無い場合は0MB、SSDがあると1GBになります。SSDを使っている場合はライトキャッシュがあると十分なパフォーマンスが出ない可能性があります。その時は0としてみてください。小さいファイルはキャッシュがある方が良く、大きなファイルはキャッシュが無い方が良いようです。
-numberofcolumnsで使う物理ディスクの数を指定します。GUIで作ると1です。
記憶域を双方向ミラーで作成する
new-virtualdisk -storagepoolfriendlyname "<記憶域プールのフレンドリーネーム>" -friendlyname "<作成する記憶域のフレンドリーネーム>" -provisioningtype Thin -resiliencysettingname Mirror -size <確保する容量> -WriteCacheSize <キャッシュサイズ>-WriteCacheSize はキャッシュサイズを指定します。1GBや100MBと指定します。指定しなければ自動的に決まります。SSDが無い場合は0MB、SSDがあると1GBになります。SSDを使っている場合はライトキャッシュがあると十分なパフォーマンスが出ない可能性があります。その時は0としてみてください。小さいファイルはキャッシュがある方が良く、大きなファイルはキャッシュが無い方が良いようです。
-numberofcolumnsは指定しません。物理ディスクが3台以下なら1です。
記憶域の一覧を表示する
Get-VirtualDisk出力例
FriendlyName Usage MediaType ResiliencySettingName PhysicalDiskRedundancy OperationalStatus HealthStatus IsManualAt
tach
------------ ----- --------- --------------------- ---------------------- ----------------- ------------ ----------
記憶域パリティ Data Unspecified Parity 1 OK Healthy False
記憶域ミラー Data Unspecified Mirror 1 OK Healthy False
記憶域とそのプロパティを全て表示する
Get-VirtualDisk | Format-List
記憶域のライトキャッシュサイズを表示する
Get-VirtualDisk | Select-Object FriendlyName, Size, WriteCacheSize
便利なコマンドレット
記憶域の主要なプロパティを見やすく表示する
Get-VirtualDisk | ft FriendlyName, ResiliencySettingName, NumberOfColumns, NumberOfDataCopies, @{Expression={$_.WriteCacheSize / 1MB}; Label="Cache(MB)"}, @{Expression={$_.Size / 1GB}; Label="Size(GB)"}, @{Expression={$_.FootprintOnPool / 1GB}; Label="PoolFootprint(GB)"} -AutoSize出力例
FriendlyName ResiliencySettingName NumberOfColumns NumberOfDataCopies Cache(MB) Size(GB) PoolFootprint(GB)
------------ --------------------- --------------- ------------------ --------- -------- -----------------
記憶域パリティ Parity 3 1 1024 16384 260
記憶域ミラー Mirror 2 2 0 1024 319.5
列数、キャッシュサイズや記憶域プールで使われている容量等を表示します。ここで紹介されていたコマンドレットにキャッシュを追加しました。
(Storage Spaces) How to get the number of columns?
"It was described here: http://blogs.technet.com/b/wincat/archive/2012/05/21/optimizing-windows-server-2012-storage-management-via-powershell-for-both-performance-and-resiliency.aspx"
TechNet | Microsoft
Optimizing Windows Server 2012 storage management via PowerShell for both performance and resiliency
コメント
コメントを投稿