WAP İpuçları – #4

Kimi zaman WAP üzerinden Orchestrator runbooklarını çağırmak zorunda kalabilirsiniz. Bunun için aşağıdaki basit PowerShell scriptini automation tabında kullanmanız yeterlidir.

$myCredentials = Get-Credential(“Domain\Username“)

$mySCOWebService = “http://orc.local:81/Orchestrator2012/Orchestrator.svc/Jobs/

$xmlQuery = ‘<?xml version=”1.0″ encoding=”utf-8″ standalone=”yes”?>

<entry xmlns:d=”http://schemas.microsoft.com/ado/2007/08/dataservices” xmlns:m=”http://schemas.microsoft.com/ado/2007/08/dataservices/metadata” xmlns=”http://www.w3.org/2005/Atom“>

<content type=”application/xml”>

<m:properties>

<d:RunbookId type=”Edm.Guid”>RunbookGUID</d:RunbookId>

</m:properties>

</content>

</entry>

#Using the .NET Framework, create a new HTTP $httpSession object

$httpSession = [System.Net.HttpWebRequest]::Create($mySCOWebService)

$httpSession.Credentials = $myCredentials

$httpSession.Accept = “application/atom+xml,application/xml”

$httpSession.Headers.Add(“Accept-Charset”, “UTF-8”)

$httpSession.ContentType = “application/atom+xml”

$httpSession.Method = “POST”

$httpConnection=new-object System.IO.StreamWriter $httpSession.GetRequestStream()

# Place our Query in the request session we have established and send it to Orchestrator

$httpConnection.Write($xmlQuery)

$httpConnection.Flush()

$httpConnection.Close()

# Now, check the response we received from Orchestrator, to ensure that the request was successful

$httpSessionResponse=$httpSession.GetResponse()

$httpResponse=$httpSessionResponse.GetResponseStream()

$xmlResponse=new-object System.IO.StreamReader $httpResponse

$results=$xmlResponse.ReadToEnd()

$xmlResponce.Close()

$httpSessionResponse.Close()

Microsoft Özel Bulut (Private Cloud) Bileşenleri

Sanallaştırma teknolojileri ile birlikte, IT servislerinin konumlandırılması ve yönetiminde kullanılan ve IT harcamalarının büyük bir kısmını oluşturan fiziksel kaynaklar önemli ölçüde konsolide olmuştu. Sanallaştırma teknolojisinin bizi getirdiği son nokta ise Bulut teknolojileri.

Bulut teknolojisi adaptasyonu ile birlikte var olan veri merkezinizi uçtan uca yönetebilir, kaynak tüketen altyapı ve servisleri bulut ortamına taşıyabilir yada siz, veri merkezinizi kullanarak bulut üzerinden hosting hizmeti verebilirsiniz.

Bu noktada karşımıza Hybrid, Private ve Public Cloud kavramları çıkıyor.

Public Cloud servislerine aylık/yıllık üyelik gerçekleştirerek kaynaklarınızı bulut hizmet sağlayıcı üzerinden kullanabilir, ek kaynak ihtiyacı durumunda satın aldığınız pricing-model’e göre ek ücretler ödeyerek yapınıza kaynak ekleyebilirsiniz.

Private Cloud ise hali hazırda var olan altyapınızı, sanallaştırma teknolojileri ile donatmak ve tüm bu sanal altyapıyı uçtan uca yönetebilmek anlamına geliyor. Yönetmek kavramını biraz daha açmak gerekirse, tüm altyapıyı ve servisleri proaktif ve canlı olarak izlemeli, izlenen verileri analiz ederek gerekli aksiyonları alabilmeli, belirli aksiyonları kriterlere bağlayarak otomatize hale getirebilmelisiniz.

Bu iki teknolojinin bir arada kullanılmasını gerektiren yapılarda ise Hybrid Cloud tasarımı kullanılabilir.

