前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >本地windows2008R2镜像上腾讯云迁移解决方案--实践技术文档

本地windows2008R2镜像上腾讯云迁移解决方案--实践技术文档

原创
作者头像
TCS-F
修改于 2021-12-08 03:43:38
修改于 2021-12-08 03:43:38
3.9K00
代码可运行
举报
运行总次数:0
代码可运行

一、概述

【实践目的】实现本地的windows2008R2等镜像上云迁移,让迁移后的云机保持本地的业务环境。

【迁移关键】本地Windows镜像制作 、镜像文件迁移到腾讯云COS对象存储、使用【迁移服务平台】。

【迁移价值】体系全,成本低、【存储】无上限、弹性【服务器】、【数据】多冗余、【网络】自由调度、【安全】专业服务。

【迁移步骤】:

镜像迁移概述图
镜像迁移概述图

二、方案实践

1.Windows 镜像制作 1.1 准备工作

制作系统盘镜像导出时需要做以下检查,数据盘镜像导出可以忽略。

  • 检查 OS 分区,目前服务迁移不支持 GPT 分区。 检查分区的方法: 依次打开【控制面板】>【磁盘管理】,在磁盘右键选择【属性】,如下图可以看到磁盘分区形式。
计算机属性,检查系统盘是否为GPT格式
计算机属性,检查系统盘是否为GPT格式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bcdedit /enum {current}

运行示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C:\WINDOWS\system32>bcdedit /enum {current}

