Поделиться через


Обновление поставщика ресурсов MySQL в Azure Stack Hub

Важный

Начиная с сборки Azure Stack Hub 2108 поставщики ресурсов SQL и MySQL предоставляются подпискам, которым предоставлен доступ. Если вы хотите начать использовать эту функцию или обновиться с предыдущей версии, откройте обращение в службу поддержки, и наши инженеры службы поддержки помогут вам с развертыванием или обновлением.

Важный

Перед обновлением поставщика ресурсов просмотрите заметки о выпуске, чтобы узнать о новых функциях, исправлениях и возможных известных проблемах, которые могут повлиять на развертывание. Примечания о выпуске также указывают минимальную версию Azure Stack Hub, необходимую для поставщика ресурсов.

Важный

Обновление поставщика ресурсов НЕ обновит хостинг сервера MySQL.

Когда Azure Stack Hub выпускает новую сборку, мы можем освободить новый адаптер поставщика ресурсов MySQL. Пока существующий адаптер продолжает работать, рекомендуется обновить до последней сборки как можно скорее.

Поддерживаемая версия Azure Stack Hub Версия RP MySQL Windows Server, на котором запущена служба RP
2206, 2301, 2306, 2311 MySQL RP версии 2.0.13.x Дополнение Microsoft Azure Stack RP Windows Server 1.2009.0
2108, 2206 MySQL RP версии 2.0.6.x Надстройка Microsoft AzureStack RP Windows Server 1.2009.0

Обновление ресурсного поставщика MySQL Server V2

Если вы уже развернули MySQL RP версии 2 и хотите проверить наличие обновлений, проверьте, Как применить обновления к поставщику ресурсов.

Если вы хотите обновить MySQL RP c версии 1 до версии 2, убедитесь, что сначала обновили MySQL RP до версии 1.1.93.x, а затем примените основной процесс обновления, чтобы перейти с MySQL RP версии 1 на MySQL RP версии 2.

Обновление с MySQL RP версии 1.1.93.x до MySQL RP версии 2.0.6.0

Необходимые условия

  1. Обязательно обновите MySQL RP версии 1 до последней версии 1.1.93.x. В разделе подписка поставщика по умолчаниюнайдите группу ресурсов RP (формат именования: system.<region>.mysqladapter). Подтвердите тег версии и имя виртуальной машины MySQL RP в группе ресурсов. Если вы все еще используете старую версию и хотите обновить до версии 1.1.93.x, откройте обращение в службу поддержки.

  2. Откройте заявку в службу поддержки, чтобы получить пакет MajorVersionUpgrade и добавить подписку в список разрешенных на ASH marketplace для будущей версии V2.

  3. Скачайте Microsoft AzureStack Add-On RP Windows Server 1.2009.0 в Marketplace.

  4. Убедитесь, что Azure Stack Hub соответствует предварительным требованиям интеграции центра обработки данных.

    Предпосылка Ссылка
    Условное перенаправление DNS правильно задано. интеграция центра обработки данных Azure Stack Hub — DNS
    Открыты входящие порты для поставщиков ресурсов. Интеграция центра обработки данных Azure Stack Hub — входящие порты и протоколы
    Субъект сертификата PKI и SAN заданы правильно. При развертывании Azure Stack Hub обязательные предварительные требования PKI
    предварительные требования к развертыванию сертификата PaaS в Azure Stack Hub
  5. (для отключенной среды) Установите необходимые модули PowerShell, аналогичные процессу обновления, используемому для развертывания поставщика ресурсов MySQL.

  6. Подготовьте URI коннектора MySQL с необходимой версией. Сведения см. в разделе Развертывание поставщика ресурсов MySQL. Например, https://<storageAcountName>.blob.<region>.<FQDN>/<containerName>/mysql-connector-net-8.0.21.msi

Триггер MajorVersionUpgrade

Выполните следующий сценарий из консоли PowerShell с повышенными привилегиями, чтобы выполнить обновление основной версии.

Заметка

Убедитесь, что клиентский компьютер, на котором выполняется скрипт, имеет версию ОС не старше Windows 10 или Windows Server 2016, а на клиентском компьютере есть архитектура операционной системы X64.

Важный

Мы настоятельно рекомендуем использовать Clear-AzureRmContext -Scope CurrentUser и Clear-AzureRmContext -Scope Process для очистки кэша перед запуском скрипта развертывания или обновления.

# Check Operating System version
$osVersion = [environment]::OSVersion.Version
if ($osVersion.Build -lt 10240)
{
    Write-Host "OS version is too old: $osVersion."
    return
}

$osArch = (Get-WmiObject Win32_OperatingSystem).OSArchitecture
if ($osArch -ne "64-bit")
{
    Write-Host "OS Architecture is not 64 bit."
    return
}

# Check LongPathsEnabled registry key
$regPath = 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem'
$longPathsEnabled = 'LongPathsEnabled'
$property = Get-ItemProperty -Path $regPath -Name $longPathsEnabled -ErrorAction Stop
if ($property.LongPathsEnabled -eq 0)
{
    Write-Host "Detect LongPathsEnabled equals to 0, prepare to set the property."
    Set-ItemProperty -Path $regPath -Name $longPathsEnabled -Value 1 -ErrorAction Stop
    Write-Host "Set the long paths property, please restart the PowerShell."
    return
} 