Microsoft Private Cloud çözümü için güncel 2012 ürün ailesi ile birlikte çok önemli geliştirmeleri duyurdu. Private Cloud ile önceden manuel işlem gerçekleştirilmesini zorunlu kılan aksiyonlar otomatize edilmeli ve böylece operasyonel maliyetlerin azaltılması sağlanmalıdır. Tüm bu automation ise önceden oluşturulan servis katalogları ile birlikte self-service yani kendi kendine hizmet verebilecek şekilde tasarlanmalıdır. Kendi kendini yöneten IT altyapısı aynı zamanda organizasyon içerisinde bulunan diğer farklı departmanlara da SLA’ lere bağımlı kalarak hizmet verebilir olmalıdır.

Bu yazımızda yukarıdaki gereksinimleri karşılamak için Microsoft’un sunduğu bileşenleri inceleyelim.

Windows Server / Hyper-V

Windows Server 2012 Microsoft tarafından sunulan en güncel ve güvenli işletim sistemi olarak karşımıza çıkıyor. Sahip olduğu yenilenmiş ve geliştirilmiş Hyper-V rolü ile birlikte tüm Private Cloud altyapısı için Hypervisor yani sanallaştırma katmanı görevi görmektedir. 2012 versiyonu ile birlikte sunulan basitleştirilmiş merkezi yönetim ile birlikte tek bir konsol içerisinden ortamda bulunan tüm Windows Server 2012 sunucular kolaylıkla yönetilebilir. Bu aynı zamanda sanallaştırma altyapısı için de esnek, güvenli ve basit bir arayüz deneyimi sunmaktadır.

Microsoft System Center Virtual Machine Manager

System Center 2012 içerisinde yer alan Virtual Machine Manager ile varolan sanallaştırma sunucuları, sanal makineler yönetilebilir ve bulut mimarisi için hizmet dağıtımı yapılabilir. Sağladığı çoklu sanallaştırma ortam desteği ile kompleks ve karmaşık sanallaştırma ortamlarını dahi kolaylıkla yönetebilen SCVMM aynı zamanda oluşturulan servis şablonları ile sanal makine provision işlemlerini de rahatlıkla sağlayabilir.

Microsoft System Center App Controller

App Controller sayesinde, sunulan web konsolu kullanılarak hizmetler oluşturulabilir ve Private/Public Cloud ortamlarına dağıtılabilir. App Controller sayesinde farklı cloud ortamlarında bulunan Hybrid uygulamalar merkezi bir konsol içerisinden yönetilebilir.

Microsoft System Center Operations Manager

SCOM 2012 versiyonu veri merkezlerini uçtan uca izleyebilecek şekilde tasarlandı. Geliştirilen network monitoring özelliği ve hizmet seviyesi izleme yapabilmesi sayesinde Private Cloud ortamlarının performans ve availability durumlarını uçtan uca izleyebilirsiniz.

Microsoft System Center Orchestrator

Private Cloud ortamların iskeletini oluşturan, manuel işlemlerin otomatize edilmesi görevini gerçekleştiren ürün System Center Orchestrator’dır. Oluşturulan workflow/runbook lar ile private cloud ortamlarındaki kaynaklar talep edilen ihtiyaçlara, açılan çağrılara, monitoring tool’dan gelen alertlere göre oluşturulabilir. Orchestrator aynı zamanda Private Cloud ortamlarında bulunan Microsoft olmayan sistemlere de Integration Packler sayesinde erişebilir, bu sistemleri akışlar içerisine yerleştirebilir.

Microsoft System Center Service Manager

Service Manager, ITIL içerisinde yer alan IT Hizmet yönetimi yöntemlerini organizasyonunuzda uygulamanızı sağlar. Service Manager sayesinde cloud mimarisi içerisinde self-service yönetim tam anlamıyla sağlanmış olur. Varolan Private Cloud ortamınızda değişiklik kontrolü, olay yönetimi ve problem çözümünü tümleşik gelen processler ile sağlayabilirsiniz.

