升級 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 安裝程式來套用更新。 此安裝程式也必須在每個控制站角色上執行。 標準安裝期間,如有快顯畫面要求您設定入口網站,請將其關閉。 這是偶發問題所導致。
注意
若要使用此升級方法,控制站角色必須能夠存取網際網路。
在無法連接到網際網路的系統上執行升級
若要將升級套用到無法存取網際網路的安裝,請執行下列步驟:
在可以存取網際網路的電腦上,下載 Web Platform Installer 命令列工具。
執行下列 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
將名為 %systemdrive%\Offline_feeds\feeds\v001 的資料夾重新命名為 WebSites_v2.0 7.7.8.0
將 WebSites_v2.0 7.7.8.0 目錄複製到位於 %systemdrive%\HostingOfflineFeed\feeds中的 Web Sites 控制站伺服器
執行此安裝程式前,您可以先確認您能夠存取離線摘要。 當您存取下列 URL 時,請檢查 XML 檔案是否傳回,其中< controller >是網站控制器伺服器的名稱:
http://<controller>/HostingOfflineFeed/feeds/WebSites_v2.0-7.7.8.0/WebSites0.9.0.xml
在可以存取網際網路的電腦上,從 Microsoft 下載中心 下載 WebSitesFeed.msi ,再將該檔案複製到 Web Sites 控制站伺服器。
在每個 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
在每個 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 權限
在 SQL Server Management Studio 的左導覽窗格中,依序展開 [安全性] 及 [登入] 。
在 Hosting_HostingAdmin上按一下滑鼠右鍵,然後選擇 [屬性] 。
在左窗格中的 [選取頁面] 下,選擇 [使用者對應 。
在 [已對應到此登入的使用者] 之下,將 ResourceMetering 加入 資料庫 資料行中。
在 使用者 資料行中,加入 HostingAdmin 使用者名稱。
重要
使用者名稱應是 HostingAdmin,不是 "Hosting_HostingAdmin"。
在下方窗格中,在 資料庫角色成員資格對象: ResourceMetering中,將角色成員資格變更為 db_owner,然後按一下 [確定] 。
這些步驟應能提供 HostingAdmin 使用者完整的權限,以透過 Web Sites 更新服務執行全面自動化升級作業。
啟動升級
請在 Web Sites 控制器上執行下列步驟。
選擇是否要使用具有更高權限的命令提示字元,停止 Web 伺服陣列服務。 執行此步驟之後,即無須在安裝後重新啟動控制器:
net stop webfarmservice
安裝新版本雖然會解除安裝舊版,但如果您想要自行解除安裝,也可以先手動解除舊版。 若要手動卸載舊版,請移至[程式與功能] 主控台 >,然後卸載Web Hosting Framework。
使用 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 伺服器:
執行下列命令以升級資料庫,並在代管組態中設定新的摘要 URL:
"%ProgramFiles%\IIS\Microsoft Web Sites\Feed\WebSitesSetupHelper.ps1" -actions CompleteUpgrade -skipRoleUpgrade
使用下列 PowerShell 命令控制角色的升級比例。 將 WFFMaximumStoppedServersPercentage 的值設為一個伺服陣列一次所要升級的伺服器比例。 預設值是 5%。
Add-pssnapin WebHostingSnapin Set-WebSitesConfig -Type Global -WffMaxStoppedServersPercent <percentage>
範例
下列範例會一次升級伺服陣列中 20% 的伺服器。
Set-WebSitesConfig -Type Global -WffMaxStoppedServersPercent 20
為所有 Windows Azure Pack: Web Sites 角色初始化角色升級,或依每個角色個別初始化
如果要啟動所有 Web Sites 角色的升級,請執行下列 PowerShell 命令:
"%ProgramFiles%\IIS\Microsoft Web Sites\Feed\WebSitesSetupHelper.ps1" -actions 'UpgradeAllServers'
如果要一次升級一個角色的方式升級 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')