IIS 7.0 veya sonraki World Wide Web Publishing Service, Windows Server 2008, Windows Server 2008 R2 veya Windows Server 2012 yük devretme kümesinde yapılandırma

Makale çevirileri Makale çevirileri
Makale numarası: 970759 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

GİRİŞ

Bu makalede, Microsoft Internet Information Services (IIS) 7.5 veya IIS 7.0 Windows Server 2008 veya Windows Server 2008 R2 yük devretme kümesinde nasıl yapılandırılacağı açıklanır. Bu makaledeki yordamlar yalnızca World Wide Web Yayımlama Hizmeti için geçerlidir. FTP Yayımlama Hizmeti yük devretme kümesinde yapılandırma hakkında yönergeler için lütfen bakın:
974603 Nasıl FTP 7.5, Windows Server 2008 yük devretme kümesinde IIS 7.0 için yapılandırma

Daha fazla bilgi

Önceki sürümlerde Internet Information Services, Microsoft Genel Kaynak İzleyicisi bileşenleri Microsoft Clustering altyapı kullanarak yüksek kullanılabilirlik Web sunucusu örnekleri desteklemek için sağlanır. Ancak, özel kod tam olarak böyle bir çözüm potansiyelini ortaya çıkarmak için gerekli. Ayrıca, Microsoft sağlanan genel komut dosyası, müşteri gereksinimlerine karşılamadı. IIS 7.5 veya IIS 7.0 kümelenmiş bir ortamda Windows Server Yük devretme kümesi kullanarak yapılandırmak için böyle bir yüksek kullanılabilirlik senaryo etkinleştirmek için bir özel (kodlama) kodu kullanmak zorunda. Bunu yaptığınızda, kullanıcılar kendi gereksinimlerini karşılamak için Kur'u özelleştirebilirsiniz. Bu, bunları Web uygulamalarının yüksek kullanılabilirlik tümleştirmesi üzerinde tam denetim sağlar. Ayrıca, komut dosyası arabirimleri için yönetim ve izleme IIS 7.5 ve IIS 7. 0'de kullanılmaya başlanan, daha önce sağlanan komut dosyalarına göre daha zengin bir ortam sağlar.

Not IIS 6.0 IIS için kullanılan Clusftp.vbs komut dosyalarını küme yönetim görevleri ve IIS 7.0 yükleme dosyalarını Clusweb.vbs yanlış içerir. Bu komut dosyaları, IIS 7.0 veya sonraki sürümlerini kullanmayın.

Microsoft yöneticileri ile birden çok sunucuya Yük Devretme Kümelemesi kullanmak yerine IIS 7.5 veya IIS 7.0 çalıştıran Web uygulamalarının kullanılabilirliğini ve ölçeklenebilirliğini artırmak için birincil ve tercih edilen yöntemi olarak Ağ Yükü Dengeleme (NLB), kullanım dikkatle değerlendirmek önerir. NLB yararları tüm sunucuları aynı anda gelen HTTP İstekleri işlemede etkin olarak katılabilirler biridir. NLB IIS ortamında, bu Web uygulamalarının yüksek kullanılabilirlik sağlamaya çalışırken düzeyine ve güncelleştirmeleri desteklemek çok daha kolay olabilir, başka bir yararı olur. IIS 7.5 veya IIS 7.0 NLB ortamında kullanma hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitelerine bakın:
http://Learn.iis.NET/Page.aspx/213/Network-Load-Balancing
http://technet.microsoft.com/en-us/library/cc770558.aspx
IIS, IIS hizmetlerinin kümeleme yoluyla kümeleme her zaman Web uygulamaları için yüksek kullanılabilirlik çözüm garanti etmez, göz önüne alınması önemlidir. IIS Hizmetleri (özellikle WWW hizmeti) ve olabilir, ancak belirli bir uygulama havuzunun barındırma işlemi sona ermiş veya uygulama iç sunucu HTTP hatalar atma. Özel bir komut dosyası kullanarak, sistem durumu izleme ve Web uygulamalarını kümeleme yük devretme kümeleme kullanarak yüksek kullanılabilirlik IIS Küme ulaşmak için doğru ve önerilen yoldur. Veya başlatılıp başlatılmadığını belirlemek için bir uygulama havuzunun durumunu izler örnek komut dosyası aşağıdadır.

