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

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

原创
作者头像
TCS-F
修改2021-12-08 11:43:38
3.7K0
修改2021-12-08 11:43:38
举报

一、概述

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

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

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

【迁移步骤】:

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

二、方案实践

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

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

  • 检查 OS 分区,目前服务迁移不支持 GPT 分区。 检查分区的方法: 依次打开【控制面板】>【磁盘管理】,在磁盘右键选择【属性】,如下图可以看到磁盘分区形式。
image
image
代码语言:javascript
复制
bcdedit /enum {current}

运行示例:

代码语言:javascript
复制
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:
image
image

Windows 操作系统安装 cloudbase-init

下载 cloudbase-init 工具安装包

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

Cloudbase-init 分为以下版本:

安装 cloudbase-init

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

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

修改 cloudbase-init 配置文件

  1. 打开 cloudbase-init 配置文件(配置文件的路径为:\PATH\TO\Cloudbase Solutions\Cloubase-Init\conf\cloudbase-init.conf)。
  2. 将 cloudbase-init 配置文件替换为以下内容:
代码语言:javascript
复制
[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

安装后界面如下图:

image
image

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

实践截图
实践截图

镜像检查

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

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

代码语言:javascript
复制
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 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概述
  • 二、方案实践
    • 1.Windows 镜像制作 1.1 准备工作
    • Windows 操作系统安装 cloudbase-init
      • 下载 cloudbase-init 工具安装包
        • 安装 cloudbase-init
          • 修改 cloudbase-init 配置文件
            • 使用 disk2vhd 导出镜像
              • 镜像检查
              • 2将镜像上传到COS对象存储
                • 2.1我这里使用cos迁移工具之一:COSBrowser 工具
                  • 3.使用腾讯云【迁移服务平台】导入COS镜像到云服务器
                    • 4.云机重启运行检查结果如下:
                      • 总结:
                      相关产品与服务
                      对象存储
                      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档