今天无意中看见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
}
}
$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,这样可以避免误操作。
本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1686459,如需转载请自行联系原作者