IIS 7.0 ve Yük Devretme Kümelemesi kullanma 7.5 Web sunucuları için yüksek kullanılabilirlik yapılandırmak için aşağıdaki adımları izleyin. 3 İle 7 adımlar aşağıda daha ayrıntılı olarak açıklanmaktadır.  Daha sonra bu makaledeki örnek komut dosyası, IIS 7.0, IIS 7.5 ve IIS 8.0 için örnek olarak kullanılabilir.
  1. Web sunucusu rolünü tüm küme düğümlerine yükleyin. Ayrıntılar için aşağıdaki Microsoft Web sitesini ziyaret edin:
    http://technet.microsoft.com/en-us/library/cc771752.aspx
  2. Yük devretme kümeleme özelliği tüm küme düğümlerinde yükleme ve küme oluşturma. Ayrıntılar için aşağıdaki Microsoft Web sitesini ziyaret edin:
    http://technet.microsoft.com/en-us/library/dd197477.aspx
  3. IIS paylaşılan yapılandırması için kullanılacak bir dosya paylaşımı oluşturun.
  4. Paylaşılan IIS yapılandırmasını tüm küme düğümlerinde yapılandırın.
  5. IIS çevrimdışı dosyalar paylaşılan yapılandırması için tüm küme düğümlerinde yapılandırın.
  6. Web sitesi (ilişkilendirilmiş uygulama havuzunu dahil) yapılandırmak ve bir küme düğümünde, içeriğin konumunu belirtin.
  7. Web siteniz için yüksek kullanılabilirlik, Yük Devretme Kümelemesi genel komut dosyası oluşturarak yapılandırın.

IIS paylaşılan yapılandırması için kullanılacak bir dosya paylaşımı ayarlamak

  1. IIS paylaşılan yapılandırması için kullanılacak paylaşım erişecek bir kullanıcı oluşturun.
  2. Dosya paylaşımı oluşturun. Bu paylaşım, tüm küme düğümlerinde IIS arasında paylaşılan IIS paylaşılan yapılandırmasını saklamak için kullanılır. Birden çok seçenek vardır:
    • Herhangi bir yük devretme kümesinin parçası olmayan bir tek başına sunucuda bir dosya paylaşımı oluşturun.
    • Başka bir Windows Server Yük devretme kümesinde yüksek kullanılabilirlik dosya paylaşımı oluşturun. Ayrıntılar için aşağıdaki Microsoft Web sitesini ziyaret edin:
      http://technet.microsoft.com/en-us/library/cc731844.aspx
    • Yüksek kullanılabilirlik Web sitesini barındıracak aynı yük devretme kümesinde yüksek kullanılabilirlik dosya paylaşımı oluşturun. Ayrıntılar için aşağıdaki Microsoft Web sitesini ziyaret edin:
      http://technet.microsoft.com/en-us/library/cc731844.aspx
  3. 2. Adımda oluşturduğunuz paylaşımdaki izinler ayarlayın. Adım 1 dosya paylaşımı için tam denetim izinleri ve NTFS izinleri oluşturduğunuz kullanıcı verin.
  4. Tüm küme düğümlerine dosya paylaşımına Gözat mümkün olduğundan emin olun. Dosya paylaşımının yolu \\<fileserver>\<share>.</share> </fileserver>

Paylaşılan IIS yapılandırmasını tüm küme düğümlerinde yapılandırın.

