在某定制AMI和定制内核版本的CentOS上调查ENA驱动版本低导致的EC2不能运行在6系列机型的问题

一、背景

从IDC导入的CentOS 7.4系统,没有使用系统自带的3.10内核,而是定制了4.11内核。之前安装包含EC2需要的ENA网卡驱动,在5系列机型上可启动,在6系列机型上启动时候健康检查停留在1/2的不正常状态。查看EC2运行状态截图和EC2串口控制台,发现是网络启动失败,也就是没有识别到网卡。

本文描述了排查过程如下。

Continue reading “在某定制AMI和定制内核版本的CentOS上调查ENA驱动版本低导致的EC2不能运行在6系列机型的问题”

使用DMS向Redshift Serverless复制数据所需要的IAM Role

更新了Redshift加载IAM Role的说明

一、背景

在使用DMS向Redshift Serverless复制数据的过程中,添加Redshift Serverless为Target Endpoint,然后按下测试按钮,此时后收到报错:

Role 'dms-access-for-endpoint' is not configured properly.

根据有关文档,配置完成这个IAM Role后,开始Redshift复制任务,又会遇到错误,在DMS生成的CloudWatch日志中,出现如下错误:

2023-10-31T15:12:44 [TARGET_LOAD     ]E:  RetCode: SQL_ERROR  SqlState: XX000 NativeError: 30 Message: [Amazon][Amazon Redshift] (30) Error occurred while trying to execute a query: [SQLState XX000] ERROR:  exception name : UnauthorizedException, error type : 135, message: The requested role arn:aws:iam::1xxxxxxx:role/dms-access-for-endpoint is not associated to cluster, should retry : 0 DETAIL:     -----------------------------------------------   error:  exception name : UnauthorizedException, error type : 135, message: The requested role arn:aws:iam::133129065110:role/dms-access-for-endpoint is not associated to cluster, should retry : 0   code:      30000   context:      query:     409714[child_sequence:1]   location:  xen_aws_credentials_mgr.cpp:422   process:   padbmaster [pid=1073955240]   -----------------------------------------------  [1022500]  (ar_odbc_stmt.c:5007)

如何让DMS能够正确的连接到Redshift Serverless?

Continue reading “使用DMS向Redshift Serverless复制数据所需要的IAM Role”

CentOS 7.3从IDC导入到AWS云后的ENA和NVMe驱动安装、dracut报错修复和磁盘扩容

更新了内核小版本的提示,确保安装的内核驱动与当前使用的小版本对应,否则其他版本的内核可能会加载非最新版ENA驱动。

一、背景

1、关于IDC迁移到AWS EC2之后的ENA网卡驱动

从IDC导入了一个CentOS 7.3镜像到AWS海外Region。导入成为新的AMI成功后,在t2.small等上几代机型上可正常启动,此时使用的是vif的驱动,可执行ethtool -i eth0查看。

此时无法将本EC2的机型修改到5系列、6系列等新机型。这是不支持的,界面上不允许选取。这是由于镜像没有打开ENA Support造成的。

此时可按照AWS官网文档,正常安装ENA网卡驱动,并为本EC2开起ENA Support。操作完成后,本EC2可以切换机型到5系列机型。

Continue reading “CentOS 7.3从IDC导入到AWS云后的ENA和NVMe驱动安装、dracut报错修复和磁盘扩容”

DMS停止服务后Resume续传的测试

一、背景

当DMS配置为Full Load + CDC(又名Ongoing replication)或者配置为CDC Only后,在传输过程中,可能因为网络等原因中断,包括主动断网、被动断网等。这时候需要重新启动任务继续传输。那么此时DMS能否实现“断点续传”,也就是从停止下来的地方继续开始、而不会触发全表复制?

答案是可以的,本文档模拟环境如下。

Continue reading “DMS停止服务后Resume续传的测试”

阿里云 OSS 迁移到 AWS S3

注意:本文最初编写于2020年9月。至2023年初,本文所介绍的S3-resumable-upload工具已经不再维护(参考本文末尾Github上介绍),最新的代码和功能被合并到Data Transfer Hub。新的Data Transfer Hub是带有GUI图形界面的S3迁移工具,支持阿里云等多个公有云的对象存储服务,可一键生成复制任务,背后通过ECS容器服务进行多线程复制,且支持增量复制。详情请跳转到Data Transfer Hub的官网。本工具本身免费,复制时候需要的资源如另外拉起ECS容器按云标准收费。

一、迁移工具

Amazon-s3-resumable-upload 是 AWS S3 的迁移工具,有单机版、集群版、无服务器Serverless(Lambda)版本,可以用于本地到S3上云,国内外S3互传等场景。其中如果源站是阿里云,则暂时只有单机版本支持。

部署迁移工具需要在AWS云上创建一个EC2,使用Amazon Linux 2操作系统,并安装Python3和相关依赖库。

Continue reading “阿里云 OSS 迁移到 AWS S3”

使用Rsync为Snowball迁移后的文件系统做增量复制

一、使用Snowball迁移后的文件增量需求

一个典型的NAS迁移场景是使用Snowball将原IDC的大量数据复制到Snowball上,然后通过Snowball交运到AWS云。数据在AWS区域内,会从Snowball中提取出来,保存到S3目标存储桶内。也就是说,Snowball的交付成果是一个S3存储桶。至此Snowball迁移的流程结束。

Continue reading “使用Rsync为Snowball迁移后的文件系统做增量复制”

迁移阿里云 ECS Windows 到 AWS EC2

一、前言

企业引入多云战略后,需要将一部分云资源从某云服务商迁移到另一个,这时候就需要依赖云厂家提供的迁移工具。不过,阿里云在Windows操作系统上做了一个限制,不允许Windows的虚拟机转换为镜像。这个信息的出处在阿里云官网的这里。如下截图。

针对Linux系统可以直接export为镜像文件,然后传输到AWS云上,但Windows系统不能导出。这可能是出于对微软License管理的角度。由此给迁移造成了难度。

如果应用部署不是特别复杂,建议在AWS上直接创建新的空白的Windows,然后部署应用,将应用的配置文件等打包通过S3复制到AWS上运行。

如果原有应用不便于重新部署,例如应用开发、维护团队已经离场,开发团队人员变更、甚至解散,无法为迁移提供技术支持,那么可以采用本文的方法:即使用其他第三方工具将阿里云上的Windows提取为镜像,然后导入AWS迁移。注:导入镜像时候,默认将采用AWS提供的Windows Server License运行。

Continue reading “迁移阿里云 ECS Windows 到 AWS EC2”