升級 Windows Azure Pack: Web Sites

 

適用于:Windows Azure Pack

如何升級為 Windows Azure Pack Web Sites 版本 2 更新 2

若要升級為 Windows Azure Pack Web Sites 版本 2 更新 2,可以使用 Microsoft Update,或透過 Web Platform Installer 執行 Windows Azure Pack Web Sites 版本 2 更新 2 安裝程式。 此更新的變更在 Microsoft 知識庫文章 2932947中將有詳細的說明。

使用 Microsoft Update 升級

若您要使用 Microsoft Update 進行升級,您的系統必須能夠存取網際網路,以提取可安裝的元件。 若您要使用 WSUS 散發升級,您的 Web Sites 控制站角色也必須能夠存取網際網路。 若要直接執行升級,請使用標準的 Windows Update 主控台,並選取 [Windows Azure Pack 版本 2 的更新]

注意事項

  • 這是選擇性步驟。

  • 若要套用升級,必須在每個 Web Sites 控制站角色上套用更新。 為使控制站 角色也能使用此更新,安裝期間就必須啟用 Microsoft Update。

使用 Web Platform Installer 升級

另一種方法是透過 Web Platform Installer執行 Windows Azure Pack Web Sites 版本 2 更新 2 安裝程式來套用更新。 此安裝程式也必須在每個控制站角色上執行。 標準安裝期間,如有快顯畫面要求您設定入口網站,請將其關閉。 這是偶發問題所導致。

注意

若要使用此升級方法,控制站角色必須能夠存取網際網路。

在無法連接到網際網路的系統上執行升級

若要將升級套用到無法存取網際網路的安裝,請執行下列步驟:

  1. 在可以存取網際網路的電腦上,下載 Web Platform Installer 命令列工具

  2. 執行下列 Powershell 命令:

    WebpiCmd.exe /offline /products:"HostingController,HostingFrontEndRole,HostingWebRole,HostingPublishingRole,HostingManagementServerRole,HostingAdministration,HostingFileServerRole,HostingWebPlatformInstaller" /Path:"$([System.Environment]::ExpandEnvironmentVariables("%SystemDrive%\Offline_Feeds"))" /XML:"https://go.microsoft.com/?LinkId=9845550" /Language:en
    
  3. 將名為 %systemdrive%\Offline_feeds\feeds\v001 的資料夾重新命名為 WebSites_v2.0 7.7.8.0

  4. WebSites_v2.0 7.7.8.0 目錄複製到位於 %systemdrive%\HostingOfflineFeed\feeds中的 Web Sites 控制站伺服器

  5. 執行此安裝程式前,您可以先確認您能夠存取離線摘要。 當您存取下列 URL 時,請檢查 XML 檔案是否傳回,其中< controller >是網站控制器伺服器的名稱:

    http://<controller>/HostingOfflineFeed/feeds/WebSites_v2.0-7.7.8.0/WebSites0.9.0.xml
    
  6. 在可以存取網際網路的電腦上,從 Microsoft 下載中心 下載 WebSitesFeed.msi ,再將該檔案複製到 Web Sites 控制站伺服器。

  7. 在每個 Web Sites 控制站伺服器上,使用下列 Windows PowerShell 命令更新登錄。 因為 {控制器} 的正確值會自動產生,所以無須置換。

    $offlineFeedUrl = 'http://{controller}/HostingOfflineFeed/feeds/WebSites_v2.0-7.7.8.0/WebSites0.9.0.xml'
    
    $hostingFrameworkRegKeyPath = "Registry::HKLM\SOFTWARE\Microsoft\IIS Extensions\Web Hosting Framework"
    
    Set-ItemProperty -path $hostingFrameworkRegKeyPath -name "MainFeedUrl" -value $offlineFeedUrl
    
  8. 在每個 Web Sites 控制器伺服器上執行下列命令,以完成升級:

    msiexec /i websitesfeed.msi WEBSITES_FEED=None FEED_HASH=None FEED_FILE_NAME=None WEBSITES_UPGRADE_ACTIONS="UpgradeDatabase,InstallController,UpdateFeedConfiguration,UpgradeAllServers"
    

您可以在管理入口網站,或在 Web Sites 控制站上之 Internet Information Services (IIS) 管理員中, Microsoft Windows WebSitesUpdate/Operational下的事件檢視器中監視升級的進度。

如何從 V1 或 V2 的預覽版升級為 Windows Azure Pack Web Sites 第 2 版

本節提供指令碼與命令,讓您可以用來將支援之預覽版的 Windows Azure Pack: Web Sites 升級為 R2 版。 如需升級 Windows Azure Pack 的資訊,請參閱< Upgrade from the Preview version of Windows Azure Pack>。