Not IIS paylaşılan yapılandırma Windows 2008 Server üzerinde eksik ayrıcalıklar nedeniyle uygulama Host Yardımcısı hizmeti ile ilgili bir sorun vardır. IIS paylaşılan yapılandırma Windows 2008 Server ayarladığınızda çalışmak paylaşılan yapılandırma için aşağıdaki adımları izlemeniz gerekir.
  1. Bir yönetici komut istemi açın.
  2. Aşağıdaki komutu çalıştırın:
    net stop apphostsvc
  3. Aşağıdaki komutu çalıştırın:
    sc hakları apphostsvc SeTcbPrivilege/SeChangeNotifyPrivilege/SeImpersonatePrivilege
  4. Aşağıdaki komutu çalıştırın:
    net start apphostsvc
Kümedeki her Windows 2008 Server bu adımları tamamladıktan sonra bu bölümde açıklandığı IIS paylaşılan yapılandırma ayarlama devam edin.

Bir küme düğümleri üzerinde paylaşılan konfigürasyon dosya paylaşımı için dışa aktarma:
  1. Gidin Yönetimsel Araçlarve sonra tıklatın Internet Information Services (IIS) Yöneticisi.
  2. Sol bölmede, sunucu adı düğümünü tıklatın.
  3. Çift tıklatın Paylaşılan yapılandırma simge.
  4. Paylaşılan yapılandırma sayfasında'i tıklatın. Yapılandırma verme içinde Eylemler Yerel bilgisayardan yapılandırma dosyaları başka bir konuma vermek için (sağ bölme) bölme.
  5. İçinde Yapılandırma verme iletişim kutusunda, dosyanın yolunu yazın (paylaşma\\<fileserver>\<share></share></fileserver>) içinde Fiziksel yol kutu.
  6. ' I tıklatın Olarak bağlanmave sonra kullanıcı adı ve paylaşımına erişimi olan kullanıcı hesabının parolasını yazın, paylaşılan konfigürasyon depolanır ve sonra TAMAM. Bu hesabın, paylaşıma erişim için kullanılır. Etki alanı yöneticisi olmayan bir Yasak Active Directory hesabı kullanmanız gerekir.
  7. İçinde Yapılandırma verme iletişim kutusunda, bir şifreleme anahtarlarını korumak için kullanılan ve bir parola yazın TAMAM.
  8. Üzerinde Paylaşılan yapılandırma Sayfa, seçmek için tıklatın Paylaşılan yapılandırmasını etkinleştir onay kutusunu tıklatıp işaretini değiştirin.
  9. Fiziksel yolu, kullanıcı hesabının ve daha önce girdiğiniz parolayı yazın ve sonra tıklatın. Uygula içinde Eylemler bölme.
  10. İçinde Şifreleme anahtarları parolası iletişim kutusunda, daha önce ayarlayın ve ardından parola şifreleme anahtar türü TAMAM.
  11. İçinde Paylaşılan yapılandırma iletişim kutusunu tıklatın TAMAM.
  12. ' I tıklatın TAMAM.
Her küme düğümleri üzerinde dosya paylaşımı için verdiğiniz paylaşılan yapılandırmasını kullanın:
  1. Gidin Yönetimsel Araçlarve sonra tıklatın Internet Information Services (IIS) Yöneticisi.
  2. Sunucu adı düğümünü tıklatın.
  3. Çift tıklatın Paylaşılan yapılandırma simge.
  4. Üzerinde Paylaşılan yapılandırma Sayfa, seçmek için tıklatın Paylaşılan yapılandırmasını etkinleştir onay kutusunu tıklatıp işaretini değiştirin.
  5. Dosya paylaşım (fiziksel yolunu yazın.\\<fileserver>\<share></share></fileserver>), kullanıcı hesabı ve parolayı daha önce girilen ve sonra tıklatın Uygula içinde Eylemler bölme.
  6. İçinde Şifreleme anahtarları parolası iletişim kutusunda, daha önce ayarlayın ve ardından parola şifreleme anahtar türü TAMAM.
  7. İçinde Paylaşılan yapılandırma iletişim kutusunu tıklatın TAMAM.
  8. ' I tıklatın TAMAM.
