centos7 ssd,centos8哪个版本稳定

很多朋友对于centos7 ssd和centos8哪个版本稳定不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

nvme ssd 对NVMe SSD热插拔时,我需要注意什么

省去了控制器的NVMe比SAS/SATA的热插拔要复杂的多。在进行热插拔测试之前,第一步就是要确认当前的系统是否支持热插拔。

1,确认SSD的支持

对于SSD,热插拔需要保证在插盘的过程中不会产生电流波峰而损坏器件;拔盘的时候,不会因为突然掉电而丢失数据。这个可以向SSD供应商确定或者查看产品规格书。

2,确认PCIe卡槽的支持

上面提到,NVMe是直接连接到PCIe Bus上的,U.2接口也是直接跟PCIe相连(当判断插入的设备为NVMe SSD时)。某些U.2接口内部连接的PCIe卡槽并不支持热插拔。PCIe Spec规定了热插拔寄存器。下图(通过lspci-vvv获取)显示了一个PCIe卡槽的Capabilities寄存器信息。其中LnkSta,SltCap,SltCtl和SltSta 4个部分在热插拔过程中比较有用(具体意义请参考PCIe Spec)。HotPlug和Surprise是最基础的判断热插拔的标志位。SltSta中有一个PresDet位指示当前是否有PCIe设备插入卡槽。

3,确认操作系统的支持

PCIe热插拔并不是完全由操作系统处理的,也有可能由BIOS处理,这完全取决于服务器BIOS的设计。当操作系统启动时,会根据ACPI提供的信息来了解到底由谁处理PCIe热插拔。如果由操作系统处理,则会根据PCIe卡槽发送的中断获知热插拔事件。对于Linux系统来说,一般使用pciehp驱动来干这件事情。所以,最简单的判断方法就是看系统中是否注册了热插拔中断服务程序。

对于Linux的NVMe热插拔支持将会单独用一篇文章讲解,此处不再多说。

4,确认NVMe驱动的支持

与其说驱动的支持,不如说驱动中是否有Bug。Linux内核提供了NVMe驱动,但是在实际的测试中,驱动的处理不当容易导致系统Crash和Hang住。产生这些问题的原因基本上可以归纳为NVMe驱动release设备和pciehp release设备产生竞争,出现空指针;NVMe驱动release设备时,上层调用sync函数导致进程block住。这个最好跟SSD厂商沟通好自己的测试环境,以便提前了解可能出现的问题。

如果这些环节都通过,基本上可以确认当前的系统可以进行热插拔了。但是目前,Linux系统和PCIe热插拔驱动存在不少问题,我们在操作中还需要避免出现下面的情况:

避免在一个服务器上短时间内频繁地(或者同时对多个设备)进行热插拔操作

原因:这是pciehp驱动中热插拔处理的bug,centos7都没有解决。

潜在的问题:可能导致pciehp进程block住,之后插入的盘无法识别。

解决办法:当对多个盘操作时,顺序进行热插拔,并打开pciehp的debug功能,通过dmesg获得pciehp热插拔处理进度。

避免对带有I/O的设备进行热插拔(尤其是启用了Cache的I/O)

原因:这是由于Linux Block层与PCIe热插拔的配合问题导致的。

潜在的问题:可能导致系统某些进程block住,或者系统crash。

解决办法:通过设置卡槽的power值,在拔盘之前通知操作系统先移除设备。

避免对已经mount文件系统的设备进行热插拔

原因:mount无法感知热插拔事件。

潜在的问题:文件系统无法使用,数据丢失。

解决办法:提前umount文件系统。

按照上面的方法,能够避免绝大多数问题。但是还是可能出现错误,尤其在一些新的服务器厂商的产品中,由于兼容性问题导致NVMe设备无法识别。那么我们可以通过卡槽的Capabilities寄存器信息判断。如果设备没有被PCIe系统正确识别,那么就需要咨询厂商了。

总结

这篇文章主要介绍了在进行NVMe SSD热插拔时需要注意的事项。首先,我们检查系统是否支持NVMe热插拔,然后避免出现上面提到的3种情况。PCIe目前还无法做到如SATA/SAS一样的支持力度,这个需要服务器厂商和SSD厂商共同推进,相信在未来会越来越好。用户在这个阶段,只有尽量和厂商多沟通,才能避免操作中造成系统崩溃,数据丢失等风险。

CentOS下对SSD寿命的检查和健康判断详解

整个网上只有 intel的 SSD查看硬盘寿命的资料,象我们这种穷人,只能使用的起 Crucial和 OCZ的用户来讲是太不公平了.象我要透过 RAID卡就真没法子看其它商家的 SSD的寿命了吗?

研究了一下,所有查看 SSD的命令,只要要透过 RAID的,都需要借助 MegaCli和 smartCtl获得 ssd盘使用情况.认真研究了一下,目前我使用的

RAID卡是LSI Logic/ Symbios Logic MegaRAID SAS 1078和 2108这二种.使用通常的 MegaCli来查询:

这个是的下载地址:

Centos5的 MegaCli

Centos6的 MegaCli

整个过程分二步,第一步是从过 RAID卡来取得下面硬盘的信息.接下来使用 smartCtl来进行硬盘详细信息的显示.

使用 MegaCli来取得 RAID卡下硬盘的信息:

然后使用下面的命令:

/opt/MegaRAID/MegaCli/MegaCli64-PDList-aALL

这样可以查出 RAID卡下面的内容.会显示如下:

Enclosure Device ID: 252

Slot Number: 7

Device Id: 28

Sequence Number: 2

Media Error Count: 0

Other Error Count: 1

Predictive Failure Count: 0

Last Predictive Failure Event Seq Number: 0

PD Type: SATA

Raw Size: 119.242 GB [0xee7c2b0 Sectors]

Non Coerced Size: 118.742 GB [0xed7c2b0 Sectors]

Coerced Size: 118.277 GB [0xec8e000 Sectors]

Firmware state: Online, Spun Up

SAS Address(0): 0x1e394d57aa996b80

Connected Port Number: 7(path0)

Inquiry Data: 0000000011070303A99EC300-CTFDDAC128MAG 0007

FDE Capable: Not Capable

FDE Enable: Disable

Secured: Unsecured

Locked: Unlocked

Needs EKM Attention: No

Foreign State: None

Device Speed: 6.0Gb/s

Link Speed: 1.5Gb/s

Media Type: Solid State Device

注意上面几个地方,上面会输出很多这样的信息,只有 Media Type: Solid State Device.表示这是 SSD.其中 Device Id: 28这个需要记下来.这个过一会使用 smartctl查询时会需要.我们可以见到上面都显示了硬盘的型号:Inquiry Data: 0000000011070303A99EC300-CTFDDAC128MAG 0007.另外还有一个标志告诉你这个 SSD是不是正常的 Firmware state: Online,Spun Up这个选项,所以如果你做 SSD的监控报警,直接监控这个参数基本就行了.

使用 smartctl来取得 SSD硬盘的详细信息

要注意,不同厂商不同型号磁盘的信息不同.象 intel的硬盘信息就不介绍了.下面是查询所使用的命令.其中-a是让显示所有的信息出来.-d是用来设置硬盘的.这时需要注意不同的 RAID卡所使用的接口可能不一样,所以可能会有小的不相同.

比如 intel的硬盘,直接使用-d megaraid,27就能正常了.但我使用了上面的 raid卡后,需要指定 sat这个参数,就变成象下面这样了:

smartctl-a-d sat+megaraid,27/dev/sdb1-s on

上面这时的 sat是指由 SCSI转成 ATA的设备,可以加象 scsi,ata之类的参数.

这时,会显示如下的信息:

Model Family: Crucial/Micron RealSSD C300/C400

Device Model: C300-CTFDDAC128MAG

SMART Attributes Data Structure revision number: 16

Vendor Specific SMART Attributes with Thresholds:

ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE

1 Raw_Read_Error_Rate 0x002f 100 100 000 Pre-fail Always- 0

5 Reallocated_Sector_Ct 0x0033 100 100 000 Pre-fail Always- 0

9 Power_On_Hours 0x0032 100 100 000 Old_age Always- 5572

12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always- 3

170 Grown_Failing_Block_Ct 0x0033 100 100 000 Pre-fail Always- 0

171 Program_Fail_Count 0x0032 100 100 000 Old_age Always- 0

172 Erase_Fail_Count 0x0032 100 100 000 Old_age Always- 0

173 Wear_Levelling_Count 0x0033 090 090 000 Pre-fail Always- 536

174 Unexpect_Power_Loss_Ct 0x0032 100 100 000 Old_age Always- 1

181 Non4k_Aligned_Access 0x0022 100 100 000 Old_age Always- 0 0 0

183 SATA_Iface_Downshift 0x0032 100 100 000 Old_age Always- 0

184 End-to-End_Error 0x0033 100 100 000 Pre-fail Always- 0

187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always- 0

188 Command_Timeout 0x0032 100 100 000 Old_age Always- 0

189 Factory_Bad_Block_Ct 0x000e 100 100 000 Old_age Always- 250

195 Hardware_ECC_Recovered 0x003a 100 100 000 Old_age Always- 0

196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always- 0

197 Current_Pending_Sector 0x0032 100 100 000 Old_age Always- 0

198 Offline_Uncorrectable 0x0030 100 100 000 Old_age Offline- 0

199 UDMA_CRC_Error_Count 0x0036 100 100 000 Old_age Always- 0

202 Perc_Rated_Life_Used 0x0018 090 090 000 Old_age Offline- 10

206 Write_Error_Rate 0x000e 100 100 000 Old_age Always- 0

如果是 OCZ的:

Device Model: OCZ-AGILITY3

Serial Number: OCZ-1OX963Q8B5X2V684

SMART Attributes Data Structure revision number: 10

Vendor Specific SMART Attributes with Thresholds:

ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE

1 Raw_Read_Error_Rate 0x000f 086 086 050 Pre-fail Always- 135388659

5 Reallocated_Sector_Ct 0x0033 100 100 003 Pre-fail Always- 9

9 Power_On_Hours 0x0032 100 100 000 Old_age Always- 265772576277126

12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always- 15

171 Unknown_Attribute 0x0032 000 000 000 Old_age Always- 9

172 Unknown_Attribute 0x0032 000 000 000 Old_age Always- 0

174 Unknown_Attribute 0x0030 000 000 000 Old_age Offline- 13

177 Wear_Leveling_Count 0x0000 000 000 000 Old_age Offline- 1

181 Program_Fail_Cnt_Total 0x0032 000 000 000 Old_age Always- 9

182 Erase_Fail_Count_Total 0x0032 000 000 000 Old_age Always- 0

187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always- 0

194 Temperature_Celsius 0x0022 030 030 000 Old_age Always- 30(Lifetime Min/Max 30/30)

195 Hardware_ECC_Recovered 0x001c 120 120 000 Old_age Offline- 135388659

196 Reallocated_Event_Count 0x0033 100 100 003 Pre-fail Always- 9

201 Soft_Read_Error_Rate 0x001c 120 120 000 Old_age Offline- 135388659

204 Soft_ECC_Correction 0x001c 120 120 000 Old_age Offline- 135388659

230 Head_Amplitude 0x0013 100 100 000 Pre-fail Always- 100

231 Temperature_Celsius 0x0013 100 100 010 Pre-fail Always- 0

233 Media_Wearout_Indicator 0x0000 000 000 000 Old_age Offline- 2531

234 Unknown_Attribute 0x0032 000 000 000 Old_age Always- 3465

241 Total_LBAs_Written 0x0032 000 000 000 Old_age Always- 3465

242 Total_LBAs_Read 0x0032 000 000 000 Old_age Always- 2030

SSD是否健康的参数分析:

注意这时的使用寿命不在是象 intel ssd的 Media_Wearout_Indicator这个参数(当然 OCZ也有,在 Crucial就变成了Perc_Rated_Life_Used).但其实我们要看 SSD是否健康,主要是要通过 Wear Leveling Count(颗粒平均擦写次数)这个参数和Grown Failling Block Ct这个参数.

注意看下面二行:

170 Grown_Failing_Block_Ct 0x0033 100 100 000 Pre-fail Always- 0

173 Wear_Levelling_Count 0x0033 090 090 000 Pre-fail Always- 536

上面二个参数是关键:

Wear Levelling Count(颗粒平均擦写次数):先讲这个参数.更加重要.先声明这个硬盘是使用了一年的 SSD硬盘.图中显示的数据为536,即这块128G的硬盘的全盘写入/擦除(P/E)数为536次,显示还有 90%的寿命.所以大约这个硬盘使用的闪存颗粒的寿命为 5000多次的样子.536约为 5000的 10%,所以此项值为90(CA). Grown Failing Block Count(使用中新增坏块数):此项代表 SSD的闪存颗粒在使用时出现的坏块(类似于HDD的坏道)数量,此处数据为 0即尚未有出现坏块,若你命不好.新购买回来 SSD在正常使用时,很短的时间内这个数据产生较大变化,那代表盘可能有问题,早点找售后服务吧.

MegaCli常用参数组合介绍:

MegaCli-cfgdsply-aALL| grep Error【正常都是0】

MegaCli-LDGetProp-Cache-LALL-a0【写策略】

MegaCli-cfgdsply-aALL| grep Memory【内存大小】

