1、win-agent,监控组件,新版组件参考https://cloud.tencent.com/document/product/248/6211 (自研safe镜像请忽略这条)
2、WinAgent,安全组件,新版组件--云镜(主机安全)参考:https://cloud.tencent.com/document/product/296/12236#windows-.E4.BA.91.E6.9C.8D.E5.8A.A1.E5.99.A8.E7.8E.AF.E5.A2.83 (自研safe镜像请忽略这条)
3、网络初始化相关组件zipconfig_service ,它的升级版本是QCloud服务(QCloudService),请详阅https://cloud.tencent.com/developer/article/1933413
QCloudService安装文件:http://windows-1251783334.cos.ap-shanghai.myzijiebao.com/InstallQCloudService.exe
安装QCloudService会自动替换zipconfig_service
安全软件可能会影响zipconfig_service 、QCloudService功能,建议在安全软件里信任初始化程序相关的文件和目录。
4、早年镜像里的硬盘驱动、网卡驱动都很老,如果用老镜像买新机器,新机器网络大概率会异常,也不支持在线扩容云硬盘,控制台扩容硬盘大小成功后,系统内部看不到,只能从控制台重启机器后才能看到新增的空白空间;另外,部分spdk的新设备,老版驱动不适配新设备会导致一直在转圈无法进入系统
更新硬盘和网卡驱动参考这个文档:https://cloud.tencent.com/developer/article/1927302
http://mirrors.tencentyun.com/install/cts/windows/Drivers.zip
5、没有光驱、网络初始化程序是QcloudService的这种叫NBD镜像
6、文件系统需要chkdsk /f c: (盘符具体化成每个分区的盘符,最好是在救援模式winpe里,对原机器每个分区都chkdsk下)
7、五六年过去了,微软发现了不少漏洞,出了很多补丁,甚至2008R2已经被微软淘汰,因此老镜像的安全性是比较差的,最好安装杀毒防护软件全盘杀毒、修改默认远程端口号、打上这几年补丁(注意所有操作之前先打快照,建议关机后做快照,不要运行中做快照)
8、基础网络的机器,如果在进行基础网络 → 私有网络切换时报"不支持物理网络的实例",需要冷迁移到vpcid=0的母机后才能进行基础网络转私有网络,切换后注意把静态IP改成dhcp。
9、可能有PV Drivers(Xen子机),目前新创建的机器都是基于kvm的,参考https://cloud.tencent.com/developer/article/1927302
更新硬盘和网卡驱动后,PV Drivers就可以卸载了
10、IE版本较低,建议参考这篇文档安装firefox或chrome
结合以上特征,老镜像的机器迁移时需要做这些事情,请按顺序执行:
1、原机器chkdsk /f c: 回车敲Y,重启机器等待check disk 结束,结束后多重启2次,确保没有问题后继续后面的操作
2、把58007版驱动安装压缩包放到原机器系统盘里面
3、关机做快照,注意,是关机做快照不是关机做镜像,做完快照后就可以先开机了,然后快照转镜像
4、用上步做的镜像买新机器,机器能vnc登录后,立即用系统盘的驱动安装文件更新驱动,参考这个文档:https://cloud.tencent.com/developer/article/1927302
更新驱动后重启机器,确保磁盘、网络一切正常后,继续做其他操作
5、在上步基础上停止并禁止win-agent开机启动、停止并禁止WinAgent开机启动,然后安装云镜参考:https://cloud.tencent.com/document/product/296/12236#windows-.E4.BA.91.E6.9C.8D.E5.8A.A1.E5.99.A8.E7.8E.AF.E5.A2.83 (自研safe镜像请忽略这条)
6、安装监控组件,参考https://cloud.tencent.com/document/product/248/6211 (自研safe镜像请忽略这条)
7、确保是NBD镜像(网络初始化程序是zipconfig_service或QCloudService,且设备管理器里面没有光驱,这样的镜像是NBD镜像),如果已经有QCloudService,也再安装一次QCloudService,如果是zipconfig_service,一定要安装下QCloudService以替代zipconfig_service,安装文件:http://windows-1251783334.cos.ap-shanghai.myzijiebao.com/InstallQCloudService.exe
8、如果有PV Drivers,卸载掉
PV Drivers是xen架构下的虚拟化驱动,目前基本都是kvm,很少会遇到这么老的镜像,不过我确实见过,特意提一下
运行appwiz.cpl 或 在C:Program FilesQCloud 目录或许能看不到PV Drivers,看不到就不用管
9、更新IE到IE11,下载地址:https://www.microsoft.com/en-us/download/internet-explorer.aspx (如果不用IE,这里可以跳过)
最好是能安装firefox和chrome,参考这篇文档
10、重启机器确保一切正常后,关机做个快照1,以备不时之需
11、安装360全盘杀毒(只是建议,可以自己评估是否省略这一步),全盘杀毒后重启机器,review一下是否一切正常,正常的话关机做快照2,以备不时之需
12、安装补丁
13、多重启几次,确保没有因为安装补丁而出现异常
14、补丁应用成功、无其他异常后,再关机做个快照3,以备不时之需
15、对快照3进行快照转镜像,用这个优化后的、最终的NBD镜像新买按量机器看新购的机器有无异常,无异常后进行下一步
16、cloudbase-init的注意事项很多,请详细阅读https://cloud.tencent.com/developer/article/1927748
17、nbd → cloudbase-init转换
①QCloudService开机启动模式设置为禁用,安装cloudbase-init组件,参考文档:https://cloud.tencent.com/document/product/213/30000
②对服务器关机
③联系后端调用vs流程指定参数'targetInstanceInitType': 'cloudinit' 进行冷迁移
④上步完成后,开机,nbd方式就会变更为cloudbase-init方式,需要打开设备管理器和磁盘管理器确认有没有光驱,没有光驱的话让售后再发起一次冷迁移,直到出现光驱,出现光驱后,光驱如果有config-2的标,右击弹出使光驱无标,确保光驱只是显示为一个盘符而不是config-2。
18、进入系统确认IP配置,如果是静态IP配置,调整成dhcp,然后执行重置密码的命令net user Administrator "新密码" 多次,是分别在cmd命令行和powershell命令行都执行多次,如果有安全软件拦截,请信任,直到用命令重置密码成功,成功后再多执行2次,然后使用控制台重置密码功能看是否生效(确保操作系统内部的组策略密码复杂度是开启的)。
运行gpedit.msc → 计算机配置 → Windows设置 → 安全设置 → 帐户策略 → 密码策略 → 账号密码策略 → 密码必须符合复杂性要求 → 已启用
19、请不要随便删除cloudbase-init的注册表,如果创建机器时传了userdata,而userdata代码里有写操作的代码,那你删除了cloudbase-init的注册表会导致初始化标记为0,下次开机的时候cloudbase-init会认为机器没有初始化过,是新机器,就会自动触发重新执行一遍userdata里的代码,严重点假设,假设代码里有格式化数据盘的操作,岂不是要凉凉
但是如果你原机器没有使用userdata,建议做自定义镜像前,以管理员身份在powershell执行这句命令,否则用制作的镜像给原机器重装系统时,如果指定了跟原来不同的新密码,新密码是不生效的,需要再在控制台重置一次密码。
reg delete "HKEY_LOCAL_MACHINESOFTWARECloudbase Solutions" /f 2>&1 > $null
20、一切正常后,关机,做快照4,然后快照3转镜像得到最终镜像。以后就用这个镜像来创建机器就行。
之所以中途多次做快照,是为了在关键操作节点上能记录当时的状态,以免哪一步出错需要回滚到上一个关键状态,而不是前功尽弃从头再来。最终成功后,中途的那些可以删掉,只留最后的成品即可。