# Use the NetBIOS name for the Azure Stack Hub domain. 
$domain = "YouDomain" 
# For integrated systems, use the IP address of one of the ERCS VMs
$privilegedEndpoint = "YouDomain-ERCS01"
# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "AzureCloud"
# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\extracted-folder\MajorVersionUpgrade-MySQLRP'
# The service admin account can be Azure Active Directory or Active Directory Federation Services.
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'xxxxxxxx' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)
# Add the cloudadmin credential that's required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'xxxxxxxx' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)
# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'xxxxxxx' -AsPlainText -Force
# Provide the pfx file path
$PfxFilePath = "C:\tools\mysqlcert\SSL.pfx"
# Local blob uri where stores the required mysql connector
$MySQLConnector = "Provide the MySQL Connector Uri according to Prerequisites step."
# PowerShell modules used by the RP MajorVersionUpgrade are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath 
. $tempDir\MajorVersionUpgradeMySQLProvider.ps1 -AzureEnvironment $AzureEnvironment -AzCredential $AdminCreds -CloudAdminCredential $CloudAdminCreds -Privilegedendpoint $privilegedEndpoint -PfxPassword $PfxPass -PfxCert $PfxFilePath -MySQLConnector $MySQLConnector

Заметка

DNS-адрес и соответствующий IP-адрес MySQL RP версии 2 отличаются. Чтобы получить новый общедоступный IP-адрес, вы можете связаться со службой поддержки для активации аварийного доступа DRP и найти ресурс MySQLRPVM1130-PublicIP. Вы также можете запустить команду nslookup mysqlrp.dbadapter.<полное доменное имя>" с клиентского компьютера, который уже прошел проверку конечной точки, чтобы узнать общедоступный IP-адрес.

Проверка успешного обновления

  1. Скрипт MajorVersionUpgrade выполняется без ошибок.
  2. Проверьте поставщика ресурсов в Marketplace и убедитесь, что MySQL RP 2.0 успешно установлен.
  3. Старая система .<расположение>.mysqladapter группа ресурсов и система .<расположение>.dbadapter.dns группа ресурсов в подписке поставщика по умолчанию не будут автоматически удалены скриптом.
  • Мы рекомендуем хранить учетную запись хранения и Key Vault в группе ресурсов mysqladapter в течение некоторого времени. Если после обновления какой-либо пользователь арендатора обнаруживает несогласованность в базе данных или метаданных входа, можно обратиться за поддержкой для восстановления метаданных из группы ресурсов.
  • Убедившись, что зона DNS в группе ресурсов dbadapter.dns пуста без записи DNS, безопасно удалить группу ресурсов dbadapter.dns.
  • [ВАЖНО] Не используйте скрипт развертывания версии 1 для удаления версии 1. После завершения обновления и подтверждения успешного обновления можно вручную удалить группу ресурсов из подписки поставщика.

Обновление более ранней версии MySQL RP версии 1 до MySQL RP версии 1.1.93.x

Обновление поставщика ресурсов MySQL версии 1 является накопительным. Вы можете напрямую обновить версию 1.1.93.x.

Чтобы обновить поставщик ресурсов до версии 1.1.93.x, используйте скрипт UpdateMySQLProvider.ps1. Используйте учетную запись службы с правами локального администратора и владельца подписки. Этот скрипт обновления включен в состав загрузки поставщика ресурсов.

Чтобы обновить поставщика ресурсов, используйте скрипт UpdateMySQLProvider.ps1. Используйте учетную запись службы с правами локального администратора и правами владельца подписки. Скрипт обновления включен в загружаемый пакет поставщика ресурсов.

Процесс обновления аналогичен процессу, используемому для развертывания ресурс-провайдера . Скрипт обновления использует те же аргументы, что и скрипт DeployMySqlProvider.ps1, и вам потребуется предоставить сведения о сертификате.

Обновление процессов скрипта

Скрипт UpdateMySQLProvider.ps1 создает новую виртуальную машину с последним образом ОС, развертывает последний код поставщика ресурсов и переносит параметры из старого поставщика ресурсов в новый поставщик ресурсов.

Заметка

Рекомендуется скачать образ надстройки Microsoft AzureStack RP Windows Server 1.2009.0 из Marketplace Management. Если необходимо установить обновление, вы можете поместить один пакет MSU в локальный путь зависимостей. Сценарий завершится ошибкой, если в этом расположении существует несколько файлов MSU.

После создания новой виртуальной машины скрипт UpdateMySQLProvider.ps1 скрипт переносит следующие параметры из старой виртуальной машины поставщика ресурсов:

  • Сведения о базе данных
  • сведения о сервере хостинга
  • требуемая запись DNS

Важный

