NAME

Add-DcsVirtualDiskTemplate

SYNOPSIS

Creates a template that can be used to create virtual disks.

SYNTAX

Add-DcsVirtualDiskTemplate   -Name <String>   -FirstPool <String>   [ -FirstServer <String> ]   [ -SecondPool <String> ]   [ -SecondServer <String> ]   [ -BackupPool <String> ]  [ -BackupServer <String> ] -VirtualDiskSize <DataSize>   [ -VirtualDiskSectorSize <DataSize> ]   -VirtualDiskAlias <String> [-VirtualDiskDescription <String>]  [-Tag <String>]  [ -SnapshotServer <String> ]   [ -SnapshotPool <String> ]   [ -ContinuousDataProtectionServer <String> ]   [ -ContinuousDataProtectionPool <String> ]   [ -ContinuousDataProtectionLogSize <DataSize> ]   [ -StorageProfile <String> ]   [ -UseRedundantMirrorMappings <Boolean> ] [-MirrorTrunkMappingEnabled <Boolean>] [-EncryptionEnabled <Boolean>] [-CompressionEnabled <Boolean>] [-DeduplicationEnabled <Boolean>] [-OptimizeStaleOnly <Boolean>] [-StaleDataWeight <UInt32>] [-CyberResiliencyRatingEnabled <Boolean>] [ -AllocationAttentionThreshold <UInt64> ]   [ -AllocationWarningThreshold <UInt64> ]   [ -AllocationCriticalThreshold <UInt64> ]   [ -LatencyAttentionThreshold <double> ]   [ -LatencyWarningThreshold <double> ]   [ -LatencyCriticalThreshold <double> ]   [ -StorageLatencyAttentionThreshold <double> ]   [ -StorageLatencyWarningThreshold <double> ]   [ -StorageLatencyCriticalThreshold <double> ] [-VirtualDiskSubType <String>]  [ -ReservedSpacePercentage <UInt32> ] [-ReadOnly]  [ -WriteThroughEnabled]   [ -Connection <String> ]   [ -PipelineVariable <String> ] [<CommonParameters>]

Add-DcsVirtualDiskTemplate   -Name <String>   -FirstPool <String>   [ -FirstServer <String> ]   [ -SecondPool <String> ]   [ -SecondServer <String> ]  [ -BackupPool <String> ]  [ -BackupServer <String> ] -VirtualDiskSize <DataSize>   [ -VirtualDiskSectorSize <DataSize> ]   -VirtualDiskAlias <String> [ -VirtualDiskDescription <String> ]  [ -Tag <String> ]  [ -SnapshotServer <String> ]   [ -SnapshotPool <String> ]   [ -StorageProfile <String> ]   [ -UseSequentialStorage]   [ -UseRedundantMirrorMappings <Boolean> ] [-MirrorTrunkMappingEnabled <Boolean>] [-EncryptionEnabled <Boolean>] [-CompressionEnabled <Boolean>] [-DeduplicationEnabled <Boolean>] [-OptimizeStaleOnly <Boolean>] [-StaleDataWeight <UInt32>] [-CyberResiliencyRatingEnabled <Boolean>] [ -AllocationAttentionThreshold <UInt64> ]   [ -AllocationWarningThreshold <UInt64> ]   [ -AllocationCriticalThreshold <UInt64> ]   [ -LatencyAttentionThreshold <double> ]   [ -LatencyWarningThreshold <double> ]   [ -LatencyCriticalThreshold <double> ]   [ -StorageLatencyAttentionThreshold <double> ]   [ -StorageLatencyWarningThreshold <double> ]   [ -StorageLatencyCriticalThreshold <double> ]   [ -VirtualDiskSubType <String> ] [ -ReservedSpacePercentage <UInt32> ] [-ReadOnly]  [ -WriteThroughEnabled]   [ -Connection <String> ]   [ -PipelineVariable <String> ] [<CommonParameters>]

DESCRIPTION

Creates a template that can be used to create virtual disks. Parameters are included to set the properties and settings for the template. Virtual disks created from the template will have the same properties and settings of the template and can be used to create different virtual disk subtypes (standard, VVOLs, or protocol endpoints). To create virtual disks from a template, see Add-DcsVirtualDiskFromTemplate.

