如果您有執行 Windows Server 2008 R2 的虛擬機器 (VM) 執行個體,可以使用 gcloud CLI 自動將這些執行個體升級到 Windows Server 2012 R2。
使用 gcloud CLI 執行就地升級,是手動升級的替代做法。透過自動升級程序,gcloud CLI 可協助您減少升級每個 VM 所需的作業。
在 VM 就地升級期間,gcloud CLI 會執行下列步驟:
- 停止 VM。
- 建立標準永久磁碟快照做為備份。
- 建立開機磁碟副本,並保留原始開機磁碟做為備份。
- 附加包含 Windows 2012 R2 安裝媒體的安裝磁碟。
- 從安裝磁碟啟動 Windows 安裝程式 (
setup.exe
),以自動安裝模式執行升級。 - 套用升級後設定。
- 卸離安裝磁碟。
- 停止 VM。
限制
您可以使用 gcloud CLI,將 Windows Server 2008 R2 升級至 Windows Server 2012 R2。這種方法只支援以 Google 提供的公開作業系統映像檔為基礎的 VM 執行個體。如要升級其他 Windows Server 設定,或升級自備授權的 VM 執行個體,請參閱「執行 Windows Server 的就地升級」。
費用
執行 Windows Server 直接升級不需要付費。您只須針對升級期間所耗用的資源付費,包括:
使用 Pricing Calculator,根據您的預測使用量來產生預估費用。
事前準備
- 請務必瞭解 Windows Server 就地升級的限制和替代方案。
- 使用 Windows Update 驗證 Windows Server 是最新版。
- 停用或解除安裝可能干擾升級作業,或與您要升級的 Windows Server 版本不相容的防毒軟體、反間諜軟體和其他代理程式。
- 請參閱 Microsoft 文件,瞭解 Windows Server 2012 R2 的先決條件和潛在限制:
- 確認您的 VM 執行個體符合 Windows Server 2012 系統需求,並且具有足夠的可用磁碟空間。
- 查看有關 Windows Server 2012 R2 的對於升級服務器角色的建議、已知問題和升級過程。
- 查看規劃直接升級的建議。
- 確認您並未受到 Windows Server 2012 R2 中已移除或已淘汰的功能影響。
- 確認您的所有自訂軟體或第三方軟體與 Windows Server 2012 R2 相容。
- 請務必先取得下列其中一個 Cloud IAM 角色,再繼續操作:
- 本指南使用 Cloud Shell 執行 gcloud CLI。如要在本機電腦上執行 gcloud CLI,請務必先下載並安裝最新版 gcloud CLI。
開始升級
以下各節將指導您完成升級 VM 執行個體的過程。
在 Google Cloud 控制台中,按一下「啟用 Cloud Shell」
按鈕,開啟 Cloud Shell。
設定預設專案 ID。將
PROJECT_ID
替換為 Compute Engine 專案名稱:gcloud config set project PROJECT_ID
執行下列指令來啟動升級:
gcloud beta compute os-config os-upgrade VM_NAME \ --zone=
ZONE
\ --source-os=windows-2008r2 \ --target-os=windows-2012r2 \ --async \ --auto-rollback更改下列內容:
VM_NAME
:要升級的 VM 執行個體名稱ZONE
:VM 執行個體執行的區域
--async
標記會指示 gcloud CLI 使用 Cloud Build 在背景執行升級作業。在背景執行升級作業,可讓您平行升級多個 VM 執行個體,並確保即使關閉 Cloud Shell 工作階段,程序仍會繼續執行。您可以在指令輸出中找到 Cloud Build 工作的連結:Created [https://cloudbuild.googleapis.com/v1/projects/...]. ... logUrl: https://console.cloud.google.com/build/builds/... ... status: QUEUED ...
觀察升級過程
視 VM 執行個體的設定而定,升級作業可能需要 40 到 90 分鐘才能完成。您可以開啟 Cloud Build 記錄,查看升級程序的狀態:
- 按一下 gcloud CLI 指令輸出內容中
logUrl
旁邊顯示的網址。 - 在「建構記錄」下方,您可以查看升級程序的目前狀態。
升級成功後,建構作業會標示為「成功」,且建構記錄中會顯示下列輸出內容:
Successfully upgraded instance 'projects/...!'
如果 gcloud CLI 在升級期間發生問題,就會將建構標示為「失敗」。如果指定 --auto-rollback
選項,gcloud CLI 也會啟動自動回溯。如要進一步瞭解建構記錄中遇到的問題,請參閱建構記錄。
如果升級程序在 90 分鐘後仍在執行,且您懷疑升級程序沒有進展,請使用「就地升級疑難排解」一文所述的方法,找出升級程序是否失敗或停滯。
完成升級
升級完成後,請啟動 VM 執行個體並執行 Windows Update,下載及安裝最新的安全性更新:
啟動 VM 執行個體:
gcloud compute instances start
VM_NAME
--zone=ZONE
更改下列內容:
VM_NAME
:VM 執行個體名稱ZONE
:VM 執行個體執行的區域
使用遠端桌面通訊協定用戶端連線至電腦。詳情請參閱連線至執行個體。
執行 Windows Update 安裝最新的 Windows 更新。 在此過程中,您可能必須多次重新啟動 VM 執行個體。
確認所有應用程式都能正常運作。
復原升級
如果升級失敗,gcloud CLI 會自動啟動回溯程序。如果升級成功,您可能仍會發現其中一個應用程式無法正常運作。在這種情況下,請將 VM 執行個體改回使用原始開機磁碟,藉此還原升級:
停止 VM 執行個體:
gcloud compute instances stop
VM_NAME
--zone=ZONE
更改下列內容:
VM_NAME
:VM 執行個體名稱ZONE
:VM 執行個體執行的區域
在建構記錄中,找出指出原始開機磁碟名稱和附件名稱的行:
4. Original boot disk: ORIGINAL_DISK_NAME - Device name of the attachment: DEVICE_NAME
從執行個體卸離含有故障作業系統的磁碟:
gcloud compute instances detach-disk VM_NAME \ --device-name=DEVICE_NAME \ --zone=ZONE
更改下列內容:
VM_NAME
:VM 執行個體名稱DEVICE_NAME
:建構記錄中顯示的裝置名稱ZONE
:VM 執行個體執行的區域
重新連結原始開機磁碟:
gcloud compute instances attach-disk
VM_NAME
\ --disk=ORIGINAL_DISK_NAME \ --device-name=DEVICE_NAME \ --zone=ZONE更改下列內容:
- VM_NAME:VM 執行個體名稱
ORIGINAL_DISK_NAME
:建構記錄中顯示的原始開機磁碟名稱DEVICE_NAME
:建構記錄中顯示的裝置名稱ZONE
:VM 執行個體執行的區域
啟動 VM 執行個體:
gcloud compute instances start VM_NAME --zone=ZONE
更改下列內容:
VM_NAME
:VM 執行個體名稱ZONE
:VM 執行個體執行的區域
清除所用資源
為避免產生額外費用,請移除 gcloud CLI 在升級前自動建立的備份:
在建構記錄中,找出指出磁碟快照名稱和原始開機磁碟的行:
3. Snapshot for original boot disk:
SNAPSHOT_NAME
4. Original boot disk:DISK_NAME
- Device name of the attachment: ... - AutoDelete setting of the attachment: true 5. Name of the new boot disk: ...返回 Cloud Shell 並刪除磁碟快照:
gcloud compute snapshots delete SNAPSHOT_NAME
刪除原始開機磁碟,並將
ZONE
替換為 VM 部署所在的區域:gcloud compute disks delete DISK_NAME --zone=ZONE
後續步驟
- 瞭解如何手動執行 Windows Server 的就地升級。
- 瞭解如何排解直接升級問題。
- 進一步瞭解永久磁碟快照。