從預覽版升級為 Windows Azure Pack: Web Sites 時,請注意下列事項:

  • 您必須從 Web Sites 控制器啟動升級。

  • 每個伺服陣列預設可以升級 5% 之伺服器上的 Web Sites 角色,但您也可以指定不同的比例。

  • 如果要從 V2 搶鮮版升級為 R2 發行版本,也必須對代管資料庫執行一組 SQL 命令。

  • 若要順利從版本 1 升級為版本 2 更新 1, HostingAdmin 資料庫使用者的權限必須變更為資源計量資料庫擁有者的權限。 此作業的步驟將於本文件後文中的<變更 HostingAdmin 權限>一節中說明。

    警告

    Web Sites 控制站要能夠全面運作,除了必須安裝新的 Windows Azure Pack: Web Sites 版本之外,還必須升級資料庫。 在資料庫升級之前,控制器會因為無法啟動 Web 伺服陣列服務而處於不穩定的狀態。

如何檢查目前的版本與升級狀態

您可以使用 PowerShell 及 (或) 事件檢視器,檢查您 Windows Azure Pack: Web Sites 目前的版本及您的升級狀態。

使用 PowerShell

若要查看您所安裝之 Windows Azure Pack: Web Sites 的版本,請在網站控制站角色上,以系統管理員身分執行下列 PowerShell 命令。

Import-Module WebSites
Get-WebSitesServer | foreach{$_.PlatformVersion}

以下是更詳細的 PowerShell 命令,會輸出機器名稱、平台版本及狀態。

Get-WebSitesServer | %{"$($_.Name) : $($_.PlatformVersion) ($($_.Status))"}

範例輸出:

CN-V2UP-ANT306 :  (Not ready)
MN-V2UP-ANT313 : 7.6.10690.14 (Ready)
LB1-V2UP-ANT307 : 7.6.10690.14 (Ready)
LB2-V2UP-ANT313 : 7.6.10690.14 (Ready)
W1-V2UP-ANT312 : 7.6.10690.14 (Ready)
W2-V2UP-ANT305 : 7.6.10690.14 (Ready)
S-V2UP-ANT313 : 7.6.10690.14 (Ready)
PB-V2UP-ANT306 : 7.6.10690.14 (Not ready)
FS-V2UP-ANT304 : 7.6.10690.14 (Ready)

使用事件檢視器

您也可以藉由在事件檢視器中查看 WebSitesUpdate 作業記錄,追蹤升級的狀態。 在事件檢視器的左窗格中,依序展開 [應用程式及服務記錄檔] 、[Microsoft] 、[Windows] 、[WebSitesUpdate] ,然後選取 [可作業]

變更 HostingAdmin 權限

若要順利從版本 1 升級為版本 2 更新 1, HostingAdmin 資料庫使用者的權限必須變更為資源計量資料庫擁有者的權限。 這是必要步驟,因為唯一具有資源計量資料庫之完整存取權的使用者為 "SA",而 SA 認證無法事先得知。