Microsoft System Center Data Protection Manager

Data Protection Manager ile birlikte disk bazlı yada tape bazlı veri koruması sağlayabilirsiniz. Private Cloud ortamınızda bulunan kritik sunuucların ve sanal makinelerin canlı yedeklerini alabilir, Bare Metal Recovery yapabilirsiniz.

Diğer yazılarımızda Cloud mimarisi fiyatlandırma modellerine ve değişen IT rollerine göz gezdireceğiz.

zp8497586rq

SQL Server 2012 AlwaysOn–System Center 2012 SP1

SQL Server 2012 ile birlikte sunulan en önemli yeniliklerden birisi AlwaysOn teknolojisi. Bu yazımız daha çok System Center ağırlıklı olsa da öncelikle AlwaysOn ile birlikte veritabanı seviyesinde ne gibi avantajlarımız var inceleyelim.

2012 versiyonu öncesi SQL Sunucularda yüksek erişebilirlik sağlamak için sıklıkla Database Mirroring ve Log Shipping yöntemleri kullanılıyordu. Ancak bu yöntemlerin bağımlı olduğu bazı bileşenler vardı. Daha da büyük sıkıntı son dönemlerin popüler konusu olan Cloud yapısına geçilmek istenirse mevcut HA yöntemleri farklı sitelar arasındaki erişilebilirliği istenildiği kadar yeterli şekilde sağlayamıyordu.

Önceki versiyonların sunduğu HA çözümlerindeki sıkıntıları hızlıca inceleyelim.

Database Mirroring çok sık kullanılan bir yöntem. Bir instance içerisinde bulunan SQL veritabanlarını farklı bir instance’a senkronize işlemini database mirroring ile gerçekleştirebiliyorduk. Ancak yaşanan en büyük sıkıntı aynı instance içerisinde bulunan ve birbirine bağımlı olarak çalışan farklı veritabanlarının bir failover durumunda grup halinde taşınamamasıydı. Aynı zamanda mirror edilen veritabanına da erişim mümkün değildi.

Database Mirroring ile her bir veritabanının ancak bir mirror kopyası oluşturulabiliyordu.

Log Shipping yöntemi ise konfigure edilmesi oldukça kompleks olmakla birlikte receiving veritabanının recovery state durumda olduğu için kullanılamamasıydı.

SQL Server 2012 AlwaysOn teknolojisi ile bu noktalarda önemli gelişmeler var.

Bana göre sunulan en önemli yenilik artık sahip olunan AlwaysOn Availability Group mimarisi sayesinde shared storage ihtiyacının ortadan kalkması. Özellikle bulut mimarisinde, private ve public cloud yapılarında SQL cluster mimarisi için costu arttıran en önemli bileşenlerden birisi shared storage ihtiyacı idi. AlwaysOn ile birlikte nodelar üzerindeki DAS ları storage olarak kullanmak mümkün kılındı.

AlwaysOn ile birlikte artık Primary olarak set edilen veritabanının secondary kopyalarını oluşturabiliyoruz. Bu noktada mimari Exchange 2010 ile birlikte sunulan DAG yapısına benzer. Tek bir primary kopyasının 4 farklı secondary kopyası farklı instanceler üzerinde oluşturulabilir.

Primary replica okuma ve yazma için uygun durumdayken aynı zamanda secondary kopyalar da read-only mode için konfigure edilebilir. Bu şu demek, secondary kopyalar üzerinde Database Backup, reporting ve snapshot işlemlerinin gerçekleştirilmesi mümkün.

Güvenlik anlamında da SQL Server 2008 ile birlikte sunulan Transparent Database Encryption (TDE) Enterprise sürüm ile birlikte sunuluyor. TDE’den kısaca bahsetmek gerekirse:

