Powershell Module for Netapp Data Ontap
今天无意中看见Netapp提供Data Ontap 的powershell 模块,豆子兴致勃勃的下载试了试。
下载链接
http://mysupport.netapp.com/NOW/download/tools/powershell_toolkit/
具体安装module的过程不说了,参考
花了1个小时学习了基本命令,写了一个简单的脚本测试效果
基本功能是连接到两个filer上,读取上面的volume,如果volume的磁盘使用超过90%,那么给我发个警告信,并列出上面所有的snapshot快照。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
$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
} } $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,这样可以避免误操作。
本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1686459,如需转载请自行联系原作者