變更 HostingAdmin 權限

  1. 在 SQL Server Management Studio 的左導覽窗格中,依序展開 [安全性] 及 [登入]

  2. Hosting_HostingAdmin上按一下滑鼠右鍵,然後選擇 [屬性]

  3. 在左窗格中的 [選取頁面] 下,選擇 [使用者對應

  4. 在 [已對應到此登入的使用者] 之下,將 ResourceMetering 加入 資料庫 資料行中。

  5. 使用者 資料行中,加入 HostingAdmin 使用者名稱。

    重要

    使用者名稱應是 HostingAdmin,不是 "Hosting_HostingAdmin"。

  6. 在下方窗格中,在 資料庫角色成員資格對象: ResourceMetering中,將角色成員資格變更為 db_owner,然後按一下 [確定]

這些步驟應能提供 HostingAdmin 使用者完整的權限,以透過 Web Sites 更新服務執行全面自動化升級作業。

啟動升級

請在 Web Sites 控制器上執行下列步驟。

  1. 選擇是否要使用具有更高權限的命令提示字元,停止 Web 伺服陣列服務。 執行此步驟之後,即無須在安裝後重新啟動控制器:

    net stop webfarmservice
    
  2. 安裝新版本雖然會解除安裝舊版,但如果您想要自行解除安裝,也可以先手動解除舊版。 若要手動卸載舊版,請移至[程式與功能] 主控台 >,然後卸載Web Hosting Framework

  3. 使用 Web Platform Installer 安裝新版的 Windows Azure Pack: Web Sites。 如需詳細資訊,請參閱開始安裝 Windows Azure Pack:網站

    每個伺服器陣列預設可有 5% 的伺服器升級 Windows Azure Pack: Web Sites 角色,也可自訂這項比率。

每個伺服陣列一次升級 5% 的伺服器

在控制器上執行下列 PowerShell 指令碼以升級資料庫,然後在 hostingConfiguration 中的 feedUrl,並啟動所有角色的升級。 依據您環境的需要,變更資料庫伺服器的名稱及密碼資訊。

"%ProgramFiles%\IIS\Microsoft Web Sites\Feed\WebSitesSetupHelper.ps1" -actions CompleteUpgrade -upgradeConnectionString "Server=DB-Websites;User Id=sa;Password=password"

注意

  • 只有從 V1 升級為 R2 版時,才須使用 -upgradeConnectionString 參數 (從 V2 預覽版升級為 R2 版時不需要)。

  • 連接字串必須使用 sa 認證。

若要以指定比率升級 Windows Azure Pack:Web Sites 伺服器:

  1. 執行下列命令以升級資料庫,並在代管組態中設定新的摘要 URL:

    "%ProgramFiles%\IIS\Microsoft Web Sites\Feed\WebSitesSetupHelper.ps1" -actions CompleteUpgrade -skipRoleUpgrade
    
  2. 使用下列 PowerShell 命令控制角色的升級比例。 將 WFFMaximumStoppedServersPercentage 的值設為一個伺服陣列一次所要升級的伺服器比例。 預設值是 5%。

    Add-pssnapin WebHostingSnapin
    Set-WebSitesConfig -Type Global -WffMaxStoppedServersPercent <percentage>
    

    範例

    下列範例會一次升級伺服陣列中 20% 的伺服器。

    Set-WebSitesConfig -Type Global -WffMaxStoppedServersPercent 20
    

為所有 Windows Azure Pack: Web Sites 角色初始化角色升級,或依每個角色個別初始化

  1. 如果要啟動所有 Web Sites 角色的升級,請執行下列 PowerShell 命令:

    "%ProgramFiles%\IIS\Microsoft Web Sites\Feed\WebSitesSetupHelper.ps1" -actions 'UpgradeAllServers'
    
  2. 如果要一次升級一個角色的方式升級 Web Sites 角色,可以個別執行下列 PowerShell 命令:

    Start-Operation -OperatorName WFF -OperationName Upgrade @{"WebFarmName"="FrontEndServers"}
    
        Start-Operation -OperatorName WFF -OperationName Upgrade @{"WebFarmName"="FileServers"}
    
        Start-Operation -OperatorName WFF -OperationName Upgrade @{"WebFarmName"="ManagementServers"}
    
        Start-Operation -OperatorName WFF -OperationName Upgrade @{"WebFarmName"="PublisherServers"}
    
        Start-Operation -OperatorName WFF -OperationName Upgrade @{"WebFarmName"="WorkerServers"}
    

從 V2 預覽版升級為 R2 版

從 V2 搶鮮版升級為 R2 發行版本 (而不是從 V1 到 R2 發行版本) 時,也必須對代管資料庫執行下列 SQL 命令。 這些命令可以啟用升級後更新現有訂閱及方案的支援。

-- Get the ResourceId for the 'CpuTime' resource.
DECLARE @CpuTimeResourceId INT;
SELECT @CpuTimeResourceId = (SELECT TOP 1 ResourceId FROM runtime.QuotaResources WHERE ResourceName = N'CpuTime')

INSERT  INTO [runtime].[OwnerQuotas] 
                ([QuotaName],
                 [PolicyId],
                 [ResourceId],
                 [Limit],
                 [ExceededAction],
                 [TimeUnits],
                 [Period],
                 [ActionId])
SELECT 'CpuTimeBurst', POL.PolicyID, @CpuTimeResourceId, -1, 0, 1, 5, NULL 
FROM [admin].[subscriptions] SUB
INNER JOIN [runtime].[SitePolicies] POL
ON SUB.Name = POL.PlanName
WHERE NOT EXISTS (SELECT 1 FROM runtime.OwnerQuotas O WHERE O.PolicyId = POL.PolicyID AND QuotaName = N'CpuTimeBurst')

INSERT  INTO [runtime].[SiteQuotas] 
                ([QuotaName],
                 [PolicyId],
                 [ResourceId],
                 [Limit],
                 [ExceededAction],
                 [TimeUnits],
                 [Period],
                 [ActionId])
SELECT 'CpuTimeBurst', POL.PolicyID, @CpuTimeResourceId, -1, 0, 1, 5, NULL 
FROM [admin].[subscriptions] SUB
INNER JOIN [runtime].[SitePolicies] POL
ON SUB.Name = POL. PlanName
WHERE NOT EXISTS (SELECT 1 FROM runtime.SiteQuotas O WHERE O.PolicyId = POL.PolicyID AND QuotaName = N'CpuTimeBurst')

另請參閱

從預覽版的 Windows Azure Pack 升級
安裝 Windows Azure Pack:Web Sites