SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

記憶域プールを PowerShell で設定

leave a comment

以下のようなディスク構成になっている場合に、OS で使用しているブートのディスク以外を使用して、記憶域プールを PowerShell で作成するサンプルを。
image

荒いですが、以下のようなスクリプトでできそうでした。

$DataDisk = Get-Disk | Where-Object {($_.BootFromDisk -eq $false) -and ($_.PartitionStyle -ne "RAW")}
# RAW パーティション以外の場合はディスクをクリアする (RAW パーティションの場合はクリア済み)
Clear-Disk -Number $DataDisk.Number -RemoveData -Confirm:$false
$pd = Get-PhysicalDisk | Where-Object {$_.CanPool -eq $true}
New-StoragePool -PhysicalDisks $pd -FriendlyName "Disk Pool" -StorageSubSystemFriendlyName *Spaces*
New-VirtualDisk -StoragePoolFriendlyName "Disk Pool" -ResiliencySettingName Simple -UseMaximumSize -Provisioningtype Fixed -FriendlyName "Database Disk"
$vdisk = Get-Disk | Where-Object {$_.PartitionStyle -eq "RAW"}
$vdisk | Initialize-Disk
$part = $vdisk | New-Partition -UseMaximumSize
$part | Set-Partition -NewDriveLetter "E"
$part | Format-Volume -FileSystem NTFS -Confirm:$false

実行すると、ブートディスク以外をクリアしてシンプルのレイアウトで仮想ディスクを作成します。

image

見直すとワンライナーでかける箇所がたくさんあるかと思いますが…。

Share

Written by Masayuki.Ozawa

2月 6th, 2014 at 10:29 pm

Posted in PowerShell

Tagged with

Leave a Reply