手册下载
H3C CAS云计算管理平台
云迁移方案最佳实践
软件版本:E0730及之后版本
资料版本:5W107-20221102
Copyright © 2022 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
本文主要介绍CAS虚拟化产品云迁移方案的应用,包括该方案的应用场景、信息收集、迁移评估、部署实施等。
CAS虚拟化产品云迁移方案用于将用户自有业务系统迁移到CAS虚拟化平台的场景,提供云迁移最佳方案。通过收集用户侧自有业务服务器或其他原虚拟化平台中业务虚拟机的各项信息,基于CAS虚拟化产品提供的迁移功能服务,评估确定用户业务上CAS的迁移方案,以保障用户业务迁移工作顺利完成。
对于实际业务迁移到CAS虚拟化产品的整个流程,可考虑如下四个方面的工作内容影响迁移进度和操作,使迁移实施项目更加可靠。
图1 业务迁移流程
表1 业务迁移流程概述
阶段名称 |
工作描述 |
详细信息收集 |
服务专家根据信息收集模板,通过电话或现场交流的方式,收集当前业务迁移需求和现场环境信息。 |
评估和分析 |
根据信息收集的结果,对业务迁移进行评估和规划。 |
方案设计 |
根据对对迁移工作的评估和分析结果,设计具体的迁移方案,以期在保障迁移过程的可靠性的基础上,应尽量降低业务整体的停机时间。 |
迁移执行 |
根据迁移实施方案确定中的步骤和计划,执行具体的业务迁移任务。 |
业务验证和测试 |
完成虚拟化迁移后,将对迁移后的业务系统进行验证和测试,以确认业务系统在超融合平台运行正常。 |
对于实际业务迁移项目,用户的业务系统包括一系列的应用,需按照顺序进行迁移。通常建议首先先迁移简单应用,其次是允许停机时间长的应用,再次是允许时间短的应用,最后是迁移难度大的应用。例如先迁移无状态应用,公共服务组件系统,非集群系统,然后是集群复杂系统,核心业务系统和核心数据库。
图2 业务迁移顺序建议
为了更好的保障业务迁移工作顺利完成,减少迁移过程中出现错误对业务造成的影响。首先需要收集业务现状信息,包括业务系统现状信息、迁移需求、IT环境评估和数据库系统信息。然后根据收集到的信息评估分析迁移风险,选择最合适的迁移方式和更合适的硬件配置。
由于待迁移服务器分为物理服务器和虚拟机两类,迁移信息包括业务系统概述、硬件配置信息、应用系统信息和数据库系统信息,虚拟机迁移需要对原虚拟化平台有详细了解。
物理服务器业务现状信息主要从两个维度收集,分别是硬件配置信息和应用系统信息。
· 硬件配置信息包括服务器型号、CPU、内存和硬盘信息。
· 应用系统信息包括操作系统、是否兼容x86、系统规格、CPU负载、内存负载、磁盘使用信息、应用部署、外设和网卡数量信息。
表2 物理服务器业务系统现状信息示例
类别 |
收集项 |
收集信息 |
硬件配置信息 |
服务器型号 |
Dell PowerEdge T410 |
CPU |
Intel Pentium Xeon processor (4 CPUs), 2.1GHz |
|
内存 |
2048MB RAM |
|
硬盘 |
2*512GB |
|
应用系统信息 |
操作系统 |
Windows 2003 Enterprise,64位 |
是否兼容x86 |
是/否 |
|
系统规格 |
4核8G500G |
|
CPU负载 |
峰值:30% 平均:10% |
|
内存负载 |
峰值:60% 平均:20% |
|
磁盘使用 |
20%,0G/月 |
|
外设和网卡数量 |
USB加密,2个网卡 |
|
是否使用外置存储 |
否 |
在收集服务信息应注意:
· Linux源机内核版本是否2.6.25(不含2.6.25),若低于 2.6.25(不含2.6.25)的老旧Linux源系统使用异构平台迁移服务将无法在CAS侧兼容Virtio。
· 是否使用NAS存储,比如网络共享目录NFS/CIFS/Samba,若使用将不支持异构平台迁移服务做业务迁移。
· 业务系统是否有数据容灾备份的需求,可根据实际情况设计迁移后的业务容灾备份方式。
· Windows源机是否是桌面系统。
在特殊应用方面,主要考虑数据库系统。需要详细调研数据库系统的各项指标,评估CAS虚拟化产品满足数据库部署要求的基础设施。数据系统需收集的信息包括数据库类型版本、数据库部署架构、数据库实例规格、操作系统、数据库容量、并发用户和性能要求等,详细示例如下表所示。
表3 物理服务器数据库系统现状信息示例
收集项 |
收集信息 |
数据库类型版本 |
MySQL5.7 |
数据库部署架构 |
3台,一主两从 |
数据库实例规格 |
Intel(R) Pentium(R) III Xeon processor (4 CPUs), 2.1GHz,2048MB RAM |
操作系统 |
I CentOS 7.2 |
数据库容量 |
500G |
数据库并发用户 |
100 |
数据库性能要求 |
事务吞吐能力,能承受的每秒查询数峰值/查询响应时间 |
对于物理服务器业务系统和物理服务器数据库系统的现状信息收集工作,需要专业的方法支持。如上需要的物理服务器信息主要按照Windows和Linux两种操作系统分类,详细的信息收集方法见7 附录:物理机和虚拟机迁移信息收集方法。
迁移虚拟机业务前,需要明确承载虚拟机的原虚拟化平台:
· 若原虚拟化平台是UIS超融合、VMware vSphere、Oracle VM和中兴iECS等,可以采用如下两种方法:
¡ 使用CAS虚拟化异构平台迁移服务。
¡ 关机导出OVA、OVF模板再导入。
· 若原虚拟化平台是公有云平台,可以用CAS虚拟化异构平台迁移功能实现P2V和V2V的业务迁移。
若选择使用异构平台迁移服务,就需要收集虚拟机的操作系统和规格配置等信息。这些信息可以通过7 附录:物理机和虚拟机迁移信息收集方法收集,也可以登录到虚拟化/云平台获取。
表4 虚拟机业务系统现状信息示例
收集项 |
收集信息 |
业务系统概述 |
数据分析Windows客戶端,C/S架构 |
原虚拟化平台 |
Dell PowerEdge T410 |
CPU数 |
4核 |
内存 |
2048MB |
磁盘 |
系统盘100GB,数据盘500GB |
操作系统 |
Windows 2003 Enterprise 64位 |
CPU负载 |
Windows 2003 Enterprise 64位 |
内存负载 |
峰值:60%;平均:20% |
磁盘使用 |
20%,0G/月 |
外设和网卡数量 |
USB加密,2个网卡 |
是否使用外置存储 |
否 |
收集虚拟机数据库系统的现状信息,主要按照Windows和Linux两种操作系统分类,详细的信息收集方法见7 附录:物理机和虚拟机迁移信息收集方法。
表5 虚拟机数据库系统现状信息示例
收集项 |
收集信息 |
数据库类型版本 |
MySQL5.7
|
数据库部署架构 |
3台,一主两从 |
数据库实例规格 |
4U8G500G |
操作系统 |
CentOS 7.2 |
数据库容量 |
300G |
数据库并发用户 |
100 |
数据库性能要求 |
事务吞吐能力,能承受的每秒查询数峰值/查询响应时间 |
收集待迁移业务系统现状信息完成后,需对业务迁移进行评估和规划,包含下述三方面:
· 迁移数据量、迁移时间、迁移工具和迁移方式。
· 迁移后业务系统资源配置。
· 迁移过程对业务系统的风险和故障紧急恢复措施。
根据业务系统迁移到CAS虚拟化平台的不同配置方式,迁移后磁盘配置有如下差异:
· 如果是从物理服务器迁移至CAS虚拟化平台虚拟机(即P2V迁移)的系统,虚拟机磁盘大小的配置需与原物理机的保持一致。
· 如果是P2V的数据库服务器,数据库文件所在磁盘为提高IO吞吐,建议将磁盘进行预分配。但磁盘预分配需关闭服务器进行,速率约为100G/小时,所以磁盘过大就不适合预分配,一是因为预分配后会预占用虚拟存储的大量空间,可能造成资源的浪费;二是因为预分配需要关闭虚拟机关闭业务,而且时间比较久,会影响到用户业务。
业务系统迁移到CAS虚拟化平台后需要对原服务器内存配置进行评估,作为迁移后系统的内存配置参考。原内存配置过剩,并且用户要求释放过剩内存资源时,需要减少配置;原内存资源配置不足需增加内存资源;原内存资源利用率合理则保持配置不变。
· 服务器内存合理的平均利用率为30%-70%,以确保业务高峰期时也能保持在80%以下。若原服务器内存平均利用率低于30%可以适当降低内存配置,若原服务器内存平均利用率超过70%,为防止运行期间内存溢出,建议添加内存配置。应用服务器内存调整也需要考虑内存使用的峰值,比如结算系统月底做月结,内存利用率很高,已经超过90%,为了保证服务器不宕机,此时不论内存平均利用率是否在合理的区间,都应适当为虚拟机增加内存配置。所以建议收集原业务系统内存利用率的时候要在系统业务高峰期收集。
· 数据库服务器内存在迁移上云时建议增加,不建议降低。随意降低数据库服务器内存可能会导致数据库无法启动。
¡ MySQL数据库服务器内存配置建议在16G-32G。
¡ Oracle数据库服务器,单实例内存配置建议在16G-64G的区间。
¡ Oracle RAC单节点内存配置建议在32-128G区间,具体配置需要通过专业的DBA进行计算。
¡ MSSQL数据库服务器,内存配置建议在16G-96G的区间,具体配置需要通过专业的DBA进行计算。
物理服务器迁移到CAS虚拟化平台后需要对原服务器进行CPU配置评估,原CPU配置过剩,并且用户要求释放过剩CPU资源,需要减少配置;若原CPU资源配置不足则需增加CPU资源;若原CPU资源利用率合理则保持配置不变。评估原则如下:
· 服务器CPU资源的平均利用率合理范围为30%-70%,以确保业务高峰期时也能保持在80%以下;迁移到CAS虚拟化平台业务虚拟机的主频建议要高于原服务器或者保持持平;应用服务器CPU平均利用率低于30%时可以适当降低CPU配置;应用服务器CPU平均利用率高于70%时可以增加CPU配置。由于CAS虚拟化平台的CPU可以超配,并不是配置了多少就一定会全被占用,所以可以等迁移后虚拟机业务稳定运行后再酌情调整。应用服务器CPU调整也需要考虑CPU使用的峰值,建议在系统业务高峰期收集原业务系统CPU利用率。
· 数据库服务器迁移后不建议降低CPU配置,可以运行一段时间后,观察是否需要降低CPU配置。若原系统CPU使用率过高(超过70%),可以增加原系统的CPU配置。MySQL、MSSQL、Oracle 单机和Oracle RAC集群等数据库服务器配置建议16-32核。如果到CPU核数还不能满足业务需求,建议通过优化数据库,排查慢查询或将数据库架构改为读写分离的集群架构。不建议再通过增加服务器配置来承载业务。
CAS业务迁移方式主要有如下迁移方式:
· 外部云虚拟机迁移
· 支持P2V和V2V的CAS异构平台迁移
· 导出OVA/OVF文件再导入到CAS的迁移方式
· 跨集群云彩虹迁移
其对应的特点和适用场景如下图所示:
图3 CAS业务迁移方式对比
· 外部云虚拟机迁移:CAS虚拟化平台可纳管VMware平台中的主机集群及虚拟机,并将VMware中的虚拟机平滑迁移至管理平台中。迁移过程无需安装代理、PE等工具。
· CAS异构平台迁移服务:CAS虚拟化平台提供的支持P2V/V2V迁移服务,基于磁盘块IO级别的专业迁移工具。
· 导出OVA/OVF导入CAS迁移:要求源虚拟机运行在UIS、VMware vSphere、Oracle VM和中兴iECS等虚拟化平台。
· 跨集群云彩虹迁移:源端和目的端都是相同版本CAS虚拟化平台。
· 为了防止迁移前后由于亚信版本不匹配导致的虚拟机无法启动,需要在迁移前关闭虚拟机的亚信防病毒。
· 重新部署和数据库迁移由专业服务来提供,本文不详细阐述。
对于待迁移的Windows或Linux操作系统的业务服务器,CAS异构平台迁移服务迁移的数据量是磁盘实际使用量。如果待迁移系统使用NAS外置存储,比如网络共享目录NFS/CIFS,CAS异构平台迁移服务只能迁移本地磁盘,对于NAS外置存储数据,可通过如下两种方式评估:
· 可基于自己搭建NFS/CIFS服务器提供的文件系统,将原有数据拷贝过来,则整个迁移数据量为业务系统本地磁盘和NAS外置存储数据量之和。
· 如果将原有NAS存储直接挂载到迁移后的业务系统,则整个迁移数据量只有业务系统本地磁盘。
CAS异构平台迁移服务是基于磁盘块IO级别的迁移工具,一个完整的数据流如下:
(1) 读源磁盘[源磁盘块IO]->数据处理[源CPU、内存]->数据发送接收[源网卡、网络带宽、目标网卡]->数据处理[目标CPU、内存]->数据写入[目标磁盘块IO]。
(2) 整个迁移过程的极限速度受限于以上数据流中各环节的软硬件性能瓶颈。CAS异构平台迁移服务在实验室测试环境下,千兆网络带宽,Linux系统迁移速度约80~90MB/s,Windows系统迁移速度约50~70MB/s,比如迁移60G数据,预计时间需要大概在15分钟左右。
(3) 在大部分工程实践中,迁移速度经常受限于源和目标的磁盘块IO读写速度。因此可以通过第三方工具测定磁盘IO性能。建议使用IOMeter,测试模式参数为:64k块,1worker,顺序读写模式。
另外,随着迁移方式选择的不同,用户业务中断的时间也是不一样的,具体如下表所示。
迁移方式 |
业务中断情况 |
外部云虚拟机关机迁移 |
业务服务器一直处于关机状态,用户业务一直中断,可选择迁移完成后是否启动虚拟机 |
外部云虚拟机开机迁移 |
业务服务器短暂关闭,中断时间短 |
CAS异构平台迁移服务关机迁移 |
业务服务器一直处于关机状态,用户业务一直中断,直至迁移完成启动虚拟机 |
CAS异构平台迁移服务开机迁移 |
业务服务器一直处于开机状态,用户业务不中断 |
导出导入OVA、OVF迁移 |
业务服务器一直处于关机状态,用户业务一直中断,直至迁移完成启动虚拟机 |
重新部署和数据库迁移 |
无状态业务重新部署不中断业务,数据库数据迁移可以采用全量增量迁移方式不中断业务 |
跨集群云彩虹迁移 |
支持在线迁移,用户业务不中断,若待迁移虚拟机的磁盘在NFS类型的存储池上,且磁盘缓存方式为一级虚拟缓存(None)或者直接读写(Directsync),请先关闭虚拟机后再迁移,这种情况下业务中断。 |
通过后台操作迁移VMware虚拟机 |
业务服务器一直处于关机状态,客户业务一直中断,直至迁移完成启动虚拟机 |
外部云功能可以纳管VMware平台中的主机集群及虚拟机,并可以将VMware中的虚拟机平滑迁移至管理平台中。迁移过程无需安装代理、PE等工具,一键迁移,极大降低了迁移的操作复杂度,并且迁移速度快,业务中断时间短。
纳管、迁移VMware vSphere虚拟机至CAS的方法,请参考《H3C CAS VMware国产化替代最佳实践》。
对于用户业务系统迁移到CAS虚拟化平台的场景,迁移方法和工具主要有支持P2V和V2V的CAS异构平台迁移服务,导出导入OVA/OVF文件再导入到CAS的迁移方式,重新部署和数据库迁移,同构跨集群云彩虹迁移,通过后台操作迁移VMware虚拟机等五大方式。
通过异构平台迁移功能,可以将x86服务器,包括传统硬件架构、CAS平台虚拟机、异构云平台虚拟机,迁移到CAS虚拟化平台。该功能将安装了迁移客户端的物理服务器或虚拟机,作为待迁移的源设备,将CAS中的虚拟机作为迁移的目的虚拟机,通过迁移源设备的磁盘数据,实现P2V及V2V迁移。
对于CAS异构平台迁移服务,磁盘增量迁移/增量备份时,有如下限制:
项 |
限制 |
单卷/单盘容量 |
· 最大容量<=128TB · 32TB以下有较好的热迁移效果 |
增量大小 |
增量间隔时间内,允许数据变化范围<=1TB |
· EXT2/EXT3/EXT4文件系统执行精简迁移时,单文件系统容量需小于64TB。
· 异构平台迁移需要单独的License,在使用异构平台迁移功能前,请先完成注册。注册的详细步骤请参见《H3C CAS本地授权 License使用指南》。
¡ CAS集群重新安装后,之前的迁移授权会失效,需要重新再下载硬件码并注册License。
¡ 对于双机环境,如果主节点注册了异构迁移的授权,集群主备切换后无法再进行迁移操作,如果需要迁移,请将管理节点切换到原主节点。
· 必须使用CAS双机主节点的IP为迁移平台IP,不能使用虚IP。
· 如果使用测试License,只有1个月授权,过期后需要续期License。
· 迁移任务执行过程中,如果源设备被删除,迁移任务会失败,但无法在管理平台中删除此任务,此时需要重新新建源设备(与被删除的源设备一致)使任务可以继续,或联系技术支持删除该任务。
· 更多使用限制请参见对应版本的版本使用指导书,或者联系技术支持。
异构平台迁移过程分如下几个步骤:
(1) 申请相应的迁移License。
(2) 从CAS虚拟化平台下载迁移客户端。
(3) 在源设备安装客户端,源设备与CVM连接,并上报设备状态,CVM获取源设备信息。
(4) 目标虚拟机挂载PE镜像。
(5) 目标虚拟机通过PE镜像引导,配置TargetClient,通过Target_Client与CVM并上报目标虚拟机设备状态,CVM获取目标虚拟机信息。
(6) 用户创建并启动迁移任务,客户端获取迁移指令。
(7) 开始迁移系统盘和数据盘。
图4 业务迁移流程概述
将VMware vSphere中的虚拟机Win7_64,迁移到CAS虚拟化平台中命名为Win7-dest的虚拟机中。
图5 配置需求
(1) 选择顶部“云业务”页签,单击左侧导航树[异构迁移平台]菜单项,进入异构迁移平台概要界面。单击“客户端下载”页签。客户端代理的服务器IP地址默认为CVM管理网IP地址。
当CVM管理网IP地址变化后,可以通过“客户端下载”页签中的<更新客户端代理IP地址>功能,来更新服务器IP,将客户端代理的服务器IP地址更新为变化后的CVM管理网IP地址。该功能只有在迁移License激活后才能使用。
(2) 根据操作系统选择所需的客户端,单击对应的下载链接进行下载。
下载客户端有以下两种方式:
¡ 直接下载对应的客户端安装包。(建议Windows系统使用此方式)
- 针对Windows操作系统,下载的是Clone_Client_Win.exe文件,直接将该文件拷贝到客户机。
- 针对Linux系统,下载的安装包为zip压缩包,名字通常以Clone_Client开头(如Clone_Client_Redhat5x86_64.zip)。解压缩后使用FTP工具将已经解压缩的客户端安装包传输到客户机。
¡ 复制客户端URL下载链接。(建议Linux系统使用此方式),然后选择匹配的客户端安装包,单击图标,生成URL下载链接,复制下载链接至客户机的命令行(提前连接客户机),下载客户端安装包。
图6 下载迁移客户端
建议安装客户端前关闭源设备防火墙及相关安全策略。如源设备为云平台虚拟机,请确认安全组策略是否已开放迁移工具端口(防火墙及安全策略需要开放的端口有TCP端口4301、4302、4305、9980、9981)。
(1) 进入源设备控制台。
图7 进入控制台
(2) 双击客户端安装程序Clone_Client_Win.exe,弹出选择安装语言窗口,如下图所示。选择安装时要使用的语言,单击<确定>按钮。
图8 选择安装语言
(3) 同意许可协议,选择安装路径,开始安装。当弹出如下图所示的窗口时,选择安装CDP驱动程序。
图9 安装CDP驱动
(4) 安装完成后需要重启源设备,完成安装。
对于Windows系统的源设备,重启会导致业务中断,请合理安排重启时间。
图10 安装完成
(1) 使用SSH工具登录到源设备,查看操作系统的内核版本。
图11 查看操作系统内核
(2) 解压客户端安装包(参考命令:unzip Clone_Client_xxx.zip),进入解压目录。
(3) 执行安装命令./install.sh运行脚本进行安装。
图12 安装客户端
(4) 根据客户端内核版本选择匹配的驱动,某些客户端需要手动按提示输入“Y”。
请根据如下规则选择驱动:
· 本机内核后缀必须相同,内核后缀如“default”、“ky”、“xen”等。
· 与本机内核完全匹配的驱动,或与本机内核版本接近,但版本比本机内核小的驱动。
图13 选择内核
(5) 根据操作系统信息,选择对应的EFI(本步骤非必选步骤,安装客户端过程中涉及到EFI的选择才需要执行该步骤)。
图14 选择EFI
· 需要设置EFI的操作系统:客户机源机是UEFI或者EFI引导的情况下,安装客户端需要选择EFI固件文件。
· EFI设置的规则:通过命令查看虚拟机的EFI类型,如下图中选择shimx64.efi。
(6) 出现“install/start CAS succeeded!”,说明安装客户端成功。如下图所示。
图15 安装成功
选择顶部“云业务”页签,单击左侧导航树[异构迁移平台]菜单项,查看安装了迁移客户端的设备已经出现在“源设备”列表中,等待配置迁移任务。
源设备名称默认取操作系统的计算机名。
图16 查看源设备
H3C提供了Win10PE、Centos7PE两种PE的iso,分别用于Windows系统迁移和Linux系统迁移。目标虚拟机需要挂载对应的PE镜像,才能配置TargetClient,因此,配置虚拟机前,请确保获取对应的镜像文件,并上传至CAS虚拟化管理平台。
· Win10PE:如果迁移源设备的系统是Windows,则需要在目标设备运行Win10PE。
· Centos7PE:如果迁移源设备系统是Linux,则需要在目标设备运行Centos7PE。
在CAS虚拟化管理平台,创建虚拟机,作为迁移的目标虚拟机。创建的虚拟机的磁盘容量和大小,都不能小于源设备的磁盘。
· 如果源设备操作系统为Windows2012、Suse10或者Linux源机内核版本低于2.6.25(不含2.6.25)的老旧Linux源系统,在CAS创建目标虚拟机时,总线类型要选择IDE硬盘。
· 请在迁移前计算和评估要迁移的虚拟机的磁盘总容量,提前规划。
图17 创建虚拟机
(1) 在目标虚拟机上运行挂载PE镜像。单击<修改虚拟机>/<光驱>,为虚拟机挂载PE镜像。
(2) 启动虚拟机,进入虚拟机控制台。PE镜像引导自动运行TargetClient程序,进入“H3C云迁移平台”。
图18 启动TargetClient
(3) 单击<网络配置>按钮,为目标虚拟机添加网络,用于目标虚拟机与CVM通信。配置好后,单击<确定>,完成添加网络。
此处添加的网络,是一个临时的IP地址,仅用于虚拟机与CVM间的通信,当虚拟机重启后,IP地址消失。迁移完成后可根据网络规划重新配置虚拟机的IP地址。
图19 配置虚拟机临时IP
(4) 在H3C云迁移平台中,输入CVM管理平台IP地址,输入本机名(限定30字符)用于在管理平台标识本机。还可以根据需要,指定本虚拟机IP,与CVM建立连接。配置好后,单击右侧箭头图标登录。
指定本机IP为可选项,未指定情况下,本机IP默认为本机连接到迁移平台的缺省IP。在多IP、浮动IP、公网IP等场景下,如果源设备无法访问缺省IP,则指定本机IP,源设备将通过此IP连接到本机进行数据迁移。
图20 配置TargetClient参数
(5) TargetClient与CVM连接,显示TargetClient已经登录CVM,目标虚拟机已登录,等待配置任务。
图21 目标虚拟机登录
(6) 选择顶部“云业务”页签,单击左侧导航树[异构迁移平台]菜单项,查看虚拟机已经出现在“目标虚拟机”列表中,作为迁移的目标虚拟机。设备状态为在线,只有在线状态的虚拟机,才能作为迁移任务的目标虚拟机。
此处的设备状态,指TargetClient是否与CVM正确连接,如连接正常,仍无法配置迁移任务,请查看是否存在网络地址冲突等问题。
图22 目标虚拟机添加成功
(1) 创建迁移任务。选择顶部“云业务”页签,单击左侧导航树[异构平台迁移]菜单项,单击<创建迁移任务>按钮,弹出创建迁移任务页面。请仔细阅读注意事项,勾选“我已阅读注意事项”,然后单击<下一步>按钮。注意事项如下:
¡ 提前进行业务安排:迁移过程会占用待迁移服务器网络带宽和计算性能,迁移割接时业务会中断,请提前评估,尽可能在非业务高峰期进行迁移,并妥善安排业务割接时间。
¡ 迁移前的准备:请确认待迁移服务器的操作系统在产品兼容性列表中,且目标环境中有足够的硬件资源承载目标虚拟机运行,避免迁移后产生无法启动或其他兼容性问题,导致迁移回退。
¡ 迁移后业务运行:迁移后,部分硬件可能需要重新加载驱动或更新驱动。部分硬件资源可能会发生变化(如网卡MAC地址、硬盘盘符变化等),如果存在与硬件绑定的应用,需从应用侧做相应调整。
(2) 进行目标匹配。选择待迁移的源设备、目标虚拟机。
图23 选择源设备与目标虚拟机
(3) 选择迁移的磁盘,并匹配目标磁盘,单击<确定>按钮。勾选需要迁移的源设备磁盘,所有被勾选的源设备磁盘,都必须匹配相同或更大容量的目标磁盘。如果源设备磁盘是动态盘,目标磁盘和源设备磁盘大小必须相同。
· 仅系统盘和数据盘是可选状态。
· 目标磁盘的数据,包括分区表会被擦除,迁移后将被完全还原成与源设备磁盘一致的数据。
· LVM没有对应的物理磁盘,是一个逻辑盘,它存在于物理盘之上,所以无需为LVM选择目标磁盘。
(4) 进行任务配置,配置自动增量迁移周期、迁移限速、迁移方式、通道压缩。单击<立即启动>按钮,开始迁移。也可单击<保存任务>按钮,暂时不启动,待需要时,从迁移任务列表启动迁移。
· 迁移任务一旦创建,即将迁移授权下发给源设备。一个源设备占用一个授权点数。源设备获取授权后,可以针对一个迁移任务多次执行迁移,也可以创建多个迁移任务(第一个迁移任务结束后需要删除该迁移任务,才能再基于该源设备创建迁移任务进行第二次迁移)。
· 授权一旦下发,不能取消。如因网络等原因,导致迁移任务未成功创建,授权也不会回收,此时请排查原因,重新创建迁移任务。
· 根据实际网络情况设置参数,如果网络较佳,迁移速度建议为50MBps;自动增量迁移周期建议为30分钟;迁移方式默认为“精简迁移”,精简迁移仅对磁盘有效数据块进行复制,全盘迁移即进行全盘整体迁移。
· 可选择是否对源设备数据压缩后再传输。开启通道压缩可以减少迁移带宽需求,但会增加源设备资源消耗,可能会影响源设备运行。不开启:不压缩,直接传输磁盘数据,需要占用较多网络资源;压缩率优先:对数据压缩50%后迁移(压缩率较高),需要占用较多CPU资源;性能优先:优先保证源设备性能,对数据压缩30%后迁移(压缩率较低),占用较少的CPU资源。
图24 迁移任务配置
(5) 查看迁移任务列表。单击“迁移任务”页签,进入迁移任务列表,查看迁移任务已经成功创建。迁移任务列表每隔30秒自动刷新。
迁移任务默认以源设备名称命名。
图25 迁移任务列表
(6) 查看迁移任务详情。直接在迁移任务列表单击源设备名,进入迁移任务详情页面,可以查看任务进度、设备信息、日志。
迁移任务的进度,是通过定时采样计算的,当一个迁移任务中有较多磁盘时,有可能出现整体进度没有及时刷新的情况,此时请耐心等待进度刷新,并不影响迁移任务。也可以通过查看设备信息中具体每个磁盘的迁移状态,了解迁移进度。
图26 查看迁移任务详情
(7) 结束任务。迁移任务完成后,需要手动执行结束,否则迁移任务会按照配置的自动增量迁移周期,自动周期性地进行迁移。请先将源设备相应服务停止,防止新数据产生,再点击结束。在迁移任务详情界面,单击<结束>按钮,结束迁移任务。
· 在配置任务的时候,也配置了自动增量迁移周期,用于在迁移任务执行过程中,对源设备已迁移的数据变化进行增量迁移的周期。自动增量迁移会在手动结束任务前,一直周期性进行。
· 未手动结束迁移任务前,可以通过<立即增量迁移>功能,手动执行多次增量迁移,将源设备新增数据同步到目标虚拟机。
· 手动结束任务时,也会自动执行一次增量迁移,但是一旦任务结束了,即不能对同一个源设备新增的数据进行迁移了,只能通过<还原配置>重新配置任务,进行完全的迁移。
(8) 手动结束任务后,迁移任务显示为“迁移完成”状态。
当出现下述情况时,需要手动导入所需的驱动:
· 如果迁移后目的虚拟机蓝屏或者黑屏,或者虚拟机可以启动,但是有磁盘不能识别或者键盘等外设不能使用,并且在尝试修改了目的虚拟机的磁盘控制类型后,依然无法解决时,请手动导入所需的驱动。
· 当Windows蓝屏或出现007B错误时,需要手动导入所需的驱动。
· 当系统检测到源设备和目标虚拟机存在驱动兼容风险时,会在迁移详情页面提示该风险。待迁移结束后,需要手动导入所需的驱动,避免因为驱动不兼容,导致目标虚拟机无法启动。
(1) 在任务详情界面,单击<驱动配置>按钮,弹出驱动配置对话框。
图27 驱动配置
(2) 单击<导出硬件信息>按钮,目标设备的磁盘的硬件信息将会以“.txt”文件的形式被导出。(如果没有自动弹出下载,请至浏览器下载目录下找到此txt文件,名字为“目标虚拟机名称驱动硬件信息.txt”,打开文件,查看所需驱动信息,即适配的系统信息。
图28 导出硬件信息
(3) 制作驱动程序文件。用待导入的驱动文件(通常Windows驱动为“.sys”或“.inf”文件,Linux驱动为“.ko”文件)生成zip压缩包(包内不要有多层目录),并命名为mptspi.zip。
(4) 将压缩包mptspi.zip导入管理平台。单击<导入>按钮,在弹出对话框将驱动程序导入管理平台。
图29 导入驱动
(5) 完成驱动导入后,TargetClient提示手动注入驱动程序,单击<驱动注入>按钮,将驱动安装到目标虚拟机中。
图30 注入驱动
(1) 进入目标虚拟机控制台。
(2) 在弹出的提示框中,单击<确认>按钮,重启目标虚拟机。
重启虚拟机时,如果出现无法进入系统,提示找不到分区或磁盘等情况,需要关闭电源,重新启动,并在重启过程中选择CAS引导启动。
若需要将CAS引导启动设置为默认启动项,请参见Linux虚拟机迁移后修改默认启动项进行设置。
图31 重启目标虚拟机
(3) 输入登录用户名和密码,进入目标虚拟机,查看目标虚拟机已经完全迁移了源设备的数据。
目标虚拟机用户名和密码默认和源设备一致。
图32 登录目标虚拟机
(4) 卸载目标虚拟机挂载的PE镜像。在该虚拟机详情页,卸载所挂载的PE镜像。
本章节指导用户修改grub启动项,将CAS引导启动设置为默认启动项。
以下列出常见操作系统的修改方式,若不适用,请联系技术支持。
· Redhat7.2(Centos7.2)及以上版本
(1) 查看可以修改的内核选项。
(2) 修改默认内核。
(3) 验证是否成功,并重启服务器。
· Redhat7.2(Centos7.2)之前的版本、Ubuntu版本
(1) 查看可以修改的内核选项。
(2) 查看grub配置文件,修改default=0 中的值,修改为对应值,如下图中CAS BOOT Entry是第二项,将default=1。
· SUSE版本
(1) 查看可以修改的内核选项。
(2) 修改grub启动项,vi /boot/grub/menu.list;将default 0后面的0修改为对应的值;如下图中CAS BOOT Entry是第4项,将default=3。
当客户端安装错误或失败时,请参照本章节卸载客户端后再重新安装。
(1) 在所有程序中找到DSagent,选择“卸载DSagent”。
(2) 在弹出的“Dsagent卸载”对话框中,单击<是>按钮。
(3) 卸载结束后,在弹出删除安装目录确认框中,单击<是>按钮,删除安装目录。
(1) 进入客户端文件的安装目录。
(2) 执行目录下的uninstall.sh脚本。
请参见随软件版本发布的《H3C CAS服务器虚拟化产品 软硬件兼容性列表》。
支持物理机、常见虚拟化平台(VMware,Xen等)虚拟机迁移到CAS平台。
· Linux源机内核版本若低于2.6.25(不含2.6.25)的老旧Linux源系统迁移后将无法兼容virtio,建议修改目标虚拟机的磁盘控制器类型为IDE或者SATA。
· Windows2012因为其驱动和内核管理的特性限制,建议目标虚拟机磁盘控制器选择为IDE;迁移不受影响,可支持virtio。
在实际迁移项目中,典型问题有包括兼容性、驱动和客户端等问题,比较典型的问题和注意事项如下。
数据盘脱机有两种情况,一种是操作系统发现硬件环境更换了将数据盘离线,另一种是数据盘是业务集群软件管理的,管理软件将其离线了。一般都是迁移后手动联机即可,对业务没有影响。
以某银行项目的Windows 2008虚拟机为例,迁移后出现数据盘脱机问题,将磁盘重新联机即可。
(1) 客户端安装包类型如下。
(2) 客户端安装包选择说明。
Windows系统
Windows系统的客户端只有一个,适用于所有类型的Windows系统。
Linux系统
¡ 打开终端,查看RedHat、Centos和kylin 2.6.32的系统版本,示例如下:
说明示例中的系统版本是RedHat 6.4。
说明示例中的系统版本是Centos 7.4。
说明示例中的系统版本是NeoKylin 3.2.2。
¡ 有些NeoKylin版本会直接显示为RedHat类型。如果遇到此情况,可直接按照RedHat版本选取客户端,具体操作步骤如下。
打开终端,查看SuSe、Ubuntu和Ubuntu kylin的系统版本:
说明示例中的系统版本是SuSe 12 SP2。
说明示例中的系统版本是Ubuntu 14.10。
说明示例中的系统版本是Ubuntu 18.10,但其真实系统是Ubuntu Kylin。
¡ 需要特别注意的是有些Ubuntu Kylin版本会直接显示为Ubuntu类型。如果遇到此情况,可直接按照Ubuntu版本选取客户端,具体操作方法如下:
打开终端查看客户端机器内核详情,如果系统显示和以下示例相似,请下载X86_64类型的客户端:
打开终端看客户端机器内核详情,如果系统显示与以下示例相似,请下载X86类型的客户端:
若参照上述方法,仍然无法成功安装客户端或客户端安装后无法正常启动服务,请联系技术服务工程师,进行远程协助。
(1) 选择正确的CDP驱动。
驱动选择的正确示例如下:
驱动选择:1
(2) 驱动选择界面说明。
Linux Kernel Infomation是当前系统的内核信息,根据系统内核信息选择Support Driver List列出的cdp驱动。
驱动选择规则:
· 规则1:本机内核后缀必须相同,内核后缀如“default”“ky”“xen”等。
· 规则2:与本机内核完全匹配的驱动,或与本机内核版本接近,但版本比本机内核小的驱动。
(3) 检查驱动安装结果。
打开终端,查看驱动是否加载成功,正常加载示例如下:
如未加载驱动,请卸载客户端,再重新安装客户端。重新安装时需使用系统超级管理员(root)权限安装。
您可以尝试安装所有可以匹配的驱动。如果所有的驱动安装都报类似于如下错误,说明没有兼容适配您的操作系统内核的驱动。请联系技术服务工程师,提交驱动定制需求。
insmod: ERROR: could not insert module cdp.ko: Invalid module format
如确认驱动已经正常加载,但日志中仍然存在报错,在终端中输入以下命令,进一步确认驱动是否正常工作:
cat /var/log/messages | grep -i cdp
如上示例,检查cdp版本号是否显示完全,若cdp版本号显示不完全,说明驱动无法正常工作,此情况下需要定制驱动以适配您的操作系统内核,请联系技术服务工程师,提交驱动定制需求。
(4) 驱动定制步骤。
¡ 打包文件
打开终端,打包内核定制的相关文件,正确示例如下:
tar -jcvf `uname -r`.tar.bz2 /usr/src/kernels/`uname -r`
或者
tar -jcvf `uname -r`.tar.bz2 /usr/src
需要特别注意的是,执行如上命令,会在当前目录新建一个tar.bz2压缩包文件,文件名为uname –r命令结果。
最终打包结果示例如下:
若命令执行时报错,请检查您的命令输入是否正确,建议您不要直接复制粘贴文档中的命令到终端执行,可能会因为格式的差异而导致命令执行出错。如果命令格式输入没有问题,则检查您的系统内是否有安装tar命令软件包。若tar命令软件包已经安装,还是打包出错,请联系技术服务工程师,进行远程协助。
¡ 提供gcc版本。
打开终端,查看gcc版本,正确示例如下:
如未显示版本,您的系统可能没有安装gcc软件,可使用Yum安装一个版本,或者联系技术服务工程师,并提供当前系统镜像。
¡ 提供当前内核版本。
打开终端,查看当前内核版本,正确示例如下:
¡ 提供系统版本信息。
打开终端,查看系统版本信息,正确示例如下:
不同的系统查看版本的命令也不同,如上示例的三个结果提供其中一即可。
¡ 拷贝boot目录中的config文件。
打开终端,参照当前系统内核版本拷贝当前内核的config文件,正确示例如下:
要特别注意的是,如当前系统做过内核版本升级,只需拷贝当前内核的config文件。
请将以上信息全部打包,并联系技术服务工程师,提交驱动定制需求。
(5) 安装客户端时,执行sh xxx.sh报错。
现象描述
问题原因
该问题主要是因为Ubuntu系统默认的脚本执行环境是dash shell,bash shell的脚本运行命令在此无法使用。
解决方法
a. 解压客户端安装包:打开终端,进入客户端安装包所在目录,解压客户端安装包,正确解压示例如下。
b. 查看客户端安装包内容。
c. 安装客户端。
如果您参照以上所描述的方法,还是无法成功安装客户端或者客户端安装后无法正常启动服务,您的系统内可能有某些特殊的配置是目前客户端所没有兼容到的,请联系技术服务工程师,进行远程协助。
(6) 安装客户端时报错“CDAP already installed,Please Uninstall first!”。
现象描述
问题原因分析
该问题主要是因为客户端曾经安装过,但没有卸载或者没有卸载干净,需先卸载,才可以重新安装。
处理办法
a. 打开终端,在安装包内找到CDAP-6.0.0-1目录,示例如下。
b. 如未找到,请再执行一遍客户端安装操作。
c. 单独卸载客户端。
如照上述方法依然无法卸载客户端,请联系技术服务工程师,进行远程协助。
(7) 安装客户端时报错,cat:写入错误:断开的管道。
现象描述
问题说明
该问题并不是所有机器都会出现,即使出现也不会影响客户端的安装和运行。
处理方法
您可以忽略该问题。
需要特别注意个别机器出现该报错可能会导致机器卡死,如需安装客户端的机器长时间运行而没有重启过,为避免出现意外死机的情况,在安装前请一定要先重启机器。
如安装时出现机器卡死现象,您可以重启机器再次安装。个别现象如果机器重启后,还是会卡死,您的机器可能需要释放内存或者停止一下业务再次安装,如参照上述方法依然会卡死,请联系技术服务工程师,进行远程协助。
(8) 安装客户端到uefi机器的时候,碰到efi文件的选择。
现象描述
问题原因分析
该问题主要是因为客户端安装过程中,会将本机所用的efi文件添加到datasure启动项,会搜索并列出,系统中所有的*.efi文件。
处理办法
打开终端,查看本机的efi类型,查看步骤示例如下:
efi类型选择:grubx64.efi
如上示例,即使选错efi类型也不会影响您的迁移过程,只是目标机器使用DataSure内核启动项启动时,可能会启动失败。如出现该情况您可以尝试使用源端机器的内核启动项启动,如参照上述方法依然无法启动,请联系技术服务工程师,进行远程协助。
(1) 提示警告“Slave error code is:a0000021”。
问题原因分析
该问题主要是因为源端机器与目标端机器之间通信异常。
处理方法
源端机器是linux,打开终端,在源端机器使用telnet查看与目标端机器的4301、4302端口通信是否正常,正常通信示例如下。
如telnet未登录成功,需检查源端与目标端之间是否有防火墙,请将4301和4302端口设为例外。如目标端是云主机,除检查本地防火墙配置外,您还需检查云端的安全策略中,目标端机器的4301和4302端口,在出入方向是否均可通信。目标端是否有指定与源端机器通信的IP,下图中的119.3.8.97即为指定与源端机器通信的IP。源端与目标端同时在线,不能证明两端数据传输没有问题,只能说明源端和目标端与控制端通信正常。
(2) 提示警告“Slave error code is:a0000034”。
问题原因分析
以上问题说明,数据在从源端传输到目标端的过程中出现了问题,在某些情况下,数据甚至没有走出源端就已经被迫断开。
解决方法
¡ 绝大多数情况下是因为传输网络问题,传输网络不稳定,时连时断,会出现此警告。如果迁移过程中,出现了此警告,但数据传输一直是继续进行的,说明网络断开的时间在程序的允许范围内,不影响迁移结果,这种情况下,该告警可忽略。
¡ 如果传输网络为电信网络,实际数据传输速度超出带宽限制,数据传输一段时间后会被强制中断,此时需将传输速度限制在实际带宽范围内,设置传输速度示例如下。
迁移速度限制按照数据传输网络的实际带宽大小进行修改。数据传输网络环境中设置有流量控制功能,在传输数据量到达一定数值后,数据传输被强制终止。
¡ 源端机器磁盘存在坏道,此时日志中除了会有a0000034的警告外,其中迁移过程中会出现,进行到某个特定的进度后,会停止一段时间,然后变为暂停状态,此时手动开启迁移,进度重新变为从零开始。
¡ Web上勾选了无效的硬盘。
(3) Web显示迁移状态一直处于“设备正在迁移增量数据”状态,半个小时、一个小时甚至更长时间都处于这个状态
问题原因分析
以上结果说明,在进行业务在线热迁时,源端产生的增量数据在一段时间内一直无法完成同步,旧的数据还没有同步完,新的数据就已经产生,使客户端一直处于同步增量数据的状态。
解决方法
¡ 尽量挑选业务不繁忙的时间迁移,减小源客户端磁盘数据的变化量。
¡ 配置迁移任务时,可将“自动增量迁移时间间隔”参数设置的大一点,具体参数需根据实际情况设置,示例如下:
(1) 迁移后目标设备黑屏,找不到磁盘,无法正常进入系统。
问题现象
迁移后的机器无法正常启动,黑屏也或卡在某个界面,问题现象多样,但最终都无法进入系统。
问题原因分析
¡ 有可能fstab中使用的是/dev/sda之类的名称,迁移后磁盘变为vda,导致无法启动,需要修改。
¡ 有可能是源主机机的驱动不适用于目标端的环境或者第一顺序启动的磁盘非系统盘,也可能是某些云平台不支持的系统加引导组合或迁移过程中目标端数据遭到破坏等。
解决方法
¡ 确认迁移结束后,在目标端中关闭迁移界面,虚拟机自动重启。在云平台环境中一般表现为,使用云平台界面上的操作按钮重启,此时如果迁移后的目标端机器启动黑屏,可尝试重新引导ISO镜像,使目标端重新上线,进行“立即数据校验”操作。
¡ 确认迁移结束后,在目标端镜像内使用命令重启或使用按钮重启,此时启动黑屏,可尝试更换底层磁盘控制类型,比如更换为IDE类型、VirtIO等。
¡ 某些情况下,源端机器的系统盘可能不是第一块盘,此时可根据源端机器磁盘顺序,设置目标端磁盘的启动顺序。
¡ KVM不支持的两个系统类型与引导类型的组合:
- Windows系统:Windows 2008 SP2 64位UEFI引导方式的系统启动时会黑屏,此时必须要将UEFI改为MBR,才可以在KVM为底层的云平台正常启动;
- Linux系统:Centos6.x系统如果是UEFI引导且磁盘控制类型为VirtIO此时启动也会黑屏,比如目前Centos6.2版本出现不支持的情况,此时可将磁盘控制器类型改为IDE。
(2) 迁移后目标设备蓝屏,蓝屏代码为0x0000007B。
问题现象
问题原因分析
一般是平台的兼容性所致。
解决方法
尝试修改目标设备磁盘控制器驱动类型为匹配的类型,例如改为IDE/SATA/Virtio后再次启动。注意:请一定确认目标端机器重启前,已经做过了驱动注入操作。
(1) 在https模式的CAS平台页面中虚拟机VNC无法打开。
问题现象
问题原因分析
HTTPS模式的CAS平台没有设置虚拟机VNC代理。
解决方法
打开虚拟机的网页控制台前,若登录CVM管理平台的方式为HTTPS,则需先开启虚拟机的VNC代理,再将代理服务器设置为CVM管理平台的IP地址或者虚IP地址,并设置ssh的root账号密码,单击<修改虚拟机>按钮,选择[更多/VNC代理设置]菜单项。
(2) 迁移后Windows系统因为安全软件无法安装CAStools。
问题原因分析
由于源虚拟机使用了类似卡巴斯基安全杀毒软件,使用CAS异构平台迁移服务完成迁移后Windows系统因为安全软件,将安装文件误认为是病毒文件删除,无法安装CAStools,安装失败。
解决方法
设置安全杀毒软件白名单,将CAStools安装路径加入白名单,或者卸载安全杀毒软件,若不熟悉自己的安全软件,建议联系专业支持人员一起处理。
(3) 网络不好导致迁移数据问题,迁移后Linux系统进入紧急模式,无法正常启动。
问题原因分析
网络不好导致迁移数据问题,迁移后mount文件系统未正常挂载,但是界面能显示迁移校验成功,迁移后Redhat系统进入紧急模式,无法正常启动,迁移日志报一些a00000034错误和源设备离线错误。
解决方法:
一方面保证网络质量良好,再重新进行CDP迁移,可以通过ping查看迁移源端到目标端的网络丢包情况;另一方面,在完成CDP迁移后,目标虚拟机先不着急重启,先手工检查系统文件能否正常挂载,实际redhat7的案例如下命令:
mkdir data
mount /dev/mapper/rhel-root data
ll data
cat /data/etc/fstab
umount data
检测文件系统都能正常挂载再重启目标虚拟机。
通过后台拷贝镜像的方式,从其它平台将虚拟机迁移到CAS平台后,使用高速硬盘挂载,虚拟机黑屏无法正常启动。
此时可以查看该虚拟机的操作系统版本是否是正版或者使用激活工具激活过。如果是盗版或虚拟机内部系统异常破解版本,会引起副作用,导致了兼容性问题。如果是该种情况请按照如下步骤操作:
· 挂载IDE格式磁盘,启动虚拟机,重新将激活工具上传到虚机中,在虚拟机中运行激活工具。
· 安全关闭虚拟机,把虚拟机磁盘换成高速磁盘,启动虚拟机,虚机可以正常进入系统。
suse 11操作系统的设备迁移完成后,在重启虚拟机前,需要在PE引导的系统内先修改suse 11系统中的对应配置文件,再重启虚拟机。
· 修改前请确保所用账号具有修改文件的权限,可使用例如sudo vi /etc/fstab和sudo vi /boot/grub/menu.lst命令。
· 文件修改完成后,需保存退出,使修改生效。
(1) 挂载迁移后系统的目录(非PE系统目录),修改“/etc/fstab”和“/boot/grub/menu.lst”两个配置文件。
(2) 在这两个文件中,我们需要找出每一个如下所示的名称。
/dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part1
(3) 然后把它们改成“/dev/sda1(与当前识别的磁盘分区保持一致)”。
分区名称对应如下所示:
· /dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part1 > /dev/sda1。
· /dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part2 > /dev/sda2。
OVF(Open Virtualization Format,开放虚拟化格式)定义了开源的虚拟机文件格式规范。OVF模板可以实现虚拟机在不同虚拟化管理平台之间相互兼容。目前在CAS虚拟化平台可部署由UIS、VMware vSphere、Oracle VM和中兴iECS等虚拟化平台导出的OVF模板。
导出/导入OVA、OVF迁移应注意事项如下:
· 当前迁移方式需在关机状态下执行。
· CAS虚拟化平台支持部署“tar.gz”、“zip”和“ova”格式的虚拟机模板文件。若从第三方虚拟化管理平台中导出的虚拟机模板是文件夹或ovf形式,请先将文件夹压缩成目标格式,再进行部署操作。
· 由于CAS虚拟化平台上传OVF模板所耗费的时间与虚拟机镜像文件实际占用的磁盘空间大小密切相关。建议在部署OVF模板之前,调整系统参数中的闲置超时时间(具体操作步骤请参见系统章节-系统参数配置),使CAS虚拟化管理平台的闲置超时时间大于OVF模板文件的上传时间,确保OVF模板文件在上传过程中不会中断。
· 跨平台的OVF模板部署完成后,虚拟机需要在线安装CAStools,再离线修改磁盘总线类型为高速硬盘,以最大程度发挥磁盘I/O性能。
· 系统暂不支持部署存在磁盘分片的OVF模板。
下面将以VMware vSphere为例介绍配置过程。
(1) 在VMWare ESXi平台中,将虚拟机VMwaretools卸载,关闭虚拟机,然后选择“文件/导出OVF模板”,导出配置中,需要选择导出格式为“单个文件(OVA)”。
(2) 登录CAS管理页面,选择顶部“云资源”页签,单击左侧导航树[计算/主机池/<主机名>]或者[计算/主机池/集群/<主机名>]菜单项,进入主机概要信息页面。
(3) 单击<更多操作>按钮,选择[部署OVF模板]菜单项,弹出部署OVF模板页面。
图33 导入OVF模板
(4) 根据配置向导完成虚拟机的部署。
云彩虹实现了当前CAS数据中心与其他CAS数据中心资源的共享,是构建云间资源共享的桥梁,提供了虚拟机在不同数据中心CAS虚拟化管理平台之间在线迁移且业务不中断的功能。云彩虹管理包括增加CAS云资源、修改CAS云资源、删除CAS云资源和在CAS虚拟化管理平台间迁移虚拟机等功能。
在CAS虚拟化管理平台,“云业务/云彩虹”,可直接配置添加本地和对端CAS资源,选中源虚拟机,用鼠标拖动到目的集群的目的主机,选择对端存储池实现迁移,详细操作步骤和配置参见《CAS虚拟化管理平台帮助文档》的“CAS帮助中心/配置指导/云彩虹”章节。
图34 云彩虹实现CAS资源中的虚拟机迁移
通过后台操作迁移VMware虚拟机的方式在源端和目标端都无需安装代理或客户端,可由系统管理使用后台命令直接将VMware虚拟机镜像文件迁移到CAS云计算管理平台。但是这种方式需要离线操作,即迁移的过程中需中断业务,直至完成迁移。
(1) 将VMWare平台导出的虚机文件上传到CAS云计算管理平台的任意主机上。需要注意的是如果虚拟机文件的名称为中文,需改成英文名后再上传,否则上传后会显示为乱码。
如下图所示,将VMware系统中名为“一卡通电子支付平台-1.ova”文件名改为“1.ova”上传到主机10.10.10.151的/vms/defaultShareFileSystem0目录下。
图35 修改虚拟机文件名称
(2) 解压虚拟机镜像。如果虚机镜像文件是OVA格式需要先解压后才能转化,可使用如下命令进行解压。由于解压过程中会产生多个文件,建议把镜像放到剩余容量充足的临时文件中再进行解压。
下例中在/vms/defaultShareFileSystem目录下创建临时文件tmp,把上传的文件1.ova移到tmp下,用tar命令对1.ova文件进行解压:
root@cvknode1:/vms/defaultShareFileSystem0# mkdir tmp
root@cvknode1:/vms/defaultShareFileSystem0# ls
root@cvknode1:/vms/defaultShareFileSystem0#
mv 1.ova tmp
root@cvknode1:/vms/defaultShareFileSystem0# cd tmp
root@cvknode1:/vms/defaultShareFileSystem0/tmp# tar –xf 1.ova
(3) 进行格式转化。解压完成后找到后缀为.vmdk的文件,使用如下命令转化为qcow2格式。
qemu-img convert -O qcow2 filename oute_filename
其中filename是原镜像名,oute_filename是转化后的镜像名。本例中对应的命令为
qemu-img convert -O qcow2 -disk.vmdk ykt-1
图36 查看后缀为.vmdk的文件名称
(4) 转化完成后,将qcow2格式的镜像移到某个存储池中,以备创建虚机时使用。
本例是将名称为ykt-1的镜像移到/vms/defaultShareFileSystem0存储池:
root@cvknode1:/vms/defaultShareFileSystem0/tmp# mv ykt-1/vms/defaultShareFileSystem0
root@cvknode1:/vms/defaultShareFileSystem0/tmp# cd ..
root@cvknode1:/vms/defaultShareFileSystem0#ls
(5) 在CAS云计算管理平台创建虚拟机,并选择转化为qcow2格式后的镜像文件,总线类型选择IDE硬盘(注意:创建虚拟机时,总线类型一定要选择IDE硬盘,否则虚拟机系统可能无法正常启动)。
本例中创建虚机时选择存储池下的ykt-1镜像:
图37 选择镜像文件
图38 选择总线类型
(6) 虚机创建成功后,启动虚机并检查业务是否正常。
(7) 虚机正常运行后后,删除创建的临时文件/vms/images/tmp。
物理机的操作系统,主要分为Windows系统和Linux系统。操作系统主要是需要收集操作系统的发行版本和内核版本即可。
Windows操作系统详细信息收集
· 方法1:通过进入[计算机/属性]查看操作系统信息。
· 方法2:在命令行中使用systeminfo命令。
Linux操作系统详细信息收集
· 方法1:使用命令uname -a或者cat /proc/version查看Linux系统的内核版本信息。
· 方法2:通过命令cat /etc/issue查看Linux操作系统的发行版本,若CentOS、RedHat系统使用cat /etc/issue无法查出具体的系统版本,还可以通过命令cat /etc/redhat-release查看。
物理机的硬件配置信息主要包括CPU、内存、磁盘类型、磁盘容量、磁盘IO。
· 在[计算机/属性]中查看CPU型号、CPU位数和内存大小信息。
· 在[计算机管理/存储/磁盘管理]中查看磁盘容量及磁盘使用情况。
Perfmon(Performance Monitor)是一款Windows自带的性能监控工具,提供了图表化的系统性能实时监视器、性能日志和警报管理。通过添加性能计数器(Performance Counter)可以实现对CPU、内存、网络、磁盘、进程等多类对象的上百个指标的监控。
Perfmon是Windows自带工具,无需安装,键入命令即可打开工具,具体步骤如下:
(1) 单击[开始/搜索程序和文件],输入perfmon,回车后即可打开工具。
(2) 双击左侧导航栏的[性能监视器/数据收集器集],采用“用户定义”,右键选择“创建新的数据收集器集”配置数据收集器的信息。需要注意的是,如果没有性能收集模板(性能模板见附录)的情况下,可以选择手动创建。
(3) 配置完成后单击<下一步>按钮,选择性能计数器。
(4) 调整收集的间隔,单击<添加>按钮,添加性能计数器。
(5) 按照下图中的顺序,逐个添加要收集的性能计数器。
a. 首选要勾选“显示描述”可以看到选中指标的说明。
b. 其次开始选择要添加的指标项,比如下图中,找到“Memory”大项,然后单击右侧小箭头,找到“Available Mbytes”子项(在最下边的描述中可知指标的具体含义)。
c. 再次单击<添加>按钮,将“AvailableMbytes”计数器添加到右边的计数器列表中。
d. 最后所有计数器选择完毕后单击<确定>按钮。
(6) 确认已添加所有要监控的计数器后,单击<下一步>按钮。
(7) 选择计数器监控的输出位置,然后单击完成,在左侧菜单中找到添加成功的计数器,右键选择“属性”,右键[属性/计划]页,配置完毕后,单击<应用>、<确定>按钮。
需要注意的是,计划页是比较关键的,要收集用户服务器的业务压力,是需要持续收集一段时间的,比如一周。可以在计划页中制定收集计划,具体时间请根据实际情况进行制定,一般建议7天。
(8) 单击<开始>按钮,开始收集。在性能报告中找到已收集的报告,可以看到每项性能计数器的最大值,最小值,平均值,以及每项指标的线形图。
CPU信息收集:使用命令cat/proc/cpuinfo | grep name | cut-f2-d: | uniq-c。
内存信息收集:使用命令free –h。
使用smartctl命令查看User capacity字段,User capacity字段为磁盘总容量。
使用命令df -hT查看磁盘使用情况。
nmon是一种在各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况。
在nmon的官方网站下载对应操作系统的软件包。
下载地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download。
如果不方便下载nmon工具,可以参考Linux手工收集方法。
比如下载nmon_linux_x86_64,运行nmon,下载后给文件添加可执行权限命令:chmod u+x nmon_linux_x86_64。
然后运行命令:./nmon_linux_x86_64,即可弹出如下界面。
如上图,给出了查看各系统数据的方法,如按“c”键表示查看cpu使用情况,按“m”键可以查看内存使用情况。
可以重命名nmon_linux_x86_64为nmon并添加到/usr/bin/;/usr/local/bin等目录方便调用,之后便可以直接使用“nmon”命令运行nmon。
可以通过nmon-s5-c100-f -m/home/hobbs命令监控系统数据并写入一个文件,其中:
· -s5:每5秒采集一次数据。
· -c100:采集100次。
· -f:生成的数据文件名中包含文件创建的时间。
· -m:生成的数据文件存放的目录。
即上述命令的汉译为每5秒采集一次数据,采集100次(采集时间为500秒),采集的数据存放在/home/hobbs目录下的一个文件中,该文件的文件名包含文件创建时间。
如果要做定时采集任务,可在crontab中添加如下命令。
0 0 * * * nmon -s300 -c288 -f -m /home/hobbs > /dev/null 2>&1
以上命令自动按天采集数据,具体采集周期可自己根据实际情况确定。
生成图表文件需要使用工具,一款nmon图表分析工具的下载地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser。
下载后解压,内容如下。
其中,Word文件是使用说明,Excel文件是该图表分析工具要生成图表,生成图标的方法如下:
(1) 将Linux上生成的数据文件拷贝到Windows上。
(2) 双击打开图表工具 nmon analyser v47.xlsm。
(3) 单击上图中的“Analyze nmon data”按钮,选择从Linux上拷贝到Windows中的数据文件并单击<打开>按钮,此时自动生成性能数据的Excel图表文件并直接打开,如下图所示。
对于信息安全要求高的局点,可不需要植入工具收集信息,Linux基于如下手工命令可收集。
显示信息含义如下。
· 第一行:
¡ 12:47:09:当前系统时间。
¡ 1 days, 23:24:系统已经运行了1天23小时24分钟(在这期间没有重启过)。
¡ 1 users:当前有1个用户登录系统。
¡ load average: 6.67, 6.80, 7.04:load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
· 第二行:
¡ Tasks:任务(进程),系统现在共有701个进程,其中处于运行中的有3个,470个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有4个。
· 第三行显示CPU状态:
¡ 14.0% us:户空间占用CPU的百分比。
¡ 7.6% sy:核空间占用CPU的百分比。
¡ 0.0% ni:改变过优先级的进程占用CPU的百分比。
¡ 78.4% id:空闲CPU百分比。
¡ 0.0% wa:IO等待占用CPU的百分比。
¡ 0.0% hi:硬中断(Hardware IRQ)占用CPU的百分比。
¡ 0.0% si:软中断(Software Interrupts)占用CPU的百分比。
此处CPU的使用比率和Windows概念不同。
· 第四行显示内存状态:
¡ 26359508k total:物理内存总量。
¡ 24451923k used:使用中的内存总量。
¡ 16792696k free:空闲内存总量。
¡ 2283160k buffers:缓存的内存量。
· 第五行显示swap交换分区:
¡ 33554428k total:交换区总量。
¡ 0k used:使用的交换区总量。
¡ 33554428k free:空闲交换区总量。
用free -m命令查看Linux的内存使用情况,内存剩余量为free+buffers+cached。
iostat命令常用于Linux系统查看当前磁盘的IO状态。包括磁盘IOPS、吞吐量、响应时间、磁盘繁忙度等指标。
常用的命令为iostat -x -m 5。
其中,-x用于显示和IO相关的扩展(详细)数据,-m参数以MB为单位显示磁盘读写吞吐,5代表每五秒收集一次信息。
Linux中df命令的功能是用来检查Linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息,df -h查看当前服务器的磁盘容量及使用率。
虚拟机的迁移,主要是与平台相关,可以查看源虚拟化平台收集虚拟机对应的操作系统、规格配置和负载信息等数据,也可通过对应操作系统的指令查看。
如果存在某些特殊的业务,迁移时需要注意迁移方法,甚至禁止迁移。因此需要收集物理机中运行的业务系统类型信息。目前特殊的业务系统主要是Oracle、Oracle RAC和邮件及语音办公系统。