Обновление Windows Azure Pack. Веб-сайты

 

Область применения: Windows Azure Pack

Обновление службы веб-сайтов Windows Azure Pack до версии 2 обновления 2

Чтобы обновить служу веб-сайтов Windows Azure Pack до версии 2 обновления 2, можно обновить ее с помощью Центра обновления Майкрософт или путем запуска установщика веб-сайтов Windows Azure версии 2 обновления 2, доступного из установщика веб-платформы. Сведения об изменениях в этом обновлении описаны в статье 2932947 microsoft база знаний.

Обновления с помощью Центра обновления Майкрософт

При обновлении с помощью Центра обновления Майкрософт системе необходимо иметь доступ к Интернету для загрузки устанавливаемых компонентов. Если используется WSUS для распространения обновлений, то все равно необходимо наличие контроллера веб-сайтов для доступа к Интернету. Чтобы выполнить обновление, используйте стандартную консоль Центра обновления Windows и выберите Обновление службы веб-сайтов Windows Azure Pack версии 2.

Примечания

  • Это необязательное обновление.

  • Чтобы установить обновление, оно должно быть применено для каждой роли контроллера веб-сайтов. Чтобы обновления были доступны для роли контроллера, необходимо включить Центр обновления Майкрософт во время установки.

Обновление с использованием установщика веб-платформы

Кроме того, можно применить обновление, запустив установщик веб-платформы Windows веб-сайтов Azure Pack версии 2 с обновлением 2 с помощью установщика веб-платформы. Этот установщик должен быть запущен в каждой роли контроллера. Если запускается портал конфигурации, который является частью обычной процедуры установки, то просто закройте его. Существует периодически возникающие проблемы, которые это вызывают.

Примечание

Для этого способа обновления требуется доступ к Интернету из роли контроллера.

Обновление для систем, не имеющих доступа к Интернету

В случае применения обновления к установке, которая не имеет доступа к Интернету, выполните следующие действия:

  1. На компьютере с доступом к Интернету скачайте программу командной строки установщика веб-платформы.

  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

  5. Перед запуском установщика можно проверить, доступны ли автономные веб-каналы. Убедитесь, что XML-файл возвращается при доступе к следующему URL-адресу, где <контроллером> является имя сервера контроллера веб-сайтов:

    http://<controller>/HostingOfflineFeed/feeds/WebSites_v2.0-7.7.8.0/WebSites0.9.0.xml
    
  6. На компьютере с доступом к Интернету скачайте WebSitesFeed.msi из Центра загрузки Майкрософт и скопируйте файл на серверы контроллеров веб-сайтов.

  7. На каждом сервере контроллера веб-сайтов выполните следующие команды Windows PowerShell для обновления реестра. Не нужно заменять {controller} , так как правильное значение развертывается автоматически.

    $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. На каждом сервере контроллера веб-сайтов выполните следующую команду, чтобы завершить обновление:

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

Ход обновления можно отслеживать в Просмотр событий в разделе Microsoft-Windows-WebSitesUpdate/Operational, на портале управления или в диспетчере информационных служб (IIS) на контроллере веб-сайта.

Обновление с версии V1 или V2 предварительной версии до версии V2 службы веб-сайтов Windows Azure Pack

В этом разделе приведены скрипты и команды, которые можно использовать для обновления поддерживаемой предварительной версии Windows Azure Pack: веб-сайты до версии выпуска R2. Сведения об обновлении Windows пакета Azure см. в статье "Обновление с предварительной версии Windows Azure Pack".

При обновлении Windows Azure Pack: веб-сайты с предварительной версии имейте в виду следующее:

  • Необходимо начать с обновления контроллера службы веб-сайтов.

  • Можно обновить роли службы веб-сайтов со стандартной скоростью 5 % серверов в ферме либо указать другой процент.

  • При обновлении с предварительной версии V2 до выпуска R2 нужно выполнить набор SQL-команд для базы данных размещения.

  • Для успешного обновления с версии 1 до версии 2 обновление 1 должно быть успешным, разрешения пользователя базы данных HostingAdmin должны быть изменены на разрешения владельца базы данных отслеживания ресурсов. Необходимые для этого действия приведены в разделе «Изменение разрешений администратора размещения» далее в этом документе.

    Предупреждение

    Контроллер веб-сайтов будет полностью работать только после установки новой Windows Azure Pack: версия веб-сайтов и обновления баз данных. До обновления базы данных контроллер будет находиться в непригодном для работы состоянии, так как веб-ферма службы не может быть запущена.