MegaCli-LDInfo-Lall-aALL【查RAID级别】

MegaCli-AdpAllInfo-aALL【查RAID卡信息】

MegaCli-PDList-aALL【查看硬盘信息】

MegaCli-AdpBbuCmd-aAll【查看电池信息】

MegaCli-FwTermLog-Dsply-aALL【查看RAID卡日志】

MegaCli-adpCount【显示适配器个数】

MegaCli-AdpGetTime aALL【显示适配器时间】

MegaCli-AdpAllInfo-aAll【显示所有适配器信息】

MegaCli-LDInfo-LALL-aAll【显示所有逻辑磁盘组信息】

MegaCli-PDList-aAll【显示所有的物理信息】

MegaCli-AdpBbuCmd-GetBbuStatus-aALL|grep Charger Status【查看充电状态】

MegaCli-AdpBbuCmd-GetBbuStatus-aALL【显示BBU状态信息】

MegaCli-AdpBbuCmd-GetBbuCapacityInfo-aALL【显示BBU容量信息】

MegaCli-AdpBbuCmd-GetBbuDesignInfo-aALL【显示BBU设计参数】

MegaCli-AdpBbuCmd-GetBbuProperties-aALL【显示当前BBU属性】

MegaCli-cfgdsply-aALL【显示RAID卡型号,RAID设置,DISK相关信息】

磁带状态的变化,从拔盘,到插盘的过程中:

Device|Normal|Damage|Rebuild|Normal

Virtual Drive|Optimal|Degraded|Degraded|Optimal

Physical Drive|Online|Failed Unconfigured|Rebuild|Online

红帽redhatlinux有哪些版本

1991年,Linux内核发布。同年BobYong(加拿大人,多伦多大学毕业)在纽约UNIX用户组引入系统管理自由软件。1993年,BobYang建立了ACC公司,营销Linux和UNIX的支持软件和书籍杂志。1994年,MarcEwing(美国人,卡内基梅隆大学毕业)建立了自己的Linux分销业务,发布了RedHatLinux1.0。1995年,BobYang收购了MarcEwing的业务,合并后的ACC公司成为新的RedHat软件公司,发布了RedHatLinux2.0。1997年12月,RedHatLinux5.0发布,它支持Intel、alpha和Sparc平台和大多数的应用软件。极其简单易用的RPM模块化的安装、配置和卸载工具,使程序的安装可在15分钟内完成。软件升级也很方便,这对刚开始使用Linux的用户来说是一大福音。2003年4月,RedHatLinux9.0发布。重点放在改善桌面应用方面,包括改进安装过程、更好的字体浏览、更好的打印服务等。统计表明,2003年,RedHat的Linux市场份额为86%。2004年4月30日,RedHat公司正式停止对RedHat9.0版本的支持,标志着RedHatLinux的正式完结。原本的桌面版RedHatLinux发行包则与来自民间的Fedora计划合并,成为FedoraCore发行版本。RedHat公司不再开发桌面版的Linux发行包,而将全部力量集中在服务器版的开发上,也就是RedHatEnterpriseLinux版。2005年10月RHEL4发布。2007年3月,主流版本RHEL5发布。2011年11月10日,RHEL6正式版发布。新版带来了一个完全重写的进程调度器和一个全新的多处理器锁定机制,并利用NVIDIA图形处理器的优势对GNOME和KDE做了重大升级,新的系统安全服务守护程序(SSSD)功能允许集中身份管理,而SELinux的沙盒功能允许管理员更好地处理不受信任的内容。RHEL6内置的新组件有GCC4.4(包括向下兼容RHEL4和5组件)、OpenJDK6、Tomcat6、Ruby1.8.7和Rails3、PHP5.3.2与Perl5.10.1,数据库前端有PostgreSQL8.4.4,MySQL5.1.47和SQLite3.6.20。2012年6月红帽宣布推出红帽CloudForms的通用版本,它是红帽开放式混合管理程序。红帽推出了JBoss企业BRMS5.3。它提供了适用于业务规则、流程以及复杂事件处理(CEP)的综合平台。红帽宣布红帽OpenShift是首个平台即服务(PaaS)以支持云中的JavaEE6完全备份。红帽宣布推出红帽存储服务器2.0全球版本。红帽宣布其将会收购ProgressSoftware公司的FuseSource。2013-12-11发布RHEL7Beta2014-1-8CentOS宣布加入红帽公司2014-6-11RHEL7开放下载2014-7-9CentOS7正式版发布

阅读剩余
THE END