|
|
Intel SSDSA2BZ300G3 [Inquiry Unknown] (300GB - 2.5" Solid State - SATA Disk)
|
n/a
|
541-2123
|
Marlin 2.5" Bracket
|
n/a
|
XRA-ST2CF32G2SSD-N [S]
|
540-7841 [C]
|
32GB Solid State SATA Drive Assembly
|
n/a
|
371-4196
|
Intel SSDSA2SH032G1SB [Inquiry Unknown] (32GB - 2.5" Solid State - SATA Disk)
|
n/a
|
541-2123
|
Marlin 2.5" Bracket
|
n/a
|
从以上表格可以看出,最大支持300GB SSD固态硬盘。
注:其实上是否最大只支持300GB的SSD?其实不是这样的,经过测试,1TB的SSD固态硬盘都是支持的。
2.4 方案选择
通过以上收集的信息,我们有两种方案可供选择。方案一:将当前计算节点操作系统的四个插槽的SAS盘全部更换为SSD盘。方案二:只是在富余的插槽上新插入一块SSD盘。下面,我们来对比方案一和方案二两种方案的优缺点。
方案一:
优点:
1、系统中仍然只会存在一个RAID5的逻辑盘,这个RAID5由4块SSD组成,这种方式对日后的运维和升级基本没有影响。
2、4块SSD组成的逻辑盘,所以整体的IOPS和MBPS非常高。
缺点:
1、一个计算节点就需要4块SSD盘,所以整体的费用会比较高。
2、整个方案操作过程会比较复杂,风险也相对较高。因为需要在线拔盘,插盘,磁盘重组,且一次只能操作一块硬盘,如果在插盘并重组过程中,其它磁盘出现故障,则会导致整个RAID5损坏,操作系统无法启动。
方案二:
优点:
1、一个计算节点只需要1块SSD盘,所以整体费用比较便宜。
2、整个方案操作过程简单且无风险。因为只会对新插入的SSD进行操作创建成RAID0,并创建VG和文件系统,对操作系统所在的RAID5无任何影响。
缺点:
1、因为新插入的SSD盘会做成RAID0,所以系统中会有一个RAID5,还有一个RAID0。这种定制的方式会影响后期的存储软件升级。同时,日常的巡检工具exachk也会出现误报。
基于综合考虑,最终选择了第二种方案,即每个计算节点只增加1块SSD盘,做成RAID0给DSG软件使用。
3、添加SSD硬盘
3.1 raid卡支持的raid类型
当进行虚拟驱动器(Virtual Drive)RAID创建时,我们需要注意的是RAID对底层物理磁盘个数的要求,具体如下图所示:
RAID型号
|
最少磁盘数
|
RAID0
|
1
|
RAID1
|
2
|
RAID5
|
3
|
RAID6
|
4
|
在方案中,我们在每个计算节点只插入一块SSD磁盘,对应上面的图可以看出,只能做成RAID0方式,RAID0其实是对磁盘做条带化,而没有数据的保护措施,也即这块磁盘损坏,则对应的RAID0也损坏,会造成数据丢失。而在方案中,我们仍然选择每个计算节点只插入1块SSD盘,是因为DSG软件的数据冗余由DSG软件自身来保证,或者也可以说是DSG软件的丢失不会影响到后期的数据同步工作。
3.2 SSD盘添加过程
将SSD盘插入计算节点的空闲插槽,盘托的硬盘指示灯变绿即表示SSD盘插入成功。这时,在操作系统层面是无法识别到这块新的SSD盘的,只能通过RAID管理软件来识别这块SSD硬盘。
3.3 对SSD盘创建RAID 0
在对新的SSD盘创建RAID0之前,我们必须先了解当前主机上插入的物理硬盘的情况,具体如下所示:
[root@sddxdb01 MegaCli]# /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll
Adapter #0
Enclosure Device ID: 252
Slot Number: 0
……(略)
Enclosure Device ID: 252
Slot Number: 5
Enclosure position: 0
Device Id: 12
WWN: 50025388700813CF
Sequence Number: 1
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA
Raw Size: 953.869 GB [0x773bd2b0 Sectors]
Non Coerced Size: 953.369 GB [0x772bd2b0 Sectors]
Coerced Size: 952.742 GB [0x7717c000 Sectors]
Firmware state: Unconfigured(good), Spun Up
Is Emergency Spare : NO
Device Firmware Level: 2B6Q
Shield Counter: 0
Successful diagnostics completion on : N/A
SAS Address(0): 0x4433221106000000
Connected Port Number: 4(path0)
Inquiry Data: S2BANWAG100576K Samsung SSD 850 PRO 1TB EXM02B6Q
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: Foreign
Foreign Secure: Drive is not secured by a foreign lock key
Device Speed: 6.0Gb/s
Link Speed: 6.0Gb/s
Media Type: Solid State Device
Drive Temperature :23C (73.40 F)
PI Eligibility: No
Drive is formatted for PI information: No
PI: No PI
Drive's write cache : Disabled
Drive's NCQ setting : Disabled
Port-0 :
Port status: Active
Port's Linkspeed: 6.0Gb/s
Drive has flagged a S.M.A.R.T alert : No
Exit Code: 0x00
[root@sddxdb01 MegaCli]#
|
从以上的命令输出可以看出,新插入的这块SSD硬盘的插槽号为5,但它的"Foreign State"为" Foreign",表示这块新插入的SSD盘自带了RAID配置信息,也即这块SSD硬盘以前被使用过,曾经加入到过其它的RAID组中。
此时,如果直接对该SSD硬盘创建RAID 0,则肯定会失败,报错信息如下:
[root@sddxdb01 MegaCli]# /opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r0 [252:5] -a0
The specified physical disk does not have the appropriate attributes to complete
the requested command.
Exit Code: 0x26
[root@sddxdb01 MegaCli]#
|
通过如下命令即可验证是否存在外部的信息:
[root@sddxdb01 MegaCli]# /opt/MegaRAID/MegaCli/MegaCli64 -CfgForeign -Scan -a0
There are 1 foreign configuration(s) on controller 0.
Exit Code: 0x00
[root@sddxdb01 MegaCli]#
|
可见,这块SSD盘以前被创建过RAID,所以磁盘中残余有RAID信息,清除掉以前的RAID信息即可:
[root@sddxdb01 MegaCli]# /opt/MegaRAID/MegaCli/MegaCli64 -CfgForeign -Clear -a0
Foreign configuration 0 is cleared on controller 0.
Exit Code: 0x00
[root@sddxdb01 MegaCli]#
|
再次确认是否还存在外部信息:
[root@sddxdb01 MegaCli]# /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | egrep -i 'Adapter|Enclosure|Slot|Inquiry|state'
Adapter #0
Enclosure Device ID: 252
Slot Number: 0
Enclosure position: 0
Firmware state: Online, Spun Up
Inquiry Data: HITACHI H106030SDSUN300GA2B01215N77LAB
Foreign State: None
Enclosure Device ID: 252
Slot Number: 1
Enclosure position: 0
Firmware state: Online, Spun Up
Inquiry Data: HITACHI H106030SDSUN300GA2B01214N68GZB
Foreign State: None
Enclosure Device ID: 252
Slot Number: 2
Enclosure position: 0
Firmware state: Online, Spun Up
Inquiry Data: HITACHI H106030SDSUN300GA2B01214N6MX3B
Foreign State: None
Enclosure Device ID: 252
Slot Number: 3
Enclosure position: 0
Firmware state: Online, Spun Up
Inquiry Data: HITACHI H106030SDSUN300GA2B01215N6HL3B
Foreign State: None
Enclosure Device ID: 252
Slot Number: 5
Enclosure position: 0
Firmware state: Unconfigured(good), Spun Up
Inquiry Data: S2BANWAG100576K Samsung SSD 850 PRO 1TB EXM02B6Q
Foreign State: None
Media Type: Solid State Device
[root@sddxdb01 MegaCli]#
|
从以上的命令输出可以看出,插槽号为5的SSD硬盘,外部信息已经被清除,现在可以正常使用该硬盘创建RAID。
[root@sddxdb01 MegaCli]# /opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r0 [252:5] -a0
Adapter 0: Created VD 1
Adapter 0: Configured the Adapter!!
Exit Code: 0x00
[root@sddxdb01 MegaCli]#
|
可见,在SSD硬盘上创建RAID0成功。
4、创建vg及文件系统
RAID0创建成功后,在操作系统层面就可以看到这块SSD硬盘,命令为/dev/sdb。下面,我们需要将/dev/sdb创建成VG和文件系统来给DSG软件使用。
[root@sddxdb01 MegaCli]# pvcreate /dev/sdb1
Writing physical volume data to disk "/dev/sdb1"
Physical volume "/dev/sdb1" successfully created
[root@sddxdb01 MegaCli]# vgcreate datavg /dev/sdb1
Volume group "datavg" successfully created
[root@sddxdb01 MegaCli]# vgdisplay
--- Volume group ---
VG Name datavg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 952.74 GB
PE Size 4.00 MB
Total PE 243901
Alloc PE / Size 0 / 0
Free PE / Size 243901 / 952.74 GB
VG UUID EF8cbh-rDCd-iQpz-BSS8-VXAZ-k3d2-nmNacV
--- Volume group ---
VG Name VGExaDb
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 8
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 4
Max PV 0
Cur PV 1
Act PV 1
VG Size 834.89 GB
PE Size 4.00 MB
Total PE 213731
Alloc PE / Size 200704 / 784.00 GB
Free PE / Size 13027 / 50.89 GB
VG UUID p1Nq1d-5lz7-deCd-1y0k-Yzzi-jeIB-ecgzIh
[root@sddxdb01 MegaCli]#
|
5、性能对比
我们知道使用SSD后,IO性能肯定会比以前有大幅提升,但到底能提升多少,我们最好能进行量化。
下面,我们使用FIO工具进行IO的读测试:
# fio --filename=/dev/sdb --direct=1 --rw=read --bs=1m --size=1g --numjobs=4 --group_reporting --name=test-sequential-read
# fio --filename=/dev/sdb --direct=1 --rw=randread --bs=4k --size=1g --numjobs=4 --group_reporting --name=test-rand-read
# fio --filename=/dev/sda --direct=1 --rw=read --bs=1m --size=1g --numjobs=4 --group_reporting --name=test-sequential-read
# fio --filename=/dev/sda --direct=1 --rw=randread --bs=4k --size=1g --numjobs=4 --group_reporting --name=test-rand-read
|
如下图表,是FIO工具进行测试的数据,从得到的数据来看,SSD硬盘随机读的IOPS和MBPS比本地盘提升在30倍以上。
|
MBPS(顺序读)
|
IOPS(顺序读)
|
MBPS(随机读)
|
IOPS(随机读)
|
SSD(RAID0)
|
397564KB/s
|
388
|
74975KB/s
|
18743
|
本地盘(RAID5)
|
380608KB/s
|
371
|
2342.7KB/s
|
585
|
整个的IO提升效果还是非常明显的。客户后期将DSG软件迁移至SSD硬盘所在的文件系统中,再也没有出现过因为本地磁盘IO性能影响数据同步延时的情况。
- Exadata 18.1新特性--计算节点升级增强
新的计算节点升级增强能大幅缩短升级花费的时间,最快能减少40%的时间,具体的增强主要体现在以下方面: 1.计算节点操作系统的备份工作. 以前计算节点操作系统的备份工作是在正式升级之前执行,在滚动升级过 ...
- 通过数据库评估存储设备IO性能-Oracle11gIO校准功能介绍
通过数据库评估存储设备IO性能 ---------Oracle11g IO校准功能介绍 前言 I/O子系统是ORACLE数据库的一个重要组成部分,因为I/O操作是贯穿数据库管理全过程,它操作的对象包括 ...
- 超千个节点OpenStack私有云案例(1):CERN 5000+ 计算节点私有云
CERN:欧洲核子研究组织 本文根据以下几篇文章整理而来: https://www.openstack.org/summit/tokyo-2015/videos/presentation/unveil ...
- 磁盘工作原理与IO性能分析
最近,在研究如何优化产品设备的磁盘IO性能,需要深入研究磁盘及文件系统原理和工作机制,下面简要总结下关于磁盘方面的东西,下篇文章再分享文件系统的. 机械磁盘结构: 无论哪种机械硬盘,都主要由盘片.磁头 ...
- 采用alluxio提升MR job和Spark job性能的注意点
1. 介绍 2. 实验说明 2.1 实验环境 2.2 实验方法 2.3 实验负载 3. MapReduce on alluxio 3.1 读取10G文件(1G split) 3.2 读取20G文件(1 ...
- 浅谈Java两种并发类型——计算密集型与IO密集型
转载:https://blog.csdn.net/u013070853/article/details/49304099 核心是可以分别独立运行程序指令的计算单元.线程是操作系统能够进行运算调度的最小 ...
- SQL Server中一个隐性的IO性能杀手-Forwarded record
简介 最近在一个客户那里注意到一个计数器很高(Forwarded Records/Sec),伴随着间歇性的磁盘等待队列的波动.本篇文章分享什么是forwarded record,并从原理上谈一 ...
- Linux的IO性能监控工具iostat详解
Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令来查看初步定位问题.其中iostat可以提供更丰富的IO性能状态数据. . 基本使用 $iostat - ...
- 性能调优之访问日志IO性能优化
性能调优之访问日志IO性能优化 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821 ...
随机推荐
- Android终端与服务器数据传输解决方案
Android终端与服务器数据传输解决方案 Android终端三种与服务器传输方式: Socket传输 WebService传输 Post/Get获取数据方式 网络实现条件 端口:指定 协议:TC ...
- Simple Rtmp Server的安装与简单使用
Simple Rtmp Server是一个国人编写的开源的RTMP/HLS流媒体服务器. 功能与nginx-rtmp-module类似, 可以实现rtmp/hls的分发. 有关nginx-rtmp-m ...
- CodeForces - 1019D(BZOJ3707圈地):Large Triangle (几何,找面积为S的三角形)
题意:给定平面上N个点,问是否存在三角形,其面积为S. 思路:选择Y轴,枚举这个Y轴,面积大小只与|y-Y|有关,然后二分,具体的可以先去做BZOJ3707. 具体的: 1,先对点排序,X坐标为第一关 ...
- Android 开发:开源库Speex支持arm64的动态库文件
随着处理器制造工艺的不断进步,和Android系统的不断发展,最近出了arm64-v8a的架构,由于项目中用到了speex的第三方语音编解码的动态库,其他架构的处理器暂不用说,一切正常,唯独到arm6 ...
- iPhone白苹果怎么办?白苹果各种解决办法方法
iPhone白苹果怎么办?白苹果各种解决办法方法 日期:2014-07-16 来源:爱思助手 浏览次数:60962 越狱后大家也疯狂的装入各种插件,由于一些插件会产生冲突,造成白苹果现象,无法进入手机 ...
- html中插入css和js
插入css: HTML周明华添加css样式的方法有很多种,常见的有一下几种:. 1.直接标签后添加如: <html> <div style="background:red; ...
- 九 fork/join CompletableFuture
1: Fork/join fork/join: fork是分叉的意思, join是合并的意思. Fork/Join框架:是JAVA7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务 ...
- RS485波特率问题
转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/51683648 最近再做一个项目,发现485不能发送数据,感到非常奇怪!后来查阅相关 ...
- 快速搭建SpringBoot项目
Spring Boot简介: Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目.它使用习惯优于配置的理念让你的项目快速运行起来,使用Spring Bo ...
- tcpdump网络数据抓包
tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的“头”完全截获下来提供 ...
|