栏目介绍:“玩转OurBMC”是OurBMC社区开创的知识分享类栏目,主要聚焦于社区和BMC全栈技术相关基础知识的分享,全方位涵盖了从理论原理到实践操作的知识传递。OurBMC社区将通过“玩转OurBMC”栏目,帮助开发者们深入了解到社区文化、理念及特色,增进开发者对BMC全栈技术的理解。
欢迎各位关注“玩转OurBMC”栏目,共同探索OurBMC社区的精彩世界。同时,我们诚挚地邀请各位开发者向“玩转OurBMC”栏目投稿,共同学习进步,将栏目打造成为汇聚智慧、激发创意的知识园地。
在BMC对服务器的监控与管理过程中,为了实现对服务器的更优化管理,往往需要与其它工具紧密协同工作,以增强监控的全面性、提高管理的灵活性,并促进问题的快速解决。本期内容,我们将对服务器磁盘阵列配置方法进行介绍。通过对RAID概念结构、配置管理方法等内容的介绍,帮助读者全面理解服务器磁盘阵列(RAID)的配置方法,并能够在实际工作中灵活应用RAID技术,以提升服务器的存储性能和数据安全性。
RAID介绍
冗余磁盘阵列(RAID)技术由加州大学伯克利分校提出,最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储的费用,同时也希望采用冗余信息的方式,使得磁盘失效时不会使对数据的访问受损失,从而开发出一定水平的数据保护技术。
RAID的基本结构特征就是组合,捆绑2个以上的物理磁盘成组,形成一个单独的逻辑盘。在利用多个磁盘驱动器时,组合能够提供比单个物理磁盘驱动器更好的性能。
磁盘阵列卡用于配置管理 RAID。配置RAID卡的命令有很多,包括MegaCli、MegaCli64、storcli、storcli64、sas2ircu、sas3ircu、hpssacli、hpacucli。其中storcli命令最常用,已经基本代替了Megacli,因此本文以storcli64命令为例,描述配置RAID卡的操作方法。
Storcli64安装与使用
Storcli64是一款用于管理和配置LSI/Avago/Broadcom RAID控制器的命令行工具。可通过http://www.avagotech.com/support/download-search搜索下载对应系统的Storcli64安装包。下载完成之后上传至服务器任意目录安装,如下图所示:
安装完成后,可以使用./storcli64 -v指令查看版本信息,如下所示:
StorCLI64提供了丰富的命令选项来管理和配置RAID控制器。以下是一些常用命令及其详解:
1. 查看控制器信息:
-
./storcli64 show:显示所有控制器的信息。
-
./storcli64 /c{x} show:显示指定控制器(如控制器0)的详细信息。如下图所示,我们可以看到有4个物理设备,以及enclosure id号为252。值得注意的是,这些硬盘大多是附在enclosure内部,而不是直接连接到controller(控制器)上。这种设计允许硬盘通过enclosure与控制器进行通信和数据传输。
2. 查看虚拟磁盘(VD)信息:
./storcli64 /c{x} /vall show:显示指定控制器下的所有虚拟磁盘的详细信息。
3. 查看逻辑驱动器(LD)信息:
./storcli64 /c{x} /v{y} /dall show:显示指定控制器和虚拟磁盘下的所有逻辑驱动器的信息。
4. 查看物理硬盘信息:
./storcli64 /c{x} /eall /sall show:显示指定控制器下的所有物理硬盘的详细信息。
5. 创建虚拟磁盘(VD):
./storcli64 /c{x} add vd type=raid{y} size= drives=:在指定控制器上创建一个新的虚拟磁盘,并指定RAID级别、大小和物理硬盘列表。
6. 删除虚拟磁盘(VD):
./storcli64 /c{x} /v{y} delete:删除指定控制器和虚拟磁盘。
7. 修改虚拟磁盘(VD)属性:
./storcli64 /c{x} /v{y} modify =:修改指定控制器和虚拟磁盘的属性。
8. 查看RAID控制器版本信息:
./storcli64 /c{x} show ctrlversion:显示指定控制器的版本信息。
9. 查看RAID控制器电池信息:
./storcli64 /c{x} show battery:显示指定控制器上电池的状态和健康状况。
10. 设置启动项:
./storcli64 /c{x} /v{y} set bootdrive=on:设置指定控制器和虚拟磁盘为启动项。
11. 查看控制器事件日志:
./storcli64 /c{x} show events:显示指定控制器的事件日志。
12. 导出控制器配置到文件:
./storcli64 /c{x} /call export filename=:将指定控制器的所有配置信息导出到指定文件中。
RAID组配置
RAID组配置涉及将多个物理硬盘组合成一个逻辑单元,以提高数据存储的性能、可靠性和容错能力。命令格式如下图:
参数解释如下表所示:
1. 配置RAID0
RAID0称为条带化存储,将数据分段存储在各个磁盘中,读写均可以并行处理,因此读写速率为单个磁盘的N倍,没有冗余功能,任何一个磁盘损坏就会导致数据不可用。结构如下图所示:
-
RAID0配置方法
storcli64 /c0 add vd r0 size=1000 name=test drives=252:4-7
执行效果如下:
配置成功后,可以在dev/目录下看到配置好的虚拟磁盘:
2. 配置RAID1
RADI1是镜像存储,没有数据校验,数据被同等的写入到2个或者多个磁盘中,写入速度相对慢,但是读取速度比较快。结构如下图:
-
RAID1配置方法
storcli64 /c0 add vd r1 size=1000 name=test1 drives=252:5-6
执行效果如下图:
3. 配置RAID5
至少需要三块硬盘组成,将数据分割成多个条带,并附加一个校验数据。既具有数据并行存储的能力,也具有防止某块硬盘坏掉数据丢失的能力,因此,RAID 5在实际应用中比较常用,并且大多数硬盘都支持这一RAID级别。其结构示意图如下:
一般C1、C2这些为C1=1异或2得到的,无论那块硬盘丢失,我们都可以还原数据。举个例子,如果1号硬盘坏掉了,我们仍然可以通过对2号硬盘和校验数据C1进行异或运算来还原1号硬盘上的数据(因为数据异或两次会还原到原始值)。
-
RAID5配置方法
storcli64 /c0 add vd r5 size=1000 name=test2 drives=252:4-6
执行效果如下图:
4. 配置RAID10
RAID10其实就是RAID1和RAID0的组合,该种磁盘阵列至少需要4块硬盘。结构如下图:
-
RAID10配置方法
storcli64 /c0 add vd type=raid10 size=2gb,3gb,4gb names=tmp1,tmp2,tmp3 drives=252:4-5,6,7 pdperarray=2
在第一个控制器上创建RAID10,3个VD,大小分别为2、3、4GB,名字为tmp1、tmp2、tmp3,VD使用磁盘驱动器ID为252的enclosure中4-5,6,7槽位的磁盘,每个array有2个物理磁盘。
执行效果如下图:
正确的RAID配置对于提升服务器存储性能、确保数据安全性以及实现高效的数据管理至关重要。通过精心选择适合的RAID级别、合理搭配硬盘资源、精确配置RAID参数,并严格遵循配置流程,我们可以构建出既稳定又高效的存储系统。同时,定期的数据备份和RAID配置的持续监控也是维护存储系统健康、预防潜在风险不可或缺的一环。随着技术的不断进步,RAID技术也在不断演进,为用户提供了更多样化、更灵活的配置选择。因此,我们期待在未来能够继续探索RAID技术的更多可能性,以更好地满足不断增长的存储需求和数据保护挑战。
欢迎大家关注OurBMC社区,了解更多BMC技术干货。
OurBMC社区官方网站:
https://www.ourbmc.cn/