Not Paylaşılan IIS yapılandırmalarında ayarlama hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://Learn.iis.NET/Page.aspx/264/Shared-Configuration

Tüm küme düğümlerinde IIS çevrimdışı dosyalar paylaşılan yapılandırma için yapılandırma

Her küme düğümünde, çevrimdışı dosyaları etkinleştir:
  1. Masaüstü Deneyimi Yükleme
    1. Gidin Yönetimsel Araçlarve sonra tıklatın Sunucu Yöneticisi.
    2. Sol bölmede Özellikler.
    3. ' I tıklatın Özellik ekleme sağ bölmede.
    4. Seçmek için tıklatın Masaüstü Deneyimi onay kutusunu tıklatıp işaretini değiştirin.
    5. ' I tıklatın Install Masaüstü Deneyimi yüklemek için.
    6. Bilgisayarı yeniden başlatın.
  2. Denetim Masası'nda açın Çevrimdışı dosyalar.
  3. ' I tıklatın Çevrimdışı dosyaları etkinleştir. Bilgisayar şu anda yeniden başlatma.
  4. Önbellek ayarlamak emin olun salt okunur. Bunu yapmak için bir yükseltilmiş cmd penceresinde aşağıdaki komutu çalıştırın:
    REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f 
    
  5. Bilgisayarı yeniden başlatın.
  6. Dosya sunucusuna bilgisayardan göz atın. Paylaşılan IIS yapılandırmasını içeren paylaşım sağ tıklatın ve sonra Her zaman kullanılabilir çevrimdışı.
    Küme düğümü üzerinde olan yüksek oranda kullanılabilir dosya sunucusuna ev sahipliği yapan, paylaşımı üzerinde sağ tıklattığınızda Not aynı yük devretme kümesinde yüksek oranda kullanılabilir dosya paylaşımının Kur değilse, IIS düğümlerin barındıran, her zaman çevrimdışı seçeneği görünmez. Yüksek kullanılabilir dosya sunucu uygulaması başka bir düğüme taşımak gerekir.
  7. Denetim Masası'nda açın Çevrimdışı dosyalar. ' I tıklatın Eşitleme Merkezi'ni Açve sonra tıklatın Zamanlama.
  8. Gereksinime göre veya her gün için bir çevrimdışı dosya eşitleme zamanlaması. Çevrimdışı eşitleme birkaç dakikada bir çalışacak şekilde de yapılandırabilirsiniz. Applicationhost.config dosyasındaki bir şey değiştiğinde bir zamanlayıcı ayarlamayın bile, değişiklik Web sunucusunda yansıtılır.
Not IIS çevrimdışı dosyalar paylaşılan yapılandırma için yapılandırma hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://Learn.iis.NET/Page.aspx/212/Offline-Files-for-Shared-Configuration

Web sitesi (ilişkilendirilmiş uygulama havuzunu dahil) yapılandırmak ve bir küme düğümünde, içeriğin konumunu belirtin

Küme disk kaynağı sahibi olan düğüm, Web sitesinin içerik dosyalarının bulunacağı bulabilirsiniz:
  1. Gidin Yönetimsel Araçlarve sonra tıklatın Yük Devretme Kümesi Yöneticisi.
  2. Kümeye bağlanın. Küme düğümlerinden birinin ise, küme listesinde otomatik olarak görüntülenir.
  3. Altında Depolama, Web sayfası içeriğinin bulunacağı disk kaynağı bulun. Bunu yapmak için disk kaynağı için depolama ağacı genişletin. Depolama kümedeki başka bir yüksek kullanılabilirlik uygulama tarafından kullanılmadığından emin olun. Depolama'nın altında bulabilirsiniz. Kullanılabilir depolama.
  4. Bu kaynağın çevrimiçi olduğu küme düğümü unutmayın. IIS, küme düğümünde yapılandıracaktır.
  5. Küme disk kaynağı adını not edin. Bu içerik dosyaları kullanır.
