Long boot times may be observed with Data ONTAP DSM 3.5


Interesting bug! that is supposed to be fixed in DSM 4.0 – http://support.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=591952

Bug ID 591952
Title Long boot times may be observed with Data ONTAP DSM 3.5
Duplicate of
Bug Severity 2 – System barely usable
Bug Status Fixed
Product Unknown
 If a Windows Server host is running Data ONTAP DSM 3.5, long boot times may be observed.
 The boot time will vary based on the number of mapped LUNs and paths per mapped LUN.
 Boot times will be approximately 3 seconds per path, per LUN.
 Reduce the number of mapped devices during Windows Server OS boot. You can do this
 several ways, which includes disabling the initiator ports before reboot or taking the
 mapped LUNs offline before the system startup.

#NetApp Data ONTAP DSM for Windows MPIO 4.0

Found version 4.0 on the NetApp Support website post 14 Feb 2013

The Data ONTAP DSM for Windows MPIO enables you to manage multiple Fibre Channel (FC) and iSCSI paths between a NetApp or IBM N series storage system and a Windows host computer. You can have one or more active paths and zero or more passive paths, depending on the load balance policy. The DSM automatically selects paths for I/O as needed, maximizing throughput and maintaining the host’s access to its storage. The DSM has both graphical and command line management interfaces. You can install the DSM interactively or from a Windows command prompt.

New features: The Data ONTAP DSM 4.0 for Windows MPIO includes several new features and support for additional configurations:

  • Support for Windows Server 2012.
  • An enhanced GUI, offering a better organized and more detailed view of the virtual disks and paths managed by the DSM:
      • Extended virtual disk and path information.
      • Bulk operations on virtual disks and paths.
      • Visual indication of path status.
      • Extended path, LUN, and I/O information.
      • Persistent reservation status and reservation key information.
      • Persistent reservation configuration information.
      • Extended MPIO configuration information.
      • ALUA feature status.
      • PowerShell 2.0 or later is now required
  • Enhanced performance.
  • The mbralign.exe program is no longer supported. Use the Data ONTAP PowerShell Toolkit to detect and correct VHD partition alignment.
  • The legacy dsmcli is no longer supported. Use the PowerShell cmdlets shipped with the DSM to manage the DSM programmatically.

BlackBerry Enterprise Server Interim Security Update for February 12,2013

Saw this today ..

Fixed issues

Vulnerabilities existed in how the BlackBerry MDS Connection Service, BlackBerry Collaboration Service, and the BlackBerry Messaging Agent processed TIFF images for rendering on BlackBerry devices. These vulnerabilities could have allowed a potentially malicious user to execute arbitrary code using the privileges of the BlackBerry Enterprise Server login account. (DT 5468999, DT 5542642, DT 5890761, and DT 6098370)

These issues are resolved by this interim security software update. The update replaces the image.dll file that the affected components use with an image.dll file that is not affected by the vulnerabilities. For more information, visit www.blackberry.com/btsc to read KB33425.

NetApp sdcli disk list to CSV with Powershell

#NetApp #sdcli #Powershell

So I have been breaking playing around with Jetstress, NetApp filers and Cisco UCS.  Not have much fun or luck, as I just cant get the damn thing to pass even a simple test.  But that is another story!

I have been looking at sdcli and getting some powershell automation going, and I wanted to find out details of all the disks connected to my severs.  Now sdcli is the worst thing in the word for getting anything decent out, so I wrote the following.  Basically run it on a server with NetApp SnapDrive and it will give you a CSV file with the output of sdcli disk list.  Shweet ;-)   It crude but effective!



$diskInfo = Invoke-Expression “sdcli disk list”$tmpsdcliDiskListMatrix = @()
ForEach($Item in $DiskInfo){
$tmpItem = $Item.Trim()
$tmpItemSplit = $tmpItem.Split(“:”)
Switch -Wildcard ($tmpItem){
“UNC Path:*”  {$tmpsdcliDiskListMatrix  += $sdcliDiskList
$sdcliDiskList = “” | Select UNCPath, LUNPath, StorageSystem, StorageSystemPath, Type, Diskserialnumber, BackedbySnapshotCopy, Shared, BootOrSystemDisk, SCSIport, Bus, Target, LUN, Readonly, Size, SnapmirrorSource, SnapvaultPrimary, DiskPartitionStyle, CloneSplitRestorestatus, DiskID, VolumeName, Mountpoints, IPAddresses, FCinitiatorWWPN
$sdcliDiskList.UNCPath = $tmpItemSplit[-1]}
“LUN Path:*”                  {$sdcliDiskList.LUNPath = $tmpItemSplit[-1]}
“Storage System:*”            {$sdcliDiskList.StorageSystem = $tmpItemSplit[-1].trim()}
“Storage System Path:*”       {$sdcliDiskList.StorageSystemPath = $tmpItemSplit[-1].trim()}
“Type:*”                      {$sdcliDiskList.Type = $tmpItemSplit[-1].trim()}
“Disk serial number:*”        {$sdcliDiskList.Diskserialnumber = $tmpItemSplit[-1].trim()}
“Backed by Snapshot Copy:*”   {$sdcliDiskList.BackedbySnapshotCopy = $tmpItemSplit[-1].trim()}
“Shared:*”                    {$sdcliDiskList.Shared = $tmpItemSplit[-1].trim()}
“BootOrSystem Disk:*”          {$sdcliDiskList.BootOrSystemDisk = $tmpItemSplit[-1].trim()}
“SCSI port:*”                  {$sdcliDiskList.SCSIport = $tmpItemSplit[-1].trim()}
“Bus:*”                        {$sdcliDiskList.Bus = $tmpItemSplit[-1].trim()}
“Target:*”                     {$sdcliDiskList.Target = $tmpItemSplit[-1].trim()}
“LUN:*”                        {$sdcliDiskList.Lun = $tmpItemSplit[-1].trim()}
“Readonly:*”                   {$sdcliDiskList.Readonly = $tmpItemSplit[-1].trim()}
“Size:*”                       {$sdcliDiskList.Size = $tmpItemSplit[-1].trim()}
“Snapmirror Source:*”          {$sdcliDiskList.SnapmirrorSource = $tmpItemSplit[-1].trim()}
“Snapvault Primary:*”          {$sdcliDiskList.SnapvaultPrimary = $tmpItemSplit[-1].trim()}
“Disk Partition Style:*”       {$sdcliDiskList.DiskPartitionStyle = $tmpItemSplit[-1].trim()}
“Clone Split Restore status:*” {$sdcliDiskList.CloneSplitRestorestatus = $tmpItemSplit[-1].trim()}
“DiskID:*”                     {$sdcliDiskList.DiskID = $tmpItemSplit[-1].trim()}
“Volume Name:*”                {$sdcliDiskList.VolumeName = $tmpItemSplit[-1].trim()}
“*Mount points:*”              {$sdcliDiskList.Mountpoints = $tmpItem.Split(“`t”)[-1].trim()}
“IP Addresses:*”               {$sdcliDiskList.IPAddresses = $tmpItemSplit[-1].trim()}
“FC initiator WWPN:*”          {$sdcliDiskList.FCinitiatorWWPN = $tmpItem.Split(“`t”)[-1].trim()}

$tmpsdcliDiskListMatrix  | Export-Csv SDCLIDisks.csv -NoTypeInformation -Delimiter “|”