预热Amazon EBS Volumes

简介: 问题描述及分析处理:最近在做AWS Cloud从CentOS6.9升级到CentOS7.4.1708,系统上跑着oracle数据库,数据量大概1.5T,准备了一个全新的CentOS7.

问题描述及分析处理:

最近在做AWS Cloud从CentOS6.9升级到CentOS7.4.1708,系统上跑着oracle数据库,数据量大概1.5T,准备了一个全新的CentOS7.4.1708 instance,


Oracle数据也都rman还原好了,然后对新的instance做AMI,再用这个AMI重新launch一个instance,这个instance起来之后,要添加oracle redo文件组,命令如下:


ALTER DATABASE ADD LOGFILE GROUP 1 ('/redo1/redo0101.log','/redo3/redo0102.log') SIZE 5000M BLOCKSIZE 512 REUSE;


执行的大约30min还没有结束(测试环境5min执行完成),于是查看系统的负载情况,发现CPU,memory都没有瓶颈,然后又看了一下磁盘IO,如下:


[root@ec2-xxx-01 ~]# sar -d 1 5
Linux 3.10.0-693.17.1.el7.x86_64 (ec2-xxx-01) 05/13/2018 _x86_64_(8 CPU)
07:02:55 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:02:56 AM  dev259-0     58.00  14336.00      0.00    247.17     30.06    514.72     17.24    100.00
07:02:56 AM  dev259-1     72.00  17408.00     64.00    242.67     33.00    464.58     13.89    100.00
07:02:56 AM  dev259-2      2.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:02:56 AM  dev259-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:02:56 AM  dev259-4      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:02:56 AM  dev253-0      4.00      0.00     64.00     16.00      1.00    260.50    250.00    100.00

07:02:56 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:02:57 AM  dev259-0     47.00  11264.00      0.00    239.66     30.15    559.83     21.28    100.00
07:02:57 AM  dev259-1     86.00  20480.00     96.00    239.26     32.87    412.72     11.63    100.00
07:02:57 AM  dev259-2      3.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:02:57 AM  dev259-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:02:57 AM  dev259-4      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:02:57 AM  dev253-0      6.00      0.00     96.00     16.00      1.00    227.50    166.50     99.90

07:02:57 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:02:58 AM  dev259-0     54.00  13312.00      0.00    246.52     30.31    681.20     18.52    100.00
07:02:58 AM  dev259-1     63.00  15360.00     64.00    244.83     33.41    466.29     15.87    100.00
07:02:58 AM  dev259-2      2.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:02:58 AM  dev259-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:02:58 AM  dev259-4      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:02:58 AM  dev253-0      4.00      0.00     64.00     16.00      1.41    225.25    250.00    100.00


有两块盘磁盘的使用率%util是100%,await也高达681,tps即相当于iops还不到100,这可是AWS instance_type为m5.2xlarge的实例,AWS的EBS不可能这么差吧,当时就比较疑惑,难道AWS也这么水,


于是上AWS网站上面查找原因,最后发现,从snapshot还原的磁盘,需要initialization(即预热pre-warming),新建的instance却不需要initilization。


据AWS说,没有initilizaion的磁盘性能会下降50%。那么该如何预热EBS呢?AWS也给出了处理方法,使用系统自带的工具dd或者第三方磁盘IOPS测试工具fio.这里不再详细讲述如何预热磁盘,本文主要是想告诉大家 AWS snapshot还原的


EBS,需要提前预热,否则性能会下降很多,如果读者有兴趣,可以参考如下AWS链接了解如何预热.


参考链接:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html


目录
相关文章
|
存储 对象存储
使用Ceph对象存储的Amazon S3接口(基于nautilus版本)
使用Ceph对象存储的Amazon S3接口(基于nautilus版本)
441 0
|
存储 jenkins 持续交付
使用Velero Restic快速完成云原生应用及PV数据从GKE到至ACK的迁移
本文记录使用Velero Restic快速完成云原生应用及PV数据从GKE到至ACK的迁移的实践过程。 此过程也同样适用于自建Kubernetes集群内的应用及PV数据迁移至ACK。 ## 实践步骤概览 (1)创建GKE集群(或自建Kubernetes集群) (2)在GKE集群上部署示例应用Jenkins Application并执行一个构建任务 (3)[创建ACK集群](http
5141 0
|
弹性计算 调度 容器
在Kubernetes集群中通过LocalVolume Provisioner使用本地盘
介绍 阿里云在部分ECS类型中提供了本地盘配置,本地盘具有低时延、高随机IOPS、高吞吐量和高性价比的优势,在一些对性能要求很高的应用中有很大优势。 在Kubernetes系统中使用本地盘可以通过HostPath、LocalVolume等类型的PV使用: HostPath: 卷本身不带有调度信息,如果想对每个pod固定在某个节点上,就需要对pod配置nodeSelector等调度信息; LocalVolume: 卷本身包含了调度信息,使用这个卷的pod会被固定在特定的节点上,这样可以很好的保证数据的连续性。
5562 0
|
2月前
|
存储 Kubernetes Cloud Native
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习
176 0
|
存储 Kubernetes 网络协议
Kubernetes 集群部署 NFS-Subdir-External-Provisioner 存储插件
Kubernetes 对 Pod 进行调度时,以当时集群中各节点的可用资源作为主要依据,自动选择某一个可用的节点,并将 Pod 分配到该节点上。在这种情况下,Pod 中容器数据的持久化如果存储在所在节点的磁盘上,就会产生不可预知的问题,例如,当 Pod 出现故障,Kubernetes 重新调度之后,Pod 所在的新节点上,并不存在上一次 Pod 运行时所在节点上的数
5471 2
Kubernetes 集群部署 NFS-Subdir-External-Provisioner 存储插件
|
存储 缓存 Kubernetes
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习(一)
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习
145 0
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习(一)
|
存储 Kubernetes Cloud Native
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习(三)
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习
179 0
|
存储 Kubernetes Cloud Native
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习(二)
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习
191 0
|
存储 Kubernetes Docker
rancher备份K8S集群数据到minio方案
记录我的一次备份rancher集群过程
808 0
rancher备份K8S集群数据到minio方案
|
存储 Kubernetes Shell
使用 TiDB Lightning 恢复 Kubernetes 上的集群数据
本文介绍了如何使用 TiDB Lightning 快速恢复 Kubernetes 上的 TiDB 集群数据。 TiDB Lightning 包含两个组件:tidb-lightning 和 tikv-importer。在 Kubernetes 上,tikv-importer 位于单独的 Helm chart 内,被部署为一个副本数为 1 (replicas=1) 的 StatefulSet;tidb-lightning 位于单独的 Helm chart 内,被部署为一个 Job。 为了使用 TiDB Lightning 恢复数据,tikv-importer 和 tidb-lightning
177 0