Donanım

Netapp DataOntap Powershell Toolkit


Makalemizde haziran ayında yayınlanan “Netapp Powershell Toolkit” kullanımını sizlerle de paylaşmak istedim. Bu toolkit cmd-lets yardımıyla Powershell’den netappınızı manage etmeniz hatta script ve visio yardımı ile, sistemlerinizin storage haritalarını automated şekilde çıkarmanız ve visio dökümanı olarak saklamanız, yazdığını scriptler ile automated management yapmanız ve bir çok farklı işlev gerçekleştirmenizde yardımcı olabilecek bir tool.



Pshell dataontap toolkit + Visio Örneği;



Url:  http://communities.netapp.com/docs/DOC-8111?REF_SOURCE=tot-1010&h



Öncelikle Bu tool’un kullanımı için now.netapp.com adresinde hesabınızın bulunması gerekmektedir. Aşağıdaki adresten powershell  toolkit ve install script’ini indirebilirsiniz.



Url: http://communities.netapp.com/community/interfaces_and_tools/data_ontap_powershell_toolkit/data_ontap_powershell_toolkit_downloads?view=documents


Dosyalar ; DataOntap.zip ve Install.ps1 (Readme.txt’de yükleme sonrası module load açıklaması bulunuyor.)





image001


Bunları indirdik, desktop’a kaydettik. Ben uygularken 2 sinide desktop’a kaydetmiştim. Dolayısı ile install scriptini bu path’den çalıştırdım. Kısaca yaptığı işlem zip’i açarak powershell modül pathine kopyalaması. Ardından Powershell dataontap modülünü load ediyoruz. 




Not: Powershell’de install scriptini çalıştırmayı ilk denediğinizde policy bazlı permission hatası alabilirsiniz hatayı düz disable etmek için, “Set-ExecutionPolicyRemoteSigned “ çalıştırdıktan sonra install scriptini çalıştırırsanız sorun düzelir.  Bunun başka yolları olabilir fakat benim powershell hakkında ve policy yapılanması hakkında daha derin bilgim yok. Powershell’i sadece netapp ve f5 ltm Bigip management modülleri için kullanıyorum.




image002


Get-nahelp” ; kısaca kullanılabilir tüm komutlarımızı listeler.




image003


Komutlarımızı çalıştırabilmek için ilk olarak netapp controller bağlantısını sağlamalıyız.Bunun için 2 yol var biri RPC bağlantısı diğeri HTTPS bağlantısı. Default olarak Connect-NaController komutu ile bağlantı denediğimizde, örnek ;




Connect-nacontroller  -name ip_adress




Default aldığımız yanıt ;  “RPC Error – Access is denied.” Olacaktır. Dolayısı ile biz RPC yerine hiç permission lar ile uğraşmadan HTTPS bağlantısı yapacağız.



PS C:> $password = ConvertTo-SecureString “netapp_login_şifreniz” –AsPlainText –Force



PS C:> $scred = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList “root”,$password



PS C:> Connect-NaController netapp_ip_adresi  -Credential $scred



Https secure post için netapp community blog’da bulduğum bu bağlantı şekli ile bağlantımızı sağlıyoruz.





image004


Get-naaggr  —- Get-Navol komutları çıktıları. Aggregate ve volume listesi.  Get-nadisk disk listesi





image005


image006


Gibi komutlar ile sistem hakkında infolar printleye bilirsiniz. Volume, snapshot gibi aklınıza ne gelirse, lisanslanmış her özelliği burdanda yönetebilirsiniz.



 


Bir örnek script işlersek;  http://communities.netapp.com/docs/DOC-6170



Bu adresten alıp incelediğimiz örneği netapp simülatöründe deneyebilirsiniz. Burada kısaca, powersell modülü load ediliyor. Daha sonra controller bağlantısı sağlanıyor. Licence lar giriliyor, Aggregate yaratılıyor, aggregate snapshot disable ediliyor, wafl fs tek yazma optimizasyonunu kapatılıyor, 4 volume yaratılıyor (örnekte istenen özellikler ile), iscsi bağlantısı enable ediliyor. Örneği veren arkadaşın testine göre simülator üstünde denediği bu örnek tam 1 dakikada işlemleri bitiriyormuş. Örnek’tende görüldüğü gibi powershell sayesinde netappların yönetimleri scriptler ile çok daha kolay ve kullanışlı hale getirebilmek mümkün.



Örnek Script Kodu ; Lisanslar örnektir simülatör üstünde çalıştırılmıştır.




Import-module DataONTAP


$SIM1=Connect-NaController SIM1


Add-nalicense -Codes GWNTKCL,BCJEAZL,ELNRLTG,MTVVGAF,NAZOMKC,NQBYFJJ,DFVXFJJ,PVOIVFK,PDXMQMI


set-naoption wafl.optimize_write_once off


New-NaAggr aggr1 -DiskCount 8


do { $aggr; $aggr=get-naaggr aggr1} until ($aggr.State -eq “online”)


Set-NaSnapshotReserve aggr1 0 -Aggregate


foreach ($VOL in @(“vol1”, “vol2”, “vol3”, “vol4”))


{


                New-NaVol $VOL aggr1 1g


                set-navoloption $VOL nosnap on


                set-navoloption $VOL no_atime_update yes


                set-navoloption $VOL fractional_reserve 0


                set-nasnapshotreserve  $VOL 0


                set-nasnapshotschedule $VOL -Weeks 0 -Days 0 -Hours 0


                get-nasnapshot $VOL | remove-nasnapshot


}


Enable-NaIscsi


 


Umarım faydalı bir makale olmuştur. Bir sonraki makalemizde görüşmek üzere


Kaynaklar ;


http://communities.netapp.com


http://now.netapp.com


http://blogs.msdn.com/b/powershell/archive/2010/06/16/kudos-to-netapp-for-data-ontap-powershell-toolkit.aspx

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu