Azure Windows2012升级2016

Azure Windows2012升级2016

在 Windows 上安装 Azure PowerShell官方文档:

https://learn.microsoft.com/zh-cn/powershell/azure/install-azps-windows?view=azps-11.6.0\&viewFallbackFrom=azps-11.1.0\&tabs=windowspowershell\&pivots=windows-psgallery
Azure 中运行 Windows Server 的 VM 的就地升级官方文档:

https://docs.azure.cn/zh-cn/virtual-machines/windows-in-place-upgrade

在自己电脑配置Azure PowerShell

前置条件

从 PowerShell 运行以下命令以确定 PowerShell 版本

python 复制代码
$PSVersionTable.PSVersion

确定是否安装了 AzureRM PowerShell 模块

python 复制代码
Get-Module -Name AzureRM -ListAvailable

以提升为管理员的权限启动 Windows PowerShell 5.1,并运行以下命令以更新 PowerShellGet:

python 复制代码
Install-Module -Name PowerShellGet -Force

将 PowerShell 执行策略设置为"远程签名"或"更低限制"

python 复制代码
Get-ExecutionPolicy -List

将 PowerShell 执行策略设置为远程签名:

python 复制代码
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

安装 Az PowerShell 模块

python 复制代码
Install-Module -Name Az -Repository PSGallery -Force

更新 Az PowerShell 模块

python 复制代码
Update-Module -Name Az -Force

PowerShell 登录到 Azure

登录到中国区Azure

python 复制代码
Connect-AzAccount -EnvironmentName AzureChinaCloud

国际区

python 复制代码
Connect-AzAccount

PowerShell 登录到 Azure后切换订阅

python 复制代码
Set-AzContext -Subscription 订阅名

Azure 中运行 Windows Server 的 VM 的就地升级

前置条件,生成一块OS磁盘

  • 对服务器创建快照,看公共IP地址是否为静态,不是的话与客户沟通变更为静态公共IP,否则可能会导致更新后公共IP发生变化,如没有公共IP则忽略
  • 已本机管理员权限打开power shell 登录Azure后 执行命令,更新资源组名称 地域后 复制粘贴执行即可
  • 目的是在Azure上生成一块系统镜像磁盘
python 复制代码
Connect-AzAccount -EnvironmentName AzureChinaCloud
python 复制代码
#
# Customer specific parameters


# Resource group of the source VM
$resourceGroup = "资源组名称"

# Location of the source VM
$location = "ChinaNorth2"

# Zone of the source VM, if any
$zone = "" 

# Disk name for the that will be created
$diskName = "WindowsServer2016UpgradeDisk"

# Target version for the upgrade - must be either server2022Upgrade, server2019Upgrade, server2016Upgrade or server2012Upgrade
$sku = "server2016Upgrade"


# Common parameters

$publisher = "MicrosoftWindowsServer"
$offer = "WindowsServerUpgrade"
$managedDiskSKU = "Standard_LRS"

#
# Get the latest version of the special (hidden) VM Image from the Azure Marketplace

$versions = Get-AzVMImage -PublisherName $publisher -Location $location -Offer $offer -Skus $sku | sort-object -Descending {[version] $_.Version	}
$latestString = $versions[0].Version


# Get the special (hidden) VM Image from the Azure Marketplace by version - the image is used to create a disk to upgrade to the new version


$image = Get-AzVMImage -Location $location `
                       -PublisherName $publisher `
                       -Offer $offer `
                       -Skus $sku `
                       -Version $latestString

#
# Create Resource Group if it doesn't exist
#

if (-not (Get-AzResourceGroup -Name $resourceGroup -ErrorAction SilentlyContinue)) {
    New-AzResourceGroup -Name $resourceGroup -Location $location    
}

#
# Create Managed Disk from LUN 0
#

if ($zone){
    $diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU `
                                   -CreateOption FromImage `
                                   -Zone $zone `
                                   -Location $location
} else {
    $diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU `
                                   -CreateOption FromImage `
                                   -Location $location
} 

Set-AzDiskImageReference -Disk $diskConfig -Id $image.Id -Lun 0

New-AzDisk -ResourceGroupName $resourceGroup `
           -DiskName $diskName `
           -Disk $diskConfig

将生成的OS磁盘附件到需升级的服务器

执行就地升级到 Windows Server 2016

  • 远程连接到服务器
  • 确定升级os磁盘的驱动器号
  • 启动 Windows PowerShell
  • 在PowerShell 切换目录到升级os磁盘
python 复制代码
cd  目录名
#例如 cd  D:\BaiduNetdiskDownload\navicat
.\setup.exe /auto upgrade /dynamicupdate disable

大概需要执行4小时左右

  • 通常windows映像的OS磁盘是128G
  • datacenter-core是没有图形化
  • smalldisk指的是OS磁盘使用的是30G

可以在控制台选择"启动诊断"选项以查看日志和屏幕截图。

升级后配置

  • 如果创建了 OS 磁盘和数据磁盘的快照,请将其删除。
  • 删除新建的升级OS磁盘
  • 启用在升级过程开始时可能已禁用的任何防病毒、反间谍软件或防火墙软件
  • 更新漏洞补丁,关闭自动更新

故障恢复

如果就地升级过程未能成功完成,在创建了操作系统磁盘和数据磁盘快照的情况下,可以返回到 VM 的先前版本。

相关推荐
在繁华处3 小时前
2.1 上下文:决定 Agent 能力上限的关键
前端·人工智能·microsoft
IT技术分享社区4 小时前
在 Windows 上跑未改动的 Linux 程序:微软 LiteBox v0.1 把这件事变简单了
linux·运维·windows·microsoft·开源
宝桥南山5 小时前
.NET 11 - 尝试创建一下AGUIServer和AGUIClient(基于新版.NET SDK for AG-UI)
microsoft·ai·微软·c#·aigc·.net
ji_shuke1 天前
使用 Canvas 和 mix-blend-mode 实现跟随鼠标的反色圆圈
microsoft·计算机外设·canvas
驱动小百科1 天前
Microsoft Visual C++ 2015安装失败如何修复 教你逐步处理
microsoft·vc++ 2015安装失败·visual c++ 2015·运行库安装失败·vc++ 2015安装错误
海盗12341 天前
微软技术日报 2026-10-08:Windows 给智能体立沙箱,Surface 换上 NVIDIA 芯
人工智能·windows·microsoft·机器人·aigc
鱼宵2 天前
Spring AI 初体验:配好 yml 就能聊,ChatClient 四步链式调用
人工智能·spring·microsoft·大模型·springai·chatclient
Experience-摆渡2 天前
微软开源 NVX:Agent 微虚拟机沙盒的硬件级隔离拆解
microsoft
雷焰财经2 天前
量子计算进入“工程化窗口”:当微软让DARPA直接测试量子系统,下一场计算革命正在从实验室走向产业
microsoft·量子计算
Sand(ContextGate)3 天前
Python Agent 测试实战:测试与评估,让 Agent 像传统软件一样可交付
前端·javascript·python·microsoft·ai