Oracle ve Microsoft tarafından sunulan veritabanı Encrypt yöntemi. Microsoft SQL 2008 ve 2012 sürümü ile TDE desteğini açıkladı. SQL tarafında sağladığı fayda ise bağımlı aplikasyonları etkilemeden var olan herşeyi encrypt etmesi.

Aktif etmek için bir master key oluşturulması, gerekli sertifikanın oluşturulması ve yedeklenmesi yeterli olacaktır. TDE için en kritik nokta master ley için oluşturulan sertifikanın asla ve asla kaybedilmemesi.

AlwaysOn arka tarafta Windows Cluster servisine bağımlı çalışıyor. Aktif etmek için yapılması gereken iki farklı standalone SQL kurulumunun yapılması ve ardından AlwaysOn enable edilerek Availability grupların oluşturulması.

Bu yazının asıl amacına gelirsek:

Bildiğimiz gibi System Center 2012 ile birlikte cloud mimarinizi uçtan uca yönetmeniz mümkün. AlwaysOn ile birlikte veritabanı bazında da datacenterlar arasındaki HA konfigurasyonu artık oldukça kolay ve başarılı.

En önemli nokta ise System Center 2012 SP1 ile birlikte SQL Server 2012 AlwaysOn’un desteklenmesi.

Özellikle Cloud Management için kullanılan System Center ürünleri olan:

  • System Center 2012 SP1 Operations Manager
  • System Center 2012 SP1 Orchestrator
  • System Center 2012 SP1 Virtual Machine Manager
  • System Center 2012 SP1 Data Protection Manager
  • System Center 2012 SP1 Service Manager
  • System Center 2012 SP1 App Controller

Tek eksik Configuration Manager 2012. Bunun sebebi olarak kişisel görüşüm ise ConfigMgr’nin Cloud Management vizyonu içerisinde kendisine çok fazla yer bulamaması.

Yukarıdaki ürünler için ise veritabanlarını SQL Server 2012 içerisinde barındırmak istersek AlwaysOn özelliğinden yararlanabilmeniz mümkündür.

Orchestrator Runbook Schedule

Bildiğiniz gibi Orchestrator içerisindeki runbookların başlaması için bir tetikleyici gerekiyor. Bu tetikleyici kimi zaman bir file, folder, incident kimi zaman ise schedule edilmiş bir tarih olabiliyor.

Ancak runbookların schedule edilmesinde çıkan sorunların başında şu geliyor;

Örneğin ilk runbook için bir tarih set ettiniz ancak diğer runbookların bu tarihten sonraki belirli periyodlarda çalışmasını istiyorsunuz. Ancak bu noktada çıkan temel problem her ayın gün sayısının farklı olması. Örneğin 24 saat sonrasında çalışmasını istiyorsanız bu kimi zaman ayın 3'ü çarşambaya denk gelecekken kimi zaman ayın 2'sine denk gelebilmektedir.

Farklı bir schdule senaryosu.. Runbook'un ayın son iş günü çalışmasını istiyorsunuz. Örneğin 31 cumartesi ise 30'unda çalışması gibi. Bu noktada trigger aşamasında bu ayın kaç gün olduğuna dair bir kontrol ile başlamanız işinizi kolaylaştırır. Aşağıdaki powershell script ile içinde bulunulan ayın kaç gün olduğu çıktısı alabilirsiniz.
essay writing help online

$a = Get-Date

$year = $a.year

$result = $a.month | foreach { “{0}” -f [datetime]::DaysInMonth($year,$_),(get-date -month $_ -f MMMM),$year }

$result

Ardından çıkan sonuca göre conditionlar oluşturarak devam edebilirsiniz.

765qwerty765

Orchestrator Loglarının Temizlenmesi

Orchestrator loglarının temizlenmesi için bir çok farklı yol kullanılabilir. Aşağıdaki benim projelerde kullandığım yöntemi bulabilirsiniz:

  • Orchestrator veritabanını yedekleyin
  • Tüm Orchestrator servislerinin ve runbook servislerinin durdurulduğundan emin olun
  • SQL Management Studio içerisinde aşağıdaki komutları koşturun