Kaynak çevrimiçi olduğunda küme düğümünde paylaşılmış disk kullanmak için Web sitesi içeriği için Web sunucusu yapılandırın:
  1. Gidin Yönetimsel Araçlarve sonra tıklatın Internet Information Services (IIS) Yöneticisi.
  2. Sol bölmede, sunucu adı düğümünü genişletin.
  3. Genişlet Sitelerve altında Siteler, yapılandırmakta olduğunuz siteyi tıklatın.
  4. Sağ bölmede seçin Gelişmiş ayarlar altında Web sitesini yönetme.
  5. Bulun Fiziksel yol altında özelliği Genel ayarları ve Web sitenizin içerik dosyalarının konumlandırıldığı yerde yazın. Önceki yordamı 5 adımda not ettiğiniz Küme disk kaynağı konumudur.
  6. ' I tıklatın TAMAM.

Yük Devretme Kümesi Yöneticisi'nde genel komut dosyası oluşturarak Web siteniz için yüksek kullanılabilirlik yapılandırmak

Son adım IIS Web sunucuları için yüksek kullanılabilirlik yapılandırmak Web sitesi ve Web sitesi için uygulama havuzu izlemek için kullanılan genel komut dosyası kaynağını ayarlayın:
  1. Her küme düğümünde, Windows\System32\inetsrv\Clusweb7.vbs için bu makalenin sonunda komut dosyasını kopyalayın.
  2. Varsayılan olarak, "varsayılan Web sitesi" ve "DefaultAppPool" adlı bir uygulama havuzu adlı bir Web sitesi komut dosyası izler. Bu doğru Web sitesi ve uygulama havuzu değilse, site_adı ve APP_POOL_NAME değişkenlerini değiştirin. Tüm küme düğümlerinde aynı Web sitesi ve uygulama havuzu komut dosyasında bulunduğundan emin olun. Adları büyük küçük harf duyarlı olduğunu unutmayın.
  3. Gidin Yönetimsel Araçlarve sonra tıklatın Yük Devretme Kümesi Yöneticisi.
  4. Kümeye bağlanın. Küme düğümlerinden birinin ise, küme listesinde otomatik olarak görüntülenir.
  5. Kümeyi sağ tıklatın ve sonra tıklatın Bir hizmet veya uygulama Yapılandır. Sihirbaz, yüksek kullanılabilirlik iş yükü oluşturur.
  6. ' I tıklatın Genel komut dosyası.
  7. Komut dosyasını aşağıdaki yoldan seçin: %systemroot%\System32\Inetsrv\clusweb7.vbs
  8. Client Access Point (CAP) istemcileri yüksek kullanılabilirlik Web sitesine bağlanmak için kullanacağı Web sitesi adına ayarlayın. CAP Web sitesi için kullanılacak statik IPS belirtin. DHCP kullanıyorsanız, bu seçeneği görüntülenmez.
  9. Üzerinde Depolama Birimi Seç adım, Web sitesinin içerik dosyalarının bulunduğu küme paylaşılmış disk seçin. Diğer yüksek kullanılabilirlik uygulama küme üzerinde tarafından kullanılmayan depolama olmalıdır. IIS paylaşılan yapılandırma için kullanılan bir dosya paylaşımına aynı küme üzerinde barındırılıyorsa, farklı disk kaynağı burada kullanılacağını unutmayın.
  10. Ayarları doğruladıktan sonra sihirbaz küme grubu, küme kaynaklarını ve kaynakları arasındaki bağımlılıkları oluşturun ve sonra kaynaklarını çevrimiçine getirin.