Проверка текущей версии и состояния обновления

PowerShell и (или) Просмотр событий можно использовать для проверки текущей версии Windows Azure Pack: веб-сайты и состояния обновления.

PowerShell

Чтобы просмотреть версию Windows Azure Pack: веб-сайты, установленные в метку, выполните следующую команду 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 в средстве просмотра событий. В левой области Просмотр событий разверните узлы "Журналы приложений и служб", Майкрософт, Windows, WebSitesUpdate, а затем выберите "Операционные".

Изменение разрешений HostingAdmin

Для успешного обновления с версии 1 до версии 2 обновление 1 должно быть успешным, разрешения пользователя базы данных HostingAdmin должны быть изменены на разрешения владельца базы данных отслеживания ресурсов. Это необходимо, поскольку «SA» является единственным пользователем с правами полного доступа к базе данных отслеживания использования ресурсов, а учетные данные SA заранее не известны.

Изменение разрешения HostingAdmin

  1. В SQL Server Management Studio в области навигации слева разверните узел "Безопасность" и затем узел "Имена входа".

  2. Щелкните правой кнопкой мыши Hosting_HostingAdmin и выберите пункт "Свойства".

  3. В левой области в разделе "Выбор страницы" выберите "Сопоставления пользователей".

  4. В разделе "Пользователи, сопоставленные с этим именем входа", добавьте ResourceMetering в столбец "База данных ".

  5. В столбце User добавьте имя пользователя HostingAdmin .

    Важно!

    Имя пользователя должно быть HostingAdmin, а не "Hosting_HostingAdmin".

  6. В нижней области в разделе "Членство в роли базы данных" для: ResourceMetering измените членство в роли на db_owner и нажмите кнопку "ОК".

После выполнения этих действий пользователю HostingAdmin будут предоставлены достаточные разрешения, позволяющие полностью автоматически обновлять веб-сайты через службу обновления.

Начните обновление

На контроллере веб-сайтов выполните следующие шаги.

  1. В командной строке с повышенными привилегиями при необходимости остановите службу веб-фермы. Этот шаг позволяет избавиться от необходимости перезапустить контроллер после установки.

    net stop webfarmservice
    
  2. Установка новой версии автоматически удалит старую версию, однако старую версию можно удалить и вручную, если это необходимо. Чтобы удалить предыдущую версию вручную, перейдите в раздел панель управления > "Программы и компоненты" и удалите платформу веб-размещения.

  3. С помощью установщика веб-платформы установите новую версию Windows Azure Pack: веб-сайты. Дополнительные сведения см. в статье "Запуск установки Windows Azure Pack: веб-сайты".

    Вы можете обновить Windows Azure Pack: роли веб-сайтов с частотой по умолчанию 5 % серверов на ферму серверов или управляемым образом.

Обновление 5 % серверов на ферму серверов за раз

На контроллере запустите следующий скрипт PowerShell для обновления базы данных, установите адрес feedUrl в hostingConfiguration и запустите обновление всех ролей. Измените имя сервера базы данных и пароль.

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

Примечание

  • Параметр -upgradeConnectionString требуется только для обновления версии V1 до выпускной версии R2 (он не требуется для обновления предварительный версии V2 до R2).

  • Строка подключения должна содержать учетные данные sa.

Чтобы обновить Windows Azure Pack: серверы веб-сайтов с указанной скоростью:

  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: роли веб-сайтов или для каждой роли

  1. Чтобы начать обновление для всех ролей службы веб-сайтов, выполните следующую команду PowerShell:

    "%ProgramFiles%\IIS\Microsoft Web Sites\Feed\WebSitesSetupHelper.ps1" -actions 'UpgradeAllServers'
    
  2. Чтобы начать обновление для каждой роли службы веб-сайтов отдельно, запустите каждую этих команд 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

При обновлении c предварительной версии 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')

См. также:

Обновление с версии Preview Windows Azure Pack
Развертывание Windows Azure Pack. Веб-сайты