q29191 发表于 2018-9-2 10:34:41

Powershell Module for Netapp Data Ontap

  今天无意中看见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,这样可以避免误操作。


页: [1]
查看完整版本: Powershell Module for Netapp Data Ontap