使用storcli工具配置RAID,收藏这一篇就够了

0ff444a614a7543e1f6617cc4f38b976.gif

正文共:1888 字 28 图,预估阅读时间:2 分钟

前文怎么把银河麒麟系统装进U盘?提到,因为国产服务器固件暂不支持直接配置RAID,所以需要使用storcli这个工具来操作。今天就从RAID配置和维护两个方面来简单介绍一下这个工具的使用,同时也可以方便大家了解RAID的配置原理。

首先把storcli工具上传到服务器任意目录,并使用命令chmod +x storcli64修改文件权限为可执行

3c79b767ffca97c3deef91805065bbc1.png

另外可通过命令ln -s /root/storcli64 /usr/bin/storcli来设置软链接,这样后续可以在任意目录下输入storcli执行./ storcli64,和系统命令一样。

首先使用storcli /c0 show命令查看 RAID 控制器信息,其中包含磁盘的拓扑结构、RAID信息、物理磁盘配置状态等信息。

注释:

c:Controller,控制器,也就是阵列卡

e:Enclosure,附件,一般来讲也就是硬盘背板“硬盘笼”

s:Slot,物理硬盘槽位

v:Virtual Drive,虚拟硬盘,也就是逻辑卷

d:Disk Group,硬盘组

f:Foreign configuration file,外部阵列配置。

065a942d9281754ddfbee89389d28c9e.png

还能看到阵列卡的温度。

7ebba28ded434a3aa1cd350288534b12.png

上面是硬盘插槽全空时的回显,在1、2槽位插上两块960G的SSD之后,回显中增加了PD LIST物理磁盘列表,显示如下:

3b1a9dfb4dc18f8f616e951469a7ac0d.png

通过命令storcli /c0/vall show来查看RAID逻辑卷的配置情况,当前为未配置RAID。

41b82f39acf437bb0341ee69a8f57d04.png

通过命令storcli /c0/eall/sall show来查看c0控制器所有物理槽位和所有槽位中的物理磁盘信息

8dfe3301e463dcb45a935a0b2c765620.png

519a4a7d1b855ba6831fb455151c99a9.png

首次创建RAID

步骤 1:如果原磁盘存在 RAID,需要将 RAID 删除

49cca0ec5a0b87c94d8be76ff7f5d295.png

使用storcli /c0 /vall show命令查看已有的阵列配置信息,如果存在,需要使用storcli /c0 /v0 delete删除相关配置。如果 vd 包含 MBR 或者用户信息数据,需要加 force 参数强制删除。

步骤 2:创建 RAID

storcli64工具创建RAID的具体使用方法如下:

storcli /cx add vd r[0|1|5|6|00|10|50|60][Size=,,..|all]
[name=,..] drives=e:s|e:s-x|e:s-x,y [PDperArray=x|auto]
[SED] [pdcache=on|off|default][pi] [DimmerSwitch(ds)=default|automatic(auto)|none|maximum(max)|MaximumWithoutCaching(maxnocache)] [WT|WB|AWB][nora|ra]
[direct|cached] [cachevd]
[Strip=<8|16|32|64|128|256|512|1024>] [AfterVd=X]
[Spares = [e:]s|[e:]s-x|[e:]s-x,y][force]
[Cbsize=0|1|2 Cbmode=0|1|2|3|4|7]

本例中,对1、2操作两个硬盘创建RAID0的操作命令如下:

storcli /c0 add VD r0 drives=252:0,252:1

可以使用该命令直接新建RAID0。

2aea9a38dbbfcf059b547d5f07018b19.png

对于一些场景,可能需要使用“Size=all”的配置参数,用于增加磁盘的所有空间到逻辑卷。

c031f0b7c2117b6cb976066ef8b8e0b1.png

还可以通过参数“name=raid0”来指定RAID名称,会在Virtual Drives的Name处显示。

6a9a38870d498921c1877df1235ec0f1.png

如果配置不想要了,就可以通过storcli /c0/v0 delete force来删除RAID配置

94fec5b51f468a1de03a5b374bab50e3.png

再新建两组RAID,两块SSD做RAID0,4块SATA盘做raid0,并分别命名。

edb432b6e12d80d40e412dddd6eb1ac0.png

1230f82b76cbfb3b15b1556e595ec7c8.png

更换硬盘,重建RAID

实际使用过程中,遇到比较多的就是硬盘故障。介于手头资源有限,一共是2块960G的固态盘,加上4块4T的SATA盘,所以用3块SATA盘做RAID5,另外1块模拟新盘来操作。

首先创建一个3块硬盘的RAID5阵列。

d32f1de39a85f352b43b05d57f7af9e5.png

通过命令storcli /c0 /eall /sall show来查看物理磁盘信息

2083c5c2d18acd9b7ebe56b41122df74.png

90f969030e03aa9d735f7c9295eea6ef.png

磁盘状态描述:

UGood(Unconfigured Good,未配置正常):硬盘状态正常,但还未划分给任何逻辑卷;

UBad(Unconfigured Bad,未配置异常):UGood状态的硬盘出现无法恢复的错误;

Onln(Online,在线):已经设置为某个虚拟硬盘的成员盘,并且处于在线正常可用状态;

Offln(Offline,离线):某个虚拟硬盘的成员盘离线;

Missing,Online状态的硬盘脱离RAID组的状态;

Rbld(Rebuild,重建):硬盘正在重建数据。

拔掉5槽位编号为252:4的硬盘,操作之后使用命令storcli /c0 /vall show来查看阵列信息。发现RAID5阵列状态为Dgrd(degreed,降级),临近故障,参考之前做的硬件RAID测试硬件RAID横评(上)硬件RAID横评(下),RAID5只能接受一块硬盘故障,如果再拔一块盘,则会进入到Failed(故障)状态。

99d735ff5bc3375ce64562de91a96074.png

此时,再把备用的6号硬盘作为新盘插到5号槽位,可以看到新插入的磁盘状态为Rbld,正在恢复数据,重建RAID。

283f37f75e5dcde8053d74eae30a314e.png

可以通过命令storcli /c0/e252/sall show rebuild 来查看rebuild的进展,不过时间也是真的长,RAID没有数据信息,重建仍然需要4个半小时以上。

5ffd79173307ec2f2d875c65eff11b15.png

cadb11eaa848a2f701108a28aa961b76.png

删除外部RAID配置

比如在上面的操作中,因为操作顺序问题,5号槽位硬盘曾作为RAID5成员, 6号槽位硬盘曾作为RAID0成员,拔出后保留了之前的RAID相关配置,这部分配置会导致这两块硬盘的DG状态为F(Foreign),无法加入新的虚拟硬盘。

78fc5992946bfbd470ccae9f149d20ee.png

此时,可以使用命令storcli /c0/fall delete删除掉控制器c0的所有外部配置信息,删除后DG状态为空,可以正常使用。

830f3780d657cde745d2ae962c57991f.png

38d665454beb23807a935589bf835ed2.png

单独替换硬盘

上面操作的是直接替换的场景,如果硬盘仍在使用中,需要使用命令storcli /c0/e252/s4 set offline将5槽位硬盘设置为离线Offline,再使用命令storcli /c0/e252/s4 set missing将硬盘设置为missing状态,之后才可以将原故障硬盘拔出,换上新的硬盘。

95c68498e214edc9af3a075acd0f3b8b.png

fb33bed643b7ddda69867fd018916e2e.png

引入外部RAID配置

上面提到了手工指定硬盘状态,对于处于”UBad“状态的硬盘,可以通过命令storcli /c0 /e252 /s2 set good将其设置为“UGood”状态,方便后续使用。

a7d3ba859f0b503af7ba795735cc7d03.png

设置好之后,可以看到硬盘的DG状态显示为F,说明有外部RAID配置。

447e1d7de419cebd3b12b9ad1f99b46c.png

可以使用命令storcli /c0 show查看外部RAID的详细信息

63d9e6cab45f5cab22b85c562cedef21.png

此时可以尝试通过命令storcli /c0 /fall import将原有的RAID配置恢复

fb5317c91b11138221d3b5e77ccda55e.png

再次使用命令storcli /c0 /eall /sall show查看磁盘状态

764dcebb7db7c43f2b9ea2776f103c8a.png

be6568db6707748c65c74be8a01bc229.png

手工重建RAID

如前面操作过程,正常插入新的硬盘之后会自动重建RAID,如果没有自动重建,则需要执行以下操作。

首先确认磁盘位置,从硬盘状态可以看到DG组的值为A,从面板上确认硬盘在第B列、第C行,如硬盘插入到5号槽位,那就是第0列,第2行,对应命令为:storcli /c0 /e252 /s4 insert dg=1 array=0 row=2

aaa059d81834ed5736188517215f738c.png

再通过命令storcli /c0/e252/s4 start rebuild来手动触发数据重建,也可以使用pause、resume命令来暂停、继续重建任务。

ddf1b55217bc829f02f4f4d2ab502d2c.png

可以使用命令storcli64 /c0/e252/s4 show rebuild来单独查看4槽位的rebuild进度

a96795948318cdbc2b0456e294a6eb8e.png

b9a148254e22af2d2bf81892b42e36bc.gif

灵明无着,物来顺应,未来不迎,当时不杂,既往不恋

--曾国藩

6dc5c1c3464ecb5552b475938983b329.gif

长按二维码
关注我们吧

a80c7f75a1ad0614c6bbcba4040c75e8.jpeg

9693b01892907a6addd0696140b21bb1.png

怎么把银河麒麟系统装进U盘?

如何通过iptables配置URL过滤白名单?

如何通过iptables配置URL过滤黑名单?

iptables扩展项之target扩展

iptables扩展项之match扩展

H3C防火墙RBM主备模式+静态路由方案验证

以Ubuntu 18.04为例,介绍如何通过GUI安装Vmware Tools

听说你想收集HCL的设备版本?好吧,成全你!

还在到处找Win11镜像?自己动手,丰衣足食!

某国产化台式机产品介绍及维护(上)

某国产化台式机产品介绍及维护(下)

什么是NaaS?哪里冒出来的网络即服务?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/60085.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Three.js 搭建3D隧道监测

Three.js 搭建3D隧道监测 Three.js 基础元素场景scene相机carema网络模型Mesh光源light渲染器renderer控制器controls 实现3d隧道监测基础实现道路实现隧道实现多个摄像头点击模型进行属性操作实现点击模型发光效果 性能监视器stats引入使用 总结完整代码 我们将通过three.js技…

漫谈分布式唯一ID

文章目录 本系列前言UUIDDB自增主键Redis incr命令号段模式雪花算法 本系列 漫谈分布式唯一ID&#xff08;本文&#xff09;分布式唯一ID生成&#xff08;二&#xff09;&#xff1a;leaf分布式唯一ID生成&#xff08;三&#xff09;&#xff1a;uid-generator分布式唯一ID生成…

CSS教程(七)- 背景

介绍 背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。 1 背景颜色 属性名&#xff1a;background-color 作用&#xff1a;指定HTML元素的背景色。 取值&#xff1a;英文颜色、16进制、rgb、rgba、transparent&#xff08;一般为透明&#…

网络安全SQL初步注入2

六.报错注入 mysql函数 updatexml(1,xpath语法,0) xpath语法常用concat拼接 例如: concat(07e,(查询语句),07e) select table_name from information_schema.tables limit 0,1 七.宽字节注入(如果后台数据库的编码为GBK) url编码:为了防止提交的数据和url中的一些有特殊意…

three.js 杂记

在Three.js中&#xff0c;Object3D是所有3D对象的基类&#xff0c;而Group是Object3D的一个子类。Group的目的是为了简化处理多个对象的集合。当你将对象添加到Group中时&#xff0c;它们会以一个单元格的形式被处理&#xff0c;参与Group的某些操作&#xff0c;例如位置更新、…

一文熟悉新版llama.cpp使用并本地部署LLAMA

0. 简介 最近是快到双十一了再给大家上点干货。去年我们写了一个大模型的系列&#xff0c;经过一年&#xff0c;大模型的发展已经日新月异。这一次我们来看一下使用llama.cpp这个项目&#xff0c;其主要解决的是推理过程中的性能问题。主要有两点优化&#xff1a; llama.cpp …

基于 Python flask 的微博舆论情感分析,微博大数据可视化系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

【编码】【特征选择】【降维】

简要介绍 编码&#xff08;Encoding&#xff09; 编码是将原始数据转换为模型能够理解和处理的格式的过程。常见的编码方法包括&#xff1a; 标签编码&#xff08;Label Encoding&#xff09;&#xff1a; 适用于类别较少的分类数据。将每个类别映射到一个唯一的整数。独热编…

大数据之多级缓存方案

多级缓存介绍&#xff1f;多级缓存优缺点&#xff0c;应用场景&#xff1f;多级缓存架构&#xff1f; 多级缓存介绍 多级缓存方案是一种优化手段&#xff0c;通过在多个级别上存储数据来提高应用程序的性能和响应速度。以下是对多级缓存方案的详细解析&#xff1a; 一、多级缓…

HBuilderX运行微信小程序,编译的文件在哪,怎么运行

1. 点击HBuilderX顶部的运行-运行到小程序模拟器-微信开发者工具&#xff0c;就会开始编译 2. 编译完成后的文件在根目录找到 unpackage -- dist -- dev -- mp-weixin, 这里面就是编译后的文件&#xff0c;如果未跳转到开发者工具&#xff0c;那可能是没设置启动路径&#xff0…

Git超详细笔记包含IDEA整合操作

git超详细笔记 文章目录 git超详细笔记第1章Git概述1.1、何为版本控制1.2、为什么需要版本控制1.3、版本控制工具1.4 、Git简史1.5、Git工作机制1.6 、Git和代码托管中心 第2章Git安装第3章Git常用命令3.1、设置用户签名3.2、初始化本地库本地库&#xff08;Local Repository&a…

人工智能理论之opencv图像预处理、数据库、GUI布局的综合应用(图像预处理版块)

文章目录 前言图像预处理卷积核概念图像平滑处理高斯滤波 双边滤波中值滤波Canny边缘检测图像形态学操作形态学梯度顶帽小结 图片预处理1.引入库 图像预处理错误尝试成功运行 总结 前言 对前面学习综合应用的总结&#xff0c;不单是一个版块&#xff0c;而是三个版块综合到一起…

Nginx(编译)+Lua脚本+Redis 实现自动封禁访问频率过高IP

1.安装lua 1.1安装LuaJIT yum install readline-devel mkdir -p lua-file cd lua-file/ wget https://github.com/LuaJIT/LuaJIT/archive/refs/tags/v2.0.5.tar.gz tar -zxvf LuaJIT-2.0.5.tar.gz cd LuaJIT-2.0.5 make && make install PREFIX/usr/local/luajit 1.2…

【python程序】恢复曾经删除的QQ说说

是否还能想起曾经的QQ说说&#xff0c;是否还想知道自己以前删除了什么 今天就给大家介绍下这个可以恢复以前删除的QQ说说的 小工具 这个工具是由python编写的&#xff0c;也已经打包好了小程序&#xff0c;一键运行 具体下载地址&#xff1a;https://pan.quark.cn/s/b3f41e3…

【统计子矩阵——部分前缀和+双指针】

题目 代码 #include <bits/stdc.h> using namespace std; typedef long long ll; const int N 510; int s[N][N]; int main() {ios::sync_with_stdio(0);cin.tie(0);int n, m, k;cin >> n >> m >> k;for(int i 1; i < n; i)for(int j 1; j <…

Java版——设计模式笔记

Java版——设计模式笔记 设计模式的分类 创建型模式&#xff08;Creational&#xff09;&#xff1a;关注对象的实例化过程&#xff0c;包括了如何实例化对象、隐藏对象的创建细节等。常见的创建型模式有单例模式、工厂模式、抽象工厂模式等。结构型模式&#xff08;Structur…

多语言电商系统的多语言设计机制

在全球化电商市场中&#xff0c;跨语言沟通是提升用户体验和扩大市场份额的关键。为了满足不同语言用户的需求&#xff0c;构建一个支持多语言的电商系统已成为企业扩展国际市场的重要步骤。多语言电商系统需要能够根据用户的语言偏好自动显示内容&#xff0c;同时保证翻译的准…

【Steam登录】protobuf协议逆向 | 续

登录接口&#xff1a; ‘https://api.steampowered.com/IAuthenticationService/BeginAuthSessionViaCredentials/v1’ 精准定位&#xff0c;打上条件断点 this.CreateWebAPIURL(t) ‘https://api.steampowered.com/IAuthenticationService/BeginAuthSessionViaCredentials/v1…

Python | Leetcode Python题解之第556题下一个更大元素III

题目&#xff1a; 题解&#xff1a; class Solution:def nextGreaterElement(self, n: int) -> int:x, cnt n, 1while x > 10 and x // 10 % 10 > x % 10:cnt 1x // 10x // 10if x 0:return -1targetDigit x % 10x2, cnt2 n, 0while x2 % 10 < targetDigit:c…

Python——数列1/2,2/3,3/4,···,n/(n+1)···的一般项为Xn=n/(n+1),当n—>∞时,判断数列{Xn}是否收敛

没注释的源代码 from sympy import * n symbols(n) s n/(n1) print(数列的极限为&#xff1a;,limit(s,n,oo))