Not Aynı yük devretme kümesinde birden çok yüksek kullanılabilirlik Web sitelerini barındırmak için yukarıdaki adımları izleyin. Ancak, her Web sitesi ve farklı kümelenmiş paylaşılan depolama ortamı için farklı komut dosyasını kullanın. Örneğin, % systemroot%\System32\Inetsrv ilk Web sitesi, üçüncü için ikinci, clweb7-3.vbs için clweb7-2.vbs clusweb7.vbs kullanın ve benzeri. Her komut dosyası, farklı bir Web sitesi ve uygulama havuzu izler.

Önemliaşağıdaki komut dosyası, yalnızca örnek amaçlıdır ve açıkça Microsoft tarafından desteklenmez. Kendi sorumluluğunuzdadır bu komut dosyası IIS 7.0, IIS 7.5 veya IIS 8.0 kümelenmiş ortamında kullanılır.
'<begin script sample>


'This script provides high availability for IIS websites
'By default, it monitors the "Default Web Site" and "DefaultAppPool"
'To monitor another web site, change the SITE_NAME below
'To monitor another application pool, change the APP_POOL_NAME below
'More thorough and application-specific health monitoring logic can be added to the script if needed

Option Explicit

DIM SITE_NAME
DIM APP_POOL_NAME
Dim START_WEB_SITE
Dim START_APP_POOL
Dim SITES_SECTION_NAME
Dim APPLICATION_POOLS_SECTION_NAME
Dim CONFIG_APPHOST_ROOT
Dim STOP_WEB_SITE


'Note:
'Replace this with the site and application pool you want to configure high availability for
'Make sure that the same web site and application pool in the script exist on all cluster nodes. Note that the names are case-sensitive.
SITE_NAME = "Default Web Site"
APP_POOL_NAME = "DefaultAppPool"

START_WEB_SITE = 0
START_APP_POOL = 0
STOP_WEB_SITE  = 1
SITES_SECTION_NAME = "system.applicationHost/sites"
APPLICATION_POOLS_SECTION_NAME = "system.applicationHost/applicationPools"
CONFIG_APPHOST_ROOT = "MACHINE/WEBROOT/APPHOST"

'Helper script functions


'Find the index of the website on this node
Function FindSiteIndex(collection, siteName)

    Dim i

    FindSiteIndex = -1    

    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = siteName Then
            FindSiteIndex = i
            Exit For
        End If		 
    Next

End Function


'Find the index of the application pool on this node
Function FindAppPoolIndex(collection, appPoolName)

    Dim i

    FindAppPoolIndex = -1    

    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = appPoolName Then
            FindAppPoolIndex = i
            Exit For
        End If		 
    Next

End Function

'Get the state of the website
Function GetWebSiteState(adminManager, siteName)

    Dim sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set sitesSection = adminManager.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, siteName)
    If index = -1 Then
        GetWebSiteState = -1
    End If	    

    Set siteSection = sitesSectionCollection(index)

    GetWebSiteState = siteSection.GetPropertyByName("state").Value

End Function

'Get the state of the ApplicationPool
Function GetAppPoolState(adminManager, appPool)

    Dim configSection, index, appPoolState

    set configSection = adminManager.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)
    index = FindAppPoolIndex(configSection.Collection, appPool)

    If index = -1 Then
        GetAppPoolState = -1
    End If	    

    GetAppPoolState = configSection.Collection.Item(index).GetPropertyByName("state").Value
End Function


'Start the w3svc service on this node
Function StartW3SVC()

    Dim objWmiProvider
    Dim objService
    Dim strServiceState
    Dim response

    'Check to see if the service is running
    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='w3svc'")
    strServiceState = objService.state

    If ucase(strServiceState) = "RUNNING" Then
        StartW3SVC = True
    Else
        'If the service is not running, try to start it
        response = objService.StartService()

        'response = 0  or 10 indicates that the request to start was accepted
        If ( response <> 0 ) and ( response <> 10 ) Then
            StartW3SVC = False
        Else
            StartW3SVC = True
        End If
    End If
    
End Function


