-
Notifications
You must be signed in to change notification settings - Fork 51
DiskAccessPath
| Parameter | Attribute | DataType | Description | Allowed Values |
|---|---|---|---|---|
| AccessPath | Key | String | Specifies the access path folder to the assign the disk volume to. | |
| DiskId | Required | String | Specifies the disk identifier for the disk to modify. | |
| DiskIdType | Write | String | Specifies the identifier type the DiskId contains. Defaults to Number. | Number, UniqueId, Guid |
| Size | Write | Uint64 | Specifies the size of new volume. | |
| FSLabel | Write | String | Define volume label if required. | |
| AllocationUnitSize | Write | Uint32 | Specifies the allocation unit size to use when formatting the volume. | |
| FSFormat | Write | String | Specifies the file system format of the new volume. | NTFS, ReFS |
The resource is used to initialize, format and mount the partition/volume to a folder access path. The disk to add the partition/volume to is selected by specifying the DiskId and optionally DiskIdType. The DiskId value can be a Disk Number, Unique Id or Guid.
Important: The Disk Number is not a reliable method of selecting a disk because it has been shown to change between reboots in some environments. It is recommended to use the Unique Id if possible.
The Disk Number, Unique Id and Guid can be identified for a disk by using the PowerShell command:
Get-Disk | Select-Object -Property FriendlyName,DiskNumber,UniqueId,GuidNote: The Guid for a disk is only assigned once the partition table for the disk has been created (e.g. the disk has been initialized). Therefore to use this method of disk selection the disk must have been initialized by some other method.
This configuration will wait for disk 2 to become available, and then make the disk available as two new formatted volumes mounted to folders c:\SQLData and c:\SQLLog, with c:\SQLLog using all available space after c:\SQLData has been created.
Configuration Example
{
Import-DSCResource -ModuleName StorageDsc
Node localhost
{
WaitForDisk Disk2
{
DiskId = 2
RetryIntervalSec = 60
RetryCount = 60
}
DiskAccessPath DataVolume
{
DiskId = 2
AccessPath = 'c:\SQLData'
Size = 10GB
FSLabel = 'SQLData1'
DependsOn = '[WaitForDisk]Disk2'
}
DiskAccessPath LogVolume
{
DiskId = 2
AccessPath = 'c:\SQLLog'
FSLabel = 'SQLLog1'
DependsOn = '[DiskAccessPath]DataVolume'
}
}
}This configuration will wait for disk 2 with Unique Id '5E1E50A401000000001517FFFF0AEB84' to become available, and then make the disk available as two new formatted volumes mounted to folders c:\SQLData and c:\SQLLog, with c:\SQLLog using all available space after c:\SQLData has been created.
Configuration Example
{
Import-DSCResource -ModuleName StorageDsc
Node localhost
{
WaitForDisk Disk2
{
DiskId = '5E1E50A401000000001517FFFF0AEB84' # Disk 2
DiskIdType = 'UniqueId'
RetryIntervalSec = 60
RetryCount = 60
}
DiskAccessPath DataVolume
{
DiskId = '5E1E50A401000000001517FFFF0AEB84' # Disk 2
DiskIdType = 'UniqueId'
AccessPath = 'c:\SQLData'
Size = 10GB
FSLabel = 'SQLData1'
DependsOn = '[WaitForDisk]Disk2'
}
DiskAccessPath LogVolume
{
DiskId = '5E1E50A401000000001517FFFF0AEB84' # Disk 2
DiskIdType = 'UniqueId'
AccessPath = 'c:\SQLLog'
FSLabel = 'SQLLog1'
DependsOn = '[DiskAccessPath]DataVolume'
}
}
}