|
|
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 ...
随机推荐
- visual studio tools for unity代码提示快捷键
visual studio tools for unity代码提示快捷键 ctrl+ shift +q
- bzoj 3926: 诸神眷顾的幻想乡 广义后缀自动机
题目: Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热情,自发组织表演了一系列节目给 ...
- Oracle 12C 新特性之在线重命名、迁移活跃的数据文件
Oracle 数据库 12c 版本中对数据文件的迁移或重命名不再需要太多繁琐的步骤,可以使用 ALTER DATABASE MOVE DATAFILE 这样的 SQL 语句对数据文件进行在线重命名和移 ...
- 洛谷【P1601】A+B Problem(高精)
题目传送门:https://www.luogu.org/problemnew/show/P1601 高精度加法板子.我们灵性地回忆一波小学学加法列竖式的场景(从\(6\)岁开始口算从未打过草稿的大佬请 ...
- HDU1247(经典字典树)
Hat’s Words Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- Python:内置函数zip()
zip函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple,然后返回一个可迭代的zip对象. 这个可迭代对象可以使用循环的方式列出其元素 若多个可迭代对象的长度不一致,则所返回的 ...
- app专项测试(稳定性测试、安全性测试)
https://blog.csdn.net/xiaomaoxiao336368/article/details/84887948
- 如何在Windows平台使用VS搭建C++/Lua的开发环境
转自:http://ju.outofmemory.cn/entry/95358 本文主要介绍如何在Windows平台利用VS搭建C++/Lua开发环境.这里的“C++/Lua开发环境”主要指的是C++ ...
- HTTP 协议入门(转载)
作者:阮一峰 (@ruanyf) www.ruanyifeng.com/blog/2016/08/http.html HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 ...
- JAVA 编程思想三
1:JAVA可变参数? 参数个数不确定,但是类型确定: 可变参数位于最后一项,只支持一个可变参数: public void funciton1(int a, String ...args) { for ...
|