'Start the application pool for the website
Function StartAppPool()

    Dim ahwriter, appPoolsSection, appPoolsCollection, index, appPool, appPoolMethods, startMethod, callStartMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")

    Set appPoolsSection = ahwriter.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)       
    Set appPoolsCollection = appPoolsSection.Collection

    index = FindAppPoolIndex(appPoolsCollection, APP_POOL_NAME)
    Set appPool = appPoolsCollection.Item(index)
    
    'See if it is already started
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
        Exit Function
    End If

    'Try To start the application pool
    Set appPoolMethods = appPool.Methods
    Set startMethod = appPoolMethods.Item(START_APP_POOL)
    Set callStartMethod = startMethod.CreateInstance()
    callStartMethod.Execute()
    
    'If started return true, otherwise return false
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
    Else
        StartAppPool = False
    End If

End Function


'Start the website
Function StartWebSite()

    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)

    if siteSection.GetPropertyByName("state").Value = 1 Then
        'Site is already started
        StartWebSite = True
        Exit Function
    End If

    'Try to start site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(START_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()

    'Check to see if the site started, if not return false
    If siteSection.GetPropertyByName("state").Value = 1 Then
        StartWebSite = True
    Else
        StartWebSite = False
    End If

End Function


'Stop the website
Function StopWebSite()

    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod, autoStartProperty
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)

    'Stop the site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(STOP_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()

End Function



'Cluster resource entry points. More details here:
'http://msdn.microsoft.com/en-us/library/aa372846(VS.85).aspx

'Cluster resource Online entry point
'Make sure the website and the application pool are started
Function Online( )

    Dim bOnline
    'Make sure w3svc is started
    bOnline = StartW3SVC()

    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because w3svc could not be started."
        Online = False
        Exit Function
    End If


    'Make sure the application pool is started
    bOnline = StartAppPool()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the application pool could not be started."
        Online = False
        Exit Function
    End If


    'Make sure the website is started
    bOnline = StartWebSite()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the web site could not be started."
        Online = False
        Exit Function
    End If

    Online = true 

End Function

 
'Cluster resource offline entry point
'Stop the website
Function Offline( )

    StopWebSite()
    Offline = true

End Function


'Cluster resource LooksAlive entry point
'Check for the health of the website and the application pool
Function LooksAlive( )

    Dim adminManager, appPoolState, configSection, i, appPoolName, appPool, index

    i = 0
    Set adminManager  = CreateObject("Microsoft.ApplicationHost.AdminManager")
    appPoolState = -1

    'Get the state of the website
    if GetWebSiteState(adminManager, SITE_NAME) <> 1 Then
        Resource.LogInformation "The resource failed because the " & SITE_NAME & " web site is not started."
        LooksAlive = false
        Exit Function
    End If


    'Get the state of the Application Pool
     if GetAppPoolState(adminManager, APP_POOL_NAME) <> 1 Then
         Resource.LogInformation "The resource failed because Application Pool " & APP_POOL_NAME & " is not started."
         LooksAlive = false  
	 Exit Function
     end if

     '  Web site and Application Pool state are valid return true
     LooksAlive = true
End Function


'Cluster resource IsAlive entry point
'Do the same health checks as LooksAlive
'If a more thorough than what we do in LooksAlive is required, this should be performed here
Function IsAlive()   

    IsAlive = LooksAlive

End Function


'Cluster resource Open entry point
Function Open()

    Open = true

End Function


'Cluster resource Close entry point
Function Close()

    Close = true

End Function


'Cluster resource Terminate entry point
Function Terminate()

    Terminate = true

End Function
'<end script sample>

Özellikler

Makale numarası: 970759 - Last Review: 18 Mart 2013 Pazartesi - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Internet Information Services 8.0
  • Microsoft Internet Information Services 7.5
  • Microsoft Internet Information Services 7.0
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Standard
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 Service Pack 2
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
Anahtar Kelimeler: 
kbclustering kbhowto kbsurveynew kbmt KB970759 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 970759

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com