Active IQ Unified Manager Discussions
Active IQ Unified Manager Discussions
for all flash C mode filers it looks like with 9.2P1 the volume are created with effciency enabled. this is conflicting with the create volume command provided by NetApp.
Failed to enable efficiency on volume "xx" of Vserver "xx": Operation has already been enabled. Location: Row '1' step 'Create Volume'.
it failed when template is chosen as space efficient NAS settings
Hi,
We have verified the below issue using the WFA 4.1 GA build with the version 1.3.2 c-dot pack (This "WFA pack for managing Clustered Data ONTAP" is available in the Automationstore) on the ONTAP 9.2.
Create volume command with the efficiency enabling is working fine.
Could you please share us the details of the procedure which you followed.
Best Regards,
Shiva
I ahve version 1.2.2 and the issue is the spaceeffcient template to create volume has defaule fields which enable inline dedup and for 9.2 AF system the inline dedup is already there when a new volume is created. may be the issue is that.
I will update the pack and let you guys know if I see any issues.
I am having the same issue. But my WFA version is different
WFA - 4.2.0.0.1
CDOT PACK - 1.5.1
ONTAP - 9.3P5
When I try to create a unix volume it give the error:" Failed to enable efficiency on volume "WFA_4" of Vserver "ABCDE": Operation has already been enabled
is there any workaround for this. I had tried manipulating the powershell code but no luck.
Can you please explain what efficiency it is talking about - Deduplication or compression?
Is it specific to inline or background?
Hi Vikramjeet,
I'm assuming you are using the NetApp Certified command "Create Volume" in your WFA workflow? If so i'd advise raising a support case as I think this is a bug. The problem is that the "Enable-NsSis" cmdlet will fail if deduplication is already enabled on the the volume (in the instance where deduplication or compression has been set). To work around the issue I created a custom command and tested if deduplication has already been enabled before attempting to enable it. EG
#'------------------------------------------------------------------------------ #'Set deduplication. Flexgroup supports this feature in 9.4.0 and above. #'------------------------------------------------------------------------------ If(((-Not($Compression)) -Or ($Compression -eq "disabled")) -And $Deduplication){ If(($ExtendedVolumeStyle -eq "flex") -Or (($ExtendedVolumeStyle -eq "flexgroup") -And ($versionComparisionValue9_4_0 -ge 0))){ #'------------------------------------------------------------------------ #'Check the current volume deduplication configuration. #'------------------------------------------------------------------------ Get-WFALogger -Info -Message "Checking deduplication for Volume ""$VolumeName"" on Vserver ""$VserverName""" [String]$command = "Get-NcSis -Name $VolumeName -VserverContext $VserverName " If($ZapiRetryCount){ [String]$command += "-ZapiRetryCount $ZapiRetryCount " } [String]$command += "-ErrorAction Stop" Try{ $ncSis = Invoke-Expression -Command $command -ErrorAction Stop Get-WFALogger -Info -Message "Executed Command`: $command" Get-WFALogger -Info -Message "Enumerated deduplication for Volume ""$VolumeName"" on Vserver ""$VserverName""" }Catch{ Get-WFALogger -Error -Message $("Failed Executing Command`: $command. Error " + $_.Exception.Message) Throw "Failed enumerating deduplication for Volume ""$VolumeName"" on Vserver ""$VserverName""" } #'------------------------------------------------------------------------ #'Enable deduplication if required. #'------------------------------------------------------------------------ If((-Not($ncSis)) -Or $ncSis.State -eq "disabled"){ Get-WFALogger -Info -message "Enabling deduplication for Volume ""$VolumeName"" on Vserver ""$VserverName""" [String]$command = "Enable-NcSis -Name $VolumeName -VserverContext $VserverName " If($ZapiRetryCount){ [String]$command += "-ZapiRetryCount $ZapiRetryCount " } [String]$command += "-ErrorAction Stop" Try{ Invoke-Expression -Command $command -ErrorAction Stop Get-WFALogger -Info -Message "Executed Command`: $command" Get-WFALogger -Info -Message "Enabled deduplication for Volume ""$VolumeName"" on Vserver ""$VserverName""" }Catch{ Get-WFALogger -Error -Message $("Failed Executing Command`: $command. Error " + $_.Exception.Message) Throw "Failed enumerating deduplication for Volume ""$VolumeName"" on Vserver ""$VserverName""" } } }Else{ Get-WFALogger -Warn -Message "Deduplication cannot be set for a FlexGroup." } }
Hope that helps
/Matt
if you click on the + sign where you define all input parameters there is a parameter name compression (value is inline) which is enabled in 9.1 and 9,2 version and I think from 9.3 its already enabled. just inline compression.
if you remove inline from compression paramter and just keep it blank it will be fine as inline is by default (for all flash as lons as I know).
you can also keep blank all dedup and compression options and just add below code as a command after volume is created to set all inline + post prosess volume efficiency
param (
[parameter(Mandatory=$true, HelpMessage="Cluster IP or name")]
[string]$Cluster,
[parameter(Mandatory=$true, HelpMessage="Storage Virtual Machine name")]
[string]$VserverName,
[parameter(Mandatory=$true, HelpMessage="Volume name")]
[string]$VolumeName,
[parameter(Mandatory=$true, HelpMessage="Name of the efficiency policy ")]
[string]$EfficiencyPolicy
)
Connect-WfaCluster $Cluster
# testing volume existence. this command somehow doesn't throw exception if
# ErrorAction is 'Stop' and the volume isn't found. adding if block
$vol = Get-NcVol -Name $VolumeName -Vserver $VserverName
$sis = get-ncsis -Volume $VolumeName -Vserver $VserverName
if (!$vol)
{
throw "Volume '$VolumeName' not found on Storage Virtual Machine '$VserverName'"
}
# Prepare base command
$expression = "Set-NcSis -ErrorAction Stop -Name " + $VolumeName + " -VserverContext " + $VserverName
$expression = $expression + ' -Policy ' + $EfficiencyPolicy
$expression = $expression + ' -InlineCompression $True'
$expression = $expression + ' -Compression $True'
$expression = $expression + ' -EnableInlineDedupe $True'
# Apply SIS settings
try {
if($vol.VolumeSisAttributes.IsSisStateEnabled -ne 'True'){
Get-WFALogger -Info -message $("Enabling volume efficiency: "+ $VolumeName)
Invoke-Expression -ErrorAction Continue 'Enable-NcSis -Name $VolumeName -VserverContext $VserverName'
Get-WFALogger -Info -message $("Configuring volume efficiency: "+ $expression)
Invoke-Expression -ErrorAction Stop $expression
}else{
Get-WFALogger -Info -message $("Configuring volume efficiency: "+ $expression)
Invoke-Expression -ErrorAction Stop $expression
}
}
catch
{
$msg = "Failed to configure volume efficiency: " + $VolumeName + " Message: " + $_.Exception.Message;
throw $msg
}