Мы настоятельно рекомендуем использовать Clear-AzureRmContext -Scope CurrentUser и Clear-AzureRmContext -Scope Process для очистки кэша перед запуском скрипта развертывания или обновления.

Обновление параметров скрипта

Укажите следующие параметры из командной строки при запуске скрипта PowerShell UpdateMySQLProvider.ps1. Если вы этого не сделаете или если проверка параметров не пройдена, вам будет предложено указать требуемые параметры.

Имя параметра Описание Примечание или значение по умолчанию
CloudAdminCredential Учетные данные администратора облака, необходимые для доступа к привилегированной конечной точке. обязательный
AzCredential Учетные данные для учетной записи администратора службы Azure Stack Hub. Используйте те же учетные данные, которые вы использовали для развертывания Azure Stack Hub. Сценарий завершится ошибкой, если учетная запись, используемая с AzCredential, требует многофакторной проверки подлинности (MFA). Обязательный
VMLocalCredential Учетные данные для учетной записи локального администратора виртуальной машины поставщика ресурсов MySQL. обязательный
ПривилегированнаяТочкаДоступа IP-адрес или DNS-имя привилегированной конечной точки. обязательный
AzureEnvironment Среда Azure учетной записи администратора службы, используемая для развертывания Azure Stack Hub. Требуется только для развертываний Microsoft Entra. Поддерживаемые имена сред — это AzureCloud, azureUSGovernmentили при использовании идентификатора Microsoft Entra в Китае AzureChinaCloud. AzureCloud
DependencyFilesLocalPath PFX-файл сертификата также должен быть помещен в этот каталог. необязательный (обязательный для нескольких узлов)
Пароль для сертификата SSL по умолчанию Пароль для PFX-сертификата. обязательный
MaxRetryCount Количество повторных попыток каждой операции при сбое. 2
ПродолжительностьПовторнойПопытки Интервал времени ожидания между повторными попытками в секундах. 120
Удаление Удалите поставщика ресурсов и все связанные ресурсы (см. следующие заметки). Нет
Режим отладки Предотвращает автоматическую очистку при сбое. Нет
AcceptLicense Пропускает запрос на принятие лицензии GPL. (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Пример скрипта обновления

Если вы обновляете поставщик ресурсов MySQL до версии 1.1.33.0 или предыдущих версий, необходимо установить определенные версии модулей AzureRm.BootStrapper и Azure Stack Hub в PowerShell.

Если вы обновляете поставщик ресурсов MySQL до версии 1.1.47.0 или более поздней, этот шаг можно пропустить. Скрипт развертывания автоматически скачивает и устанавливает необходимые модули PowerShell для пути C:\Program Files\SqlMySqlPsh.

Заметка

Если папка C:\Program Files\SqlMySqlPsh уже существует с загруженным модулем PowerShell, рекомендуется очистить эту папку перед запуском скрипта обновления. Это позволяет убедиться, что правильная версия модуля PowerShell загружается и используется.

# Run the following scripts when updating to version 1.1.33.0 only.
# Install the AzureRM.Bootstrapper module, set the profile and install the AzureStack module.
# Note that this might not be the most currently available version of Azure Stack Hub PowerShell.
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

Заметка

В автономном сценарии необходимо скачать требуемые модули PowerShell и зарегистрировать репозиторий вручную в качестве предварительного условия. Для получения дополнительной информации см. Deploy MySQL resource provider

В следующем примере показан скрипт UpdateMySQLProvider.ps1, который можно запустить из консоли PowerShell с повышенными привилегиями. При необходимости измените сведения об переменных и паролях:

# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but could have been changed at install time.
$domain = "AzureStack" 

# For integrated systems, use the IP address of one of the ERCS VMs.
$privilegedEndpoint = "AzS-ERCS01" 

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported environment names are AzureCloud, AzureUSGovernment, or AzureChinaCloud. 
$AzureEnvironment = "<EnvironmentName>"

# Point to the directory where the resource provider installation files were extracted. 
$tempDir = 'C:\TEMP\MYSQLRP' 

# The service admin account (can be Azure Active Directory or Active Directory Federation Services).
$serviceAdmin = "admin@mydomain.onmicrosoft.com" 
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force 
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass) 
 
# Set credentials for the new resource provider VM.
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force 
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("mysqlrpadmin", $vmLocalAdminPass) 
 
# And the cloudadmin credential required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force 
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass) 

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force 

# For version 1.1.47.0 or later, the PowerShell modules used by the RP deployment are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath 

# Change directory to the folder where you extracted the installation files.
# Then adjust the endpoints.
.$tempDir\UpdateMySQLProvider.ps1 -AzCredential $AdminCreds -VMLocalCredential $vmLocalAdminCreds -CloudAdminCredential $cloudAdminCreds -PrivilegedEndpoint $privilegedEndpoint -AzureEnvironment $AzureEnvironment -DefaultSSLCertificatePassword $PfxPass -DependencyFilesLocalPath $tempDir\cert -AcceptLicense

По завершении сценария обновления поставщика ресурсов закройте текущий сеанс PowerShell.

Дальнейшие действия

обслуживание поставщика ресурсов MySQL