您的位置:首页 > 运维架构 > Shell

Powershell Module for Netapp Data Ontap

2015-08-20 15:17 681 查看

今天无意中看见Netapp提供Data Ontap 的powershell 模块,豆子兴致勃勃的下载试了试。

下载链接

http://mysupport.netapp.com/NOW/download/tools/powershell_toolkit/


具体安装module的过程不说了,参考

http://community.netapp.com/t5/Virtualization-and-Cloud-Articles-and-Resources/Making-The-Most-Of-Data-ONTAP-PowerShell-Toolkit/ta-p/87234


花了1个小时学习了基本命令,写了一个简单的脚本测试效果


基本功能是连接到两个filer上,读取上面的volume,如果volume的磁盘使用超过90%,那么给我发个警告信,并列出上面所有的snapshot快照。


$syd01=Connect-NaController syd01 $syd02=Connect-NaController syd02 $filers=$syd01,$syd02 $logtime=Get-Date -Format "MM-dd-yyyy_hh-mm-ss" $path="C:\temp\logs\$logtime.txt" New-Item -Path $path -ItemType file -Force  foreach($filer in $filers){ Connect-NaController $filer  $a=Get-NaVol | Where-Object{$_.used -ge 90}  foreach($b in $a){ $b | ft >> $path $b| Get-NaSnapshot  |sort created |ft >> $path } } $from = "sender@abc.com" $to = "test@abc.com"  $smtp = "smtp.office365.com"  $sub = "Volume over 90%"  $body="This is the warning message for volume usage over 90%" $secpasswd = ConvertTo-SecureString "PasswordXXX" -AsPlainText -Force  $mycreds = New-Object System.Management.Automation.PSCredential ($from, $secpasswd) if ((get-content $path).length -gt 0){ Send-MailMessage -To $to -From $from -Subject $sub -Body $body -Credential $mycreds -SmtpServer $smtp -DeliveryNotificationOption Never -BodyAsHtml -UseSsl -port 587 -Attachments $path }

执行脚本,1分钟后收到邮件,打开看看,附件里面是快照的细节。

可以看见snap protect自动产生的备份文件。这个和我从OnCommand System的图像界面看见的效果是一样的。



对比一下我之前的使用方式


相比SSH连接到filer,然后执行命令,powershell明显简单好使的多,如果有其他模块的使用经验,基本上1个小时就能轻松上手,这个是因为powershell 自己固定的命名方式和使用习惯,如果开发者严格遵从高级功能的模板和命名习惯,用户使用起来没有任何别扭的感觉。


相比OnCommnd的图形界面,GUI和浏览器,Java的兼容性一直有点问题,有时候打开界面又慢又显示不出东西;powershell的速度快速的多,如果需要配置多个filer和volume,效果要好很多。一些删除的命令也很贴心的提供了-whatif,这样可以避免误操作。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: