2017-03-10 6 views
3

2つのストレージスペースプールをそれぞれ4つのディスクで作成するスクリプトを作成しようとしています。しかし、キャッシュ要件のために、pool1にはLUN0-3、pool2にはLUN4-7のディスクを使用する必要があります。 (スクリーンショットを参照)私は2つのプールを作成するために、次のスクリプトを使用しますが、私はそれを実行するたびに、それは別のディスクからプールを作成します。PowerShell。正しいディスクを使用して2つのストレージスペースプールを作成する

$disks = Get-PhysicalDisk -CanPool $true | select -first ((Get-PhysicalDisk -CanPool $true).count/2) 
New-StoragePool -FriendlyName "DataPool" -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks $disks | New-VirtualDisk -FriendlyName "DataDisk" -UseMaximumSize -NumberOfColumns $disks.Count -ResiliencySettingName "Simple" -ProvisioningType Fixed | Initialize-Disk -Confirm:$False -PassThru | New-Partition -DriveLetter S –UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "SQLDATA" -AllocationUnitSize 65536 -Confirm:$false    

$disks2 = Get-PhysicalDisk -CanPool $true 
New-StoragePool -FriendlyName "LogsPool" -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks $disks2 | New-VirtualDisk -FriendlyName "LogsDisk" -UseMaximumSize -NumberOfColumns $disks.Count -ResiliencySettingName "Simple" -ProvisioningType Fixed | Initialize-Disk -Confirm:$False -PassThru | New-Partition -DriveLetter L –UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "SQLLOGS" -AllocationUnitSize 65536 -Confirm:$false 

は、どのように私はそれを動作させることができますか? enter image description here

enter image description here enter image description here

+0

pool1にはLUN0、LUN1、LUN2、LUN3のディスクを持っている必要がありますを指定するには、デバイスIDを使用しています。しかし、deploymen1には、スクリーンショット2のように、LUN4、LUN3、LUN6、LUN2があります。デプロイメント2では、LUN 3、LUN 1、LUN 2、LUN 5があります。適切なキャッシングを設定することが不可能になります。ネストされたデプロイメントを行うことができましたが、PowerShellコードを探していたので、もっと効果的でしたか? – WinBoss

+0

あなたの環境を複製する能力はありませんが、なぜそれらをフィルタリングしないのですか? – 4c74356b41

+0

できるかどうかわかりません。すべての値はまったく同じです。 https://i.stack.imgur.com/Bq7n9.png 少なくともSQL Server 2016では、SQL Server 2014の値が異なる可能性があります(ただし、2016が必要です)。 – WinBoss

答えて

3

をソートするために、これを試してみてください、あなたは正しいディスクを取得するためにDEVICEIDによってそれらを並べ替えることができますか?

$disks = Get-PhysicalDisk -CanPool $true | Sort-Object deviceid | select -first ((Get-PhysicalDisk -CanPool $true).count/2) 

またはいくつかの他の方法で明示的にディスク0-3と4-7

3
$disks = (get-physicaldisk -canpool $true).PhysicalLocation | sort 

それら

+0

ねえ、私はうまくいきませんね:( http://pastebin.com/4aNDQa6N 私の推測では、このような期待値は次のようなものです: 'Msft仮想ディスクTrue OK健康的な自動選択1023GB'実際の値は '統合:アダプタ3:ポート0:ターゲット0:LUN 2'('(get-physicaldisk -canpool $ true).PhysicalLocation | sort'を使用) – WinBoss

+0

https://i.stack.imgur.com/PIWro.png – WinBoss

関連する問題