PARAMETERS

-Name<String>
Name of the virtual disk template being created.

Required: true
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-FirstPool<String>
Name or ID of the disk pool to use as the first storage source of the virtual disks created from the template. To resolve by name, the name must be unique to the server group or the server must be specified.

Required: true
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-FirstServer<String>
Computer name or ID of the server supplying the first storage source (FirstPool parameter). The computer name must be unique or the name must be fully qualified.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-SecondPool<String>
Name or ID of the disk pool to use as the second storage source of virtual disks created from this template when mirrored virtual disks will be created. To resolve by name, the name must be unique to the server group or the server must be specified.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-SecondServer<String>
Computer name or ID of the server supplying the second storage source (SecondPool parameter). The computer name must be unique or the name must be fully qualified.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false
 
-BackupPool<String>
Name or ID of the disk pool to be used as the backup storage source for virtual disks created from this template when mirrored virtual disks are created. To resolve by name, the name must be unique to the server group, or the server must be specified.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false
 
-BackupServer<String>
Computer name or ID of the server supplying the backup storage source (specified by the BackupPool parameter). The computer name must be unique, or it must be fully qualified.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-VirtualDiskSize<DataSize>
The size of the virtual disk to create from the template. Valid values consist of the number followed by the unit of measurement (MiB, GiB, TiB). Decimals may be used. For example, "100GiB", "1.5TiB", and "500000MiB" are valid sizes. Size can range from a miniumum of 1GiB to a maximum of 1024TiB.

Required: true
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-VirtualDiskSectorSize<DataSize>
The sector size of the virtual disk to create from the template. Valid values are "512", "512B", "4096", or "4KiB". If the unit is not included, it is assumed to represent the number of bytes in the sector. If this parameter is not specified, the default of 512 bytes will be used.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-VirtualDiskAlias<String>
Name of the virtual disk to create from the template. If multiple virtual disks will be created, the names will beginning with the root name and subsequent virtual disks will have a number appended to the end to make them unique. The number will begin with the first available number and will be incremented by one provided that the name is available. numbers will be skipped if they already exist. For instance, if the alias is "VVOLMR" and these names are available, virtual disks will be named "VVOLMR", "VVOLMR 1", "VVOLMR 2" and so on.

Required: true
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false
 
-VirtualDiskDescription<String>
The description that will be set on every virtual disk created from this template.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false


-Tag<String>
Used to tag Virtual Disk Templates for vVol datastores.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-SnapshotServer<String>
Computer name or ID of the server with the preferred snapshot pool (SnapshotPool parameter). The computer name must be unique or the name must be fully qualified.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-SnapshotPool<String>
Name or ID that identifies the preferred snapshot pool. Snapshots of virtual disks created from this template will be created from this pool. To resolve by name, the name must be unique to the server group or the server (SnapshotServer parameter) must be specified.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-ContinuousDataProtectionServer<String>
Computer name or ID of the server with the pool (ContinousDataProtectionPool parameter) used for the history log. The computer name must be unique or the name must be fully qualified.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-ContinuousDataProtectionPool<String>
Name or ID of the disk pool to use as the source of the history log. To resolve by name, the name must be unique to the server group or the server must be specified.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-ContinuousDataProtectionLogSize<DataSize>
The maximum size of the history log for data protection. Valid values consist of the number followed by the unit of measurement (MiB, GiB, TiB). Decimals may be used. For example, "10GiB", "20.5GiB", and "5000MiB" are valid sizes. The history log size can range from a minimum of 8GiB up to 1024TiB. If not specified, the default history log size will be 5% of the size of the CDP-enabled virtual disk or 8GiB, whichever is larger.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-StorageProfile<String>
Use this parameter to set the storage profile. Valid values in order from highest priority to lowest priority are: "Critical", "High", "Normal", "Low", and "Archive". A custom storage profile can also be set. If this parameter is not set, the default setting of "Normal" will be used in the template.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-UseRedundantMirrorMappings<Boolean>
Use this parameter to enable or disable the redundant mirror paths property for this template. Specify $true to create redundant mirror paths for virtual disks created from this template or $false to disable the redundant mirror paths property. Redundant mirror paths provide two mirror paths going in each direction between servers. Redundant paths can be either iSCSI or Fibre Channel. Each server is required to have two FC or two iSCSI ports with the mirror role enabled (see Set-DcsServerPortProperties). Port paths are automatically selected.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false