Windows 启动加载器
-------------------
标识符                  {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.exe
description             Windows 10
locale                  zh-CN
inherit                 {bootloadersettings}
recoverysequence        {f9dbeba1-1935-11e8-88dd-ff37cca2625c}
displaymessageoverride  Recovery
recoveryenabled         Yes
flightsigning           Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {1bcd0c6f-1935-11e8-8d3e-3464a915af28}
nx                      OptIn
bootmenupolicy          Standard
  • 检查网络配置,目前服务迁移不支持 IPv6,不支持多网卡。依赖于 IPv6 和多网卡的服务都无法正常工作。
  • 卸载会产生冲突的驱动和软件(包括 VMware tools,Xen tools, Virtualbox GuestAdditions 以及一些自带底层驱动的软件)。
  • 安装 cloud-base:请参考 cloud-base 安装文档
  • 检查或安装 virtio 驱动 在【控制面板】>【程序和功能】中搜索到 virtio,如下图示,则说明已安装 virtio:
底层驱动
底层驱动

Windows 操作系统安装 cloudbase-init

下载 cloudbase-init 工具安装包

请根据实际使用的操作系统位数,下载对应版本的 cloudbase-init 工具安装包进行安装。具体详情请参见 Cloudbase-Init 官网

Cloudbase-init 分为以下版本:

安装 cloudbase-init

安装 cloudbase-init 的过程中,请注意以下两点:

  • 在安装完成的最后一步时,请勿勾选任何复选框,不运行 Sysprep。如下图所示:

修改 cloudbase-init 配置文件

  1. 打开 cloudbase-init 配置文件(配置文件的路径为:\PATH\TO\Cloudbase Solutions\Cloubase-Init\conf\cloudbase-init.conf)。
  2. 将 cloudbase-init 配置文件替换为以下内容:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[DEFAULT]
username=Administrator
groups=Administrators
inject_user_password=true
config_drive_raw_hhd=true
config_drive_cdrom=true
config_drive_vfat=true
bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\
metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService
plugins=cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin,cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin,cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin,cloudbaseinit.plugins.common.userdata.UserDataPlugin
verbose=true
debug=true
logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\
logfile=cloudbase-init.log
default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN
logging_serial_port_settings=COM1,115200,N,8
mtu_use_dhcp_config=true
ntp_use_dhcp_config=true
first_logon_behaviour=no
netbios_host_name_compatibility=false
allow_reboot=false
activate_windows=true
kms_host="kms.tencentyun.com"
local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\
C:\powershell
PS C:\Set-ExecutionPolicy Unrestricted

TencentCloudRun.ps1 脚本拷贝到 C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ 路径下。

  • 以下系统版本,驱动下载:腾讯云定制版virtio Microsoft Windows Server 2008 R2(标准版、数据中心版、企业版),Microsoft Windows Server 2012 R2(标准版)
  • 其它系统版本,请下载 社区版本 virtio

  • 检查其它硬件相关的配置,上云之后的硬件变化包括但可能不限于:
    • 显卡更换为 cirrus vga;
    • 磁盘更换为 virtio disk;
    • 网卡更换为 virtio nic,默认为本地连接。

使用 disk2vhd 导出镜像

如果待导出系统是在物理机,或者不想使用平台工具导出,那么可以选择 disk2vhd 工具。 下载 disk2vhd

安装后界面如下图:

使用工具导出镜像
使用工具导出镜像

注:这里注意,我在导出时需要勾选100MB的保留分区,否则会导入云机时会失败。

实践截图
实践截图

镜像检查

如上所述,当不停服制作镜像或者其它原因,可能导致制作出的镜像文件系统有误,因此建议在制作镜像后检查是否无误。

当镜像格式和当前平台支持的格式一致时,可以直接打开镜像检查文件系统。 例如 Windows 平台可以直接附加 vhd 格式镜像,Linux 可以使用 qemu-nbd 打开 qcow2 格式镜像,Xen 平台可以直接启用 vhd 文件。 以 Linux 平台为例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
modprobe nbd
qemu-nbd -c /dev/nbd0 xxxx.qcow2
mount /dev/nbd0p1 /mnt

如果 qcow2 镜像的第一个分区导出时文件系统被破坏,mount 时将会报错。

此外还可以在上传镜像前,先启动虚拟机测试镜像文件是否可以使用。

镜像导出结果
镜像导出结果

2将镜像上传到COS对象存储

2.1我这里使用cos迁移工具之一:COSBrowser 工具

将9.7GB镜像上传到COS,速度基本上是13M/s,半个多小时就OK
将9.7GB镜像上传到COS,速度基本上是13M/s,半个多小时就OK

3.使用腾讯云【迁移服务平台】导入COS镜像到云服务器

控制台界面
控制台界面

3.1使用迁移镜像服务

导入镜像功能
导入镜像功能
文件迁移进度查看
文件迁移进度查看
这里自己是自己的操作界面,前面失败一次是因为没勾选系统盘保留分区
这里自己是自己的操作界面,前面失败一次是因为没勾选系统盘保留分区

4.云机重启运行检查结果如下:

导入成功!并且保存了本地的配置和文件在桌面,完全一致,并且不受云机规格影响
导入成功!并且保存了本地的配置和文件在桌面,完全一致,并且不受云机规格影响

总结:

首先非常感谢架构师飞哥的项目指导,他做了linux上云的解决方案实践,我根据他的思路做了一份windows上云的技术实践,并且非常感谢【腾讯云迁移服务产品团队】大力支持和指导,下面就介绍下本次实践的经验,谢谢。

1.制作windows镜像时,需要提前安装两个软件,一个是virt驱动和cloud-ini软件(另外注意安装一个更新模块)。

CloudbaseInitSetup_0_9_11_x64、InstallQCloud、Windows6.1-KB2533623-x64.msu

2.使用disk2vhd-tmp导出系统镜像时注意,不要勾选use vhdx格式;导出时一定要勾选保留的分区。

这两处一定要注意
这两处一定要注意

3.cos上传后,有客户想要直接强制导入镜像的方式创建云机,但产品团队给我提示,哪样的方式会存在受限制,“系统的虚拟内存,不是实际的内存”。

这个目前是有限制的 类似你系统盘df -h 看到实际大小2G,但是实际上文件系统大小可以达到200G一样。如果使用镜像导入方式迁移,则会失败,因为镜像导入最大只支持50GB限制。

4.导入后的系统是没有激活,还有很多云安全软件需要自己去安装,这是我自己发现的,比如云镜基础防护agent,和系统激活服务。

最后忠诚的感谢腾讯云迁移服务产品团队大力指导和支持,感谢!本实践只是迁移服务平台的功能的一部分,有兴趣的同学可以可以尝试实践,欢迎广大用户使用腾讯云【迁移服务平台( M S P)】 谢谢。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
腾讯云上传自定义Windows Server 2016镜像
很多时候,因为各种原因,我们需要上传自定义的镜像,下面本文将会介绍如何在腾讯云上上传自定义的Windows Server 2016镜像。
月缺
2020/03/31
3.7K0
腾讯云上传自定义Windows Server 2016镜像
使用kvm制作OpenStack平台Windows镜像
关于virtio: kvm因为使用了硬件虚拟化,所以其cpu方面的运行效率是很高的。不过,kvm在I/O虚拟化方面,传统的方式是利用QEMU纯软件的方式来模拟I/O设备, 这样每次虚机发起I/O请求的时候,KVM内核模块会捕获这次请求,然后处理后将其放入I/O共享页,并通知用户空间中运行的QEMU程序。 QEMU获得I/O操作,交由硬件模拟代码(Emulation)来模拟出本次I/O操作之后,将结果放回I/O共享页,同时通知KVM内核模块读取I/O共享页的操作结果,把结果返回给虚机。 由于这种方式每次I/O操作经过的路径很复杂,其效率很低。所以就提出了virtio这种方案,virtio其实就是一个运行于Hypervisor之上的api接口, 让客户机知道自己运行于虚拟化环境中,进行I/O操作的时候通过virtio与Hypervisor通信,从而是虚机有更好的性能。
用户9949933
2023/02/24
3K0
AWS-WinServer2012离线迁移到腾讯云
在桌面输入快捷键win+r打开运行窗口,然后输入 diskmgmt.msc,按 Enter,打开 “磁盘管理”。
赵智勇
2020/08/26
2.4K0
AWS-WinServer2012离线迁移到腾讯云
【玩转腾讯云】disk2vhd离线迁移服务器
https://cloud.tencent.com/document/product/213/17815
Windows技术交流
2022/11/09
12.4K2
腾讯云"因版权限制,Windows 自定义镜像不允许导出",有个办法可以导出,但不建议
做一个windows系统,vmdk/vhd上传cos,导入自定义镜像时强制导入+选linux类别,创建实例(系统盘50G以内) 这个实例做个自定义镜像能导出,因为镜像外壳是linux,规避了控制台windows镜像的导出限制。
Windows技术交流
2024/05/30
6010
WinServer离线迁移到腾讯云
在桌面输入快捷键win+r打开运行窗口,然后输入 diskmgmt.msc,按 Enter,打开 “磁盘管理”。
赵智勇
2020/08/26
9.9K1
WinServer离线迁移到腾讯云
StarWind Converter 这个p2v 、v2v软件真的很好用
p2v到云上能不能成功,我有个经验:物理机环境,尤其是带raid的物理机环境,直接制作镜像上云,导入镜像大概率会失败,即便强制导入成功开机一般也会蓝屏。最稳妥的办法是先在线下,p2v到vmware验证,如果在vmware里能成功,上云的可能性才大。
Windows技术交流
2021/07/07
38K1
腾讯云公共镜像创建的Windows机器,一段powershell搞定python环境
公共镜像里有cloudbase-init,它的目录里带python环境了,但是需要启用下,这样启用:
Windows技术交流
2024/01/11
2000
【镜像导入】Windows Server 2008 x86(32位)
首先需要下载镜像,建议在MSDN itellyou 中下载微软纯净版的系统,网址链接如下:
高鹏-bryan
2020/03/07
7.5K2
阿里云Windows迁移腾讯云方案
步骤: 1)源端先做快照; 2)下载并解压这个压缩包,解压后执行根目录的.ps1脚本
Windows技术交流
2024/12/16
5010
关于迁移/切换vpc场景中的Windows网不通问题
我测试过公共镜像新买的cvm用disk2vhd导出.vhd文件上传到cos再离线迁移灌入其他cvm的几种情况
Windows技术交流
2022/11/30
1.7K0
主机迁移实践分享
在云计算时代,不管是从IDC上云还是多云直接的迁移,都已经是常见的事宜。而在上云/迁移的方案中,也是有多种的方式能够将主机迁移到腾讯云中。
腾讯云计算产品团队
2018/07/14
17.2K1
UserData健壮性提升:Windows Cloudbase-Init低概率性UserData代码执行异常的问题研究
Cloudbase-Init是免费开源的,但.exe主程序不开源,只是.py文件开源
Windows技术交流
2025/02/20
1010
腾讯云cvm自定义镜像共享给Lighthouse报错"镜像不支持Cloudinit"
问题现象:CVM自定义镜像共享给Lighthouse报错"镜像不支持Cloudinit"
Windows技术交流
2024/03/13
3190
一步一步导入RHEL镜像到腾讯云
Red Hat Enterprise Linux(RHEL)是一个由Red Hat开发的商业市场导向的Linux发行版,Red Hat Enterprise Linux 常被简称为 RHEL. 据IDC统计,到2018年,服务器操作系统市场份额达到33.4%. 目前,在中国大陆市场,RHEL主要为跨国企业或者外资在使用,其他很多企业都始终把CentOS (Community Enterprise Operating System) Linux为红帽系主要操作系统,但红帽于2020年12月8号突然调整商业策略,将CentOS Linux切换为CentOS Stream ,这直接导致CentOS与RHEL上下游关系发生调换,同时由于CentOS Stream不会有固定大版本发布, 虽然后续有Rocky Linux等迅速创建,但是大家应该都知道这里面的影响在哪里,是不是新创建一个版本就能很快解决的,这里我也不再赘叙。
汪星
2021/05/06
3.8K0
基于Packer打包Windows镜像的避坑指南
2023年我第一次用腾讯云Packer的时候,当时还是1.8.6版本,那时第一次用,并没有吃透Packer,比如:
Windows技术交流
2024/12/04
3020
PVE Cloud-INIT 模板配置
Cloud-init是开源的云初始化程序,能够对新创建弹性云服务器中指定的自定义信息(主机名、密钥和用户数据等)进行初始化配置。通过Cloud-init进行弹性云服务器的初始化配置,将对您使用弹性云服务器、镜像服务和弹性伸缩产生影响。简单地讲,cloud-init是一个Linux虚拟机的初始化工具,被广泛应用在AWS和OpenStack等云平台中,用于在新建的虚拟机中进行时间设置、密码设置、扩展分区、安装软件包等初始化设置。
小陈运维
2023/04/06
1.6K0
VMware业务系统迁移上云方案
客户要将业务从自建的虚拟化数据中心迁移至UCloud,希望能够将多年前的VMware体系换到公有云体系。其中:
IT大咖说
2020/12/29
3.2K0
VMware业务系统迁移上云方案
Windows系统实例如何导出镜像到本地并成功启动
由于某些背景,需要把腾讯云的Windows系统的镜像下载到本地后,在本地启动,如果是Linux系统镜像的话,腾讯云提供了导出镜像的方式,参考:https://cloud.tencent.com/document/product/213/70518 但是不支持Windows镜像。
无可奉告丶
2023/01/21
3.3K2
了解早年的腾讯云Windows老镜像特征,改造成新镜像
1、win-agent,监控组件,新版组件参考https://cloud.tencent.com/document/product/248/6211 (自研safe镜像请忽略这条)
Windows技术交流
2022/01/21
2.5K0
推荐阅读
相关推荐
腾讯云上传自定义Windows Server 2016镜像
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验