USE Orchestrator

DELETE FROM POLICYINSTANCES

TRUNCATE TABLE OBJECTINSTANCEDATA

TRUNCATE TABLE OBJECTINSTANCES

TRUNCATE TABLE EVENTS

Orchestrator Monitor Folder Activity Çalışma Mantığı

Monitor Folder aktivitesini kullanan müşterilerde genellikle çalışma mantığında bazı soru işaretleri oluşabiliyor. Özellikle folder içerisine eklenen yeni dosyaların Orchestrator tarafından fark edilmediğine dair geri dönüşler geliyor. Bu noktada Monitor Folder aktivitesinin çalışma mantığını kısa bir örnek üzerinden anlatmak faydalı olacaktır:

Senaryo: server1sharefolder dizini Orchestrator runbook içerisinde Monitor Folder aktivitesi ile izleniyor. Beklenen içerideki dosya sayısı 0'dan büyük olduğunda trigger etmesi

  • Bu klasör içerisine File1.txt eklenir. Monitor Folder içerideki dosyaların 0'dan büyük olduğunu fark eder ve trigger eder. Trigger condition false'den true'ya geçer.
  • File2.txt eklenir. Monitor Folder bu dosya içerisinde şimdi iki dosya olduğunu fark eder ancak trigger etmez. Trigger condition zaten true durumda olduğu için pas geçilir

Yukarıdaki senaryonun çalışması için aşağıdaki şekilde ilerlenmesi gerekmektedir

  • Bu klasör içerisine File1.txt eklenir. Monitor Folder içerideki dosyaların 0'dan büyük olduğunu fark eder ve trigger eder. Trigger condition false'den true'ya geçer.
  • File1.txt silinir ya da taşınır. Monitor Folder içerideki dosya sayısının 0 olduğunu görür ve trigger condition true'dan false'a döner.
  • File2.txt eklenir. Monitor Folder klasör içerisindeki sayının 0 iken 1' e çıktığını farkeder. Trigger condition false'dan true'ya döner ve trigger eder.

System Center 2012 SP1 Upgrade Sıralaması

Eğer ortamınızda Microsoft System Center 2012 bileşenlerinden iki ya da daha fazlasını barındırıyorsanız System Center 2012 Service Pack 1 Upgrade işleminde izleyeceğiniz sıralamanın önemi, upgrade sonrası bileşenlerin beklendiği gibi çalışması adına oldukça önemli.

Bu sebeple aşağıdaki sıranın izlenmesi MS tarafından test edilmiştir:

1.   Orchestrator

2.   Service Manager

3.   Data Protection Manager (DPM)

4.   Operations Manager

5.   Configuration Manager

6.   Virtual Machine Manager

7.   App Controller

Orchestrator Servis Hesaplarının Değiştirilmesi

Orchestrator kurulumu sırasında bazı servis hesapları tanımlamaları yapılması gerekiyor. Eğer Orchestrator kurulumu sonrasında bu servis hesaplarının değiştirilmesini istiyorsanız aşağıdaki adımları izleyebilirsiniz:

  • Run as Administrator ile CMD konsolunu açın
  • System Center 2012 Orchestrator için Management Server üzerindeki kurulum dizinine inin
  • Aşağıdaki komutu değiştirmek istediğiniz kullanıcı hesap ve grupları ile birlikte çalıştırın

PermissionsConfig.exe -OrchestratorUsersGroup “DOMAINGROUPNAME” -OrchestratorUser “DOMAINUSERNAME” –remote

Orchestrator Azure IP Problemi

Azure IP beta ile çalışıyorsanız Orchestrator ile Azure connection sağlarken “The remote name could not be resolved” hatası alabilirsiniz.

Bu noktada yapılması gereken işlem oldukça host dosyasına Azure management IP'lerinin eklenmesidir.