-MirrorTrunkMappingEnabled<Boolean>
Indicates whether or not to use a mirror trunk for mirror paths. Specify $true to use the trunk or $false to not use the trunk.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false
 
-EncryptionEnabled<Boolean>
Use this parameter to enable or disable the use of Encryption on Virtual Disks created from this template.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false
 
-CompressionEnabled [<Boolean>]
Use this parameter to enable or disable the use of Inline Compression on virtual disks created from this template.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false
 
-DeduplicationEnabled [<Boolean>]
Use this parameter to enable or disable the use of Inline Deduplication on virtual disks created from this template.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false
 
-OptimizeStaleOnly [<Boolean>]
Use this parameter to enable or disable optimization only for stale data of the virtual disk created from this template. This option can be enabled only when Inline Compression, Inline Deduplication, or both are enabled.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false
 
-StaleDataWeight <UInt32>
Use this parameter to specify the Optimization Policy applied to stale data of the virtual disk created from this template. Valid values include "32", "64", and "96". The input is rounded to these valid values. The default value is "64" which specifies the Normal Optimization Policy. Similarly, "32" specifies Lazy and "96" specifies Aggressive Optimization Policy.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-CyberResiliencyRatingEnabled [<Boolean>]
Use this parameter to specify whether to enable or disable Cyber Resiliency Rating for this virtual disk template. Specify $true to enable or $false to disable.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false
 
-AllocationAttentionThreshold<UInt64>
This parameter has been deprecated and will always be empty. This parameter is left in the interface for backwards compatibility. It cannot be changed.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-AllocationWarningThreshold<UInt64>
This parameter has been deprecated and will always be empty. This parameter is left in the interface for backwards compatibility. It cannot be changed.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-AllocationCriticalThreshold<UInt64>
This parameter has been deprecated and will always be empty. This parameter is left in the interface for backwards compatibility. It cannot be changed.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-LatencyAttentionThreshold<double>
This parameter sets the attention level of the I/O Latency Threshold in System Health. The value is the amount of milliseconds (ms). Valid values are "0" through "60000". The default value is "30". In this case, when the latency for a front-end path to the virtual disk reaches 30 ms, an attention level message will be generated. If this parameter is not set, the default value will be used in the template.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-LatencyWarningThreshold<double>
This parameter sets the warning level of the I/O Latency Threshold in System Health. The value is the amount of milliseconds (ms). Valid values are "0" to "60000". The default value is "60". In this case, when the latency for a front-end path to the virtual disk reaches 60 ms, a warning level message will be generated. If this parameter is not set, the default value will be used in the template.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-LatencyCriticalThreshold<double>
This parameter sets the critical level of the I/O Latency Threshold in System Health. The value is the amount of milliseconds (ms). Valid values are "0" to "60000". The default value is "120". In this case, when the latency for a front-end path to the virtual disk reaches 120 ms, a critical level message will be generated. If this parameter is not set, the default value will be used in the template.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-StorageLatencyAttentionThreshold<double>
This parameter sets the attention level of the Storage Latency Threshold in System Health. The value is the amount of milliseconds (ms). Valid values are "0" through "60000". The default value is "120". In this case, when the latency for a back-end path to the disk reaches 120 ms, an attention level message will be generated. If this parameter is not set, the default value will be used in the template.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-StorageLatencyWarningThreshold<double>
This parameter sets the warning level of the Storage Latency Threshold in System Health. The value is the amount of milliseconds (ms). Valid values are "0" to "60000". The default value is "240". In this case, when the latency for a back-end path to the disk reaches 240 ms, a warning level message will be generated. If this parameter is not set, the default value will be used in the template.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-StorageLatencyCriticalThreshold<double>
This parameter sets the critical level of the Storage Latency Threshold in System Health. The value is the amount of milliseconds (ms). Valid values are "0" to "60000". The default value is "480". In this case, when the latency for a back-end path to the disk reaches 480 ms, a critical level message will be generated. If this parameter is not set, the default value will be used in the template.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false


-VirtualDiskSubType<String>
The subtype of the virtual disk that will be created from the template. Possible values are "Standard", "VVOL", and "ProtocolEndpoint". "Standard" creates a standard virtual disk. "VVOL" creates a virtual volume to use as a storage resource for a VMware virtual machine. "ProtocolEndpoint" creates a protocol endpoint for a VMware virtual volume datastore (storage container). THIS PARAMETER IS FOR DATACORE INTERNAL USE ONLY.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-ReservedSpacePercentage<UInt32>
Use this parameter to reserve a percentage of space in each pool for exclusive use by virtual disks created from the template. A valid value is a number between 0 and 100 which refers to the percentage. For example, to reserve 50% space, enter the value "50". If this parameter is not specified, the default of "0" will be used, which will not reserve any space.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false


-ReadOnly
Specify this parameter to set the template as read only, which prevents the template from being changed or deleted. THIS PARAMETER IS FOR DATACORE SOFTWARE INTERNAL USE ONLY.


Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-WriteThroughEnabled
Specify this parameter to put all virtual disks created from this template in write-through mode (all write operations to the virtual disk are written directly to the back-end storage and then acknowledged).

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-Connection<String>
Alias of the connection to the server group. If not specified, the default connection will be used.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-PipelineVariable<String>

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false

-UseSequentialStorage
Use this parameter to enable the sequential storage property for this template.

Required: false
Position: named
Default value:
Accept pipeline input: false
Accept wildcard characters: false
 
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).

INPUTS

OUTPUTS

VirtualDiskTemplateDataObject that identifies and describes the template.

NOTES

Also see Get-DcsVirtualDiskTemplate, Set-DcsVirtualDiskTemplate, Remove-DcsVirtualDiskTemplate.

EXAMPLES


-------------- Example 1 Creates a template to create a mirrored virtual disk with a 4 KiB sector size --------------
Add-DcsVirtualDiskTemplate -Name Temp4KMirror -FirstPool "Disk pool 1" -SecondPool "Disk pool 2" -VirtualDiskSize 50GiB -VirtualDiskAlias "MR_4K" -Tag "vVo1" -VirtualDiskSectorSize 4096
		

The cmdlet is invoked to create a virtual disk template named "Temp4KMirror". Virtual disks created from this template will be used to create standard virtual disks with a sector size of 4096 bytes (4 KiB). Mirrored virtual disks will be created with a size of "50GiB" using "Disk pool 1" as the primary storage source and "Disk pool 2" as the secondary storage source. Servers do not need to be specified since the pool names are unique.

Alias:Temp4KMirror
VirtualDiskAlias:MR_4K
Tag:vVol
VirtualDiskDescription:
Size:50 GiB
SectorSize:4 KiB
VirtualDiskType:MultiPathMirrored
ReservedSpacePercentage:0
FirstDiskPoolId:FF140341-D7FC-4DF7-95B3-AE551F099F00:{23e82496-7403-11e5-80e6-00155d138910}
SecondDiskPoolId:039B77A5-AC1D-4562-8335-7B75CBC636A5:{a5cddc40-7405-11e5-80e6-00155d138914}
BackupDiskPoolId  
UseRedundantMirrorMappings:True
ContinuousDataProtectionPoolId:
ContinuousDataProtectionLogSize:8 GiB
SequentialStorageEnabled:False
StorageProfileId:100469DF-0BE1-40DA-874E-9F1DA5A259E3
DefaultSnapshotPoolId:
LatencyThresholdAttention:30
LatencyThresholdWarning:60
LatencyThresholdCritical:120
StorageLatencyThresholdAttention:120
StorageLatencyThresholdWarning:240
StorageLatencyThresholdCritical:480
VirtualDiskSubType:Standard
ReadOnly:False
WriteThroughEnabled:False
MirrorTrunkMappingEnabled:False
EncryptionEnabled:False
CompressionEnabled:False
DeduplicationEnabled:False
StaleDataEnabled:False
StaleDataWeight:64
CyberResiliencyRatingEnabled:False
Sequencenumber:8324
Id:2c11d5d045404b4491b79378b7ccff4e
Caption:Temp4KMirror
ExtendedCaption:
Internal:False