StorCli工具学习记录

StorCli工具学习记录

StorCLI(Storage Command Line Interface)是一款强大的命令行管理工具,用于管理和配置存储控制器。这一工具主要适用于Broadcom(原LSI)及Intel RAID控制器。

下面将详细介绍StorCLI的安装、特点、操作说明、常用场景、适用场景及具体应用。

安装

Windows

下载:访问Broadcom官方网站或Intel官方网站下载StorCLI工具。

  • Intel版本:Intel StorCLI Standalone Utility 。
  • Broadcom版本:Broadcom StorCLI for Windows。

安装:对于Windows系统,StorCLI以二进制格式提供,无需单独安装。

  • 将下载的二进制文件复制到您希望运行StorCLI的目录中。
  • 通过Windows PowerShell中的命令提示符运行StorCLI命令。
Linux

下载:从Broadcom或Intel官方网站下载适用于Linux的StorCLI版本。

  • 访问上述链接,选择适用于Linux的版本进行下载。

安装:

  • 解压下载的文件。
  • 将解压后的二进制文件复制到/usr/local/bin或其他PATH环境变量包含的目录,以便在任何位置都能调用StorCLI命令。
VMware ESXi

下载:Broadcom提供了适用于VMware的StorCLI工具,可从Broadcom官方网站下载。

  • 直接访问Broadcom StorCLI for VMware下载页面 [3]。

安装:

  • 通过vSphere CLI或直接在ESXi Shell中运行特定的安装脚本。
  • 详细的安装指南通常会包含在下载包中,或者可以在Broadcom技术文档网站上找到。

特点

  • 跨平台支持:StorCLI支持Windows、Linux和VMware ESXi等多种操作系统。
  • 全面的管理功能:可以进行逻辑驱动器的创建、删除、监控和管理;物理驱动器的状态检查;控制器日志的查看等。
  • 易于自动化:由于是命令行工具,它易于集成到脚本中,实现自动化管理。

操作说明

  • 查看控制器信息

这个命令会显示系统中所有控制器的列表和基本信息。

storcli /c0 show
  • 创建RAID 0逻辑驱动器
storcli /c0 add vd r0 drives=2:0-1
  • 查看虚拟驱动器信息

命令用于显示指定控制器上所有虚拟驱动器的详细信息。

storcli /c0 /vall show
  • 查看特定控制器的物理驱动器信息

/c0指定控制器编号,/eall表示所有封装(Enclosure),/sall表示所有槽位(Slot)。这个命令用于查看指定控制器上所有物理驱动器的状态和信息。

storcli /c0 /eall /sall show
  • 创建RAID 5逻辑驱动器

命令用于在控制器0上,使用封装2的槽位2至4的物理驱动器创建一个RAID 5虚拟驱动器

storcli /c0 add vd r5 drives=2:2-4
  • 扩展虚拟驱动器

/v0指定要扩展的虚拟驱动器编号。这个命令将封装2的槽位5的物理驱动器添加到虚拟驱动器0中,以扩展其容量。

storcli /c0 /v0 expand drive=2:5
  • 设置虚拟驱动器的缓存策略

命令开启虚拟驱动器0的写缓存。wrcache=off可用于关闭写缓存。

storcli /c0 /v0 set wrcache=on
  • 固件更新

命令用于更新指定控制器的固件。<firmware_file_path>需要替换为固件文件的实际路径。

storcli /c0 download file=<firmware_file_path>
  • 删除虚拟驱动器

命令强制删除编号为0的虚拟驱动器。

storcli /c0 /v0 del force

常用场景

  • RAID配置:在没有图形界面的服务器上配置RAID,如Linux服务器或VMware ESXi主机。
  • 状态监控:定期检查RAID阵列和物理硬盘的状态,确保数据安全。
  • 性能优化:调整RAID阵列的缓存策略和条带大小,以优化性能。
  • 固件更新:更新存储控制器的固件版本,保持系统稳定运行。

适用场景

StorCLI适用于需要精细管理存储控制器配置的场景,特别是在数据中心和企业环境中。对于需要自动化存储管理任务的系统管理员来说,StorCLI是一个宝贵的工具。

具体应用

自动化脚本:通过编写脚本来自动化创建RAID阵列、监控硬盘健康状态和执行定期维护任务。
故障排除:当存储系统出现问题时,使用StorCLI快速定位问题源头,如检查硬盘故障或RAID阵列状态。
性能调优:根据应用需求调整RAID策略,如更改写入缓存策略或调整条带大小来优化读写性能。
总之,StorCLI为存储管理提供了一个强大而灵活的工具,特别适合需要高度自定义和自动化管理存储解决方案的环境。

脚本示例

import subprocessdef run_storcli(cmd):"""执行StorCLI命令"""try:result = subprocess.run(cmd, shell=True, check=True, capture_output=True, text=True)print(result.stdout)except subprocess.CalledProcessError as e:print("错误输出:", e.stderr)def create_raid(controller, raid_level, drives):"""创建RAID"""cmd = f"storcli /c{controller} add vd {raid_level} drives={drives}"print(f"执行命令:{cmd}")run_storcli(cmd)def main_menu():print("请选择要创建的RAID类型:")print("1. RAID 0")print("2. RAID 1")print("3. RAID 5")print("4. RAID 10")print("5. 退出")choice = input("请输入选项(1-5):")return choiceif __name__ == "__main__":while True:user_choice = main_menu()if user_choice == "1":# 创建RAID 0create_raid(0, "r0", "2:0-1")elif user_choice == "2":# 创建RAID 1create_raid(0, "r1", "2:2-3")elif user_choice == "3":# 创建RAID 5create_raid(0, "r5", "2:4-6")elif user_choice == "4":# 创建RAID 10create_raid(0, "r10", "2:7-10")elif user_choice == "5":print("退出程序。")breakelse:print("无效的输入,请重新输入。")

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

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

相关文章

数据结构 - 顺序表实现通讯录

test.c文件 #define _CRT_SECURE_NO_WARNINGS 1#include "Contact.h" int main() {Con myContacts;ConInit(&myContacts);int choice;int index;char targetName[100];PerInfo contact; // 创建一个新的联系人信息实例while (1) {printf("\n--- 通讯录管理…

Linux下的UDEV机制/守护进程

一. Udev机制概念引入 ( 需要在 etc/udev/rules.d/ 下创建设备的相关规则&#xff0c;不然有可能udev机制生成的设备文件不具备可读可写的权限&#xff0c;adb无法成功通过该设备文件访问设备 ) a. 创建文件夹 sudo vim Xiaomi-audroid.rules b. 添加规则 …

景区ar导览实景导航小程序系统开发源码搭建

开发景区AR导览实景导航小程序系统需要以下步骤&#xff1a; 1. 确定需求和功能&#xff1a;根据景区AR导览实景导航的需求和功能&#xff0c;确定需要开发哪些功能模块&#xff0c;如AR实景导航、语音讲解、景点介绍、路线规划等。 2. 确定技术方案&#xff1a;选择适合的技…

在vscode上面进行分支merge的记录

前言&#xff1a;在我们的项目中&#xff0c;有两个分支&#xff1a;master和liutielong。现在要将liutielong分支的改动merge到master分支中。 如果master分支已经更改了&#xff0c;所以要先pull&#xff08;这是在git bash里面的命令&#xff09;。 git pull origin master…

5分钟——快速搭建后端springboot项目

5分钟——快速搭建后端springboot项目 1. idea新建工程2. 构建pom.xml文件3. 构建application.yml配置文件4. 构建springboot启动类5. 补充增删改查代码6. 运行代码 1. idea新建工程 点击右上角新建一个代码工程 别的地方不太一样也不用太担心&#xff0c;先创建一个工程就好…

学习配置文件

1.yml的语法格式问题&#xff1a; 2.配置文件获取数据&#xff1a; Value方式&#xff1a; Environment&#xff1a; 获取自定义对象的方式&#xff1a; 设置get和set方法&#xff0c;还有toString方法。 3. 日志配置&#xff1a; logo的配置&#xff1a; 日志插件&#xff…

汽车纵染压制专用液压机比例阀放大器

汽车纵染压制专用液压机比例阀放大器是一种专门用于汽车纵梁拉伸工艺的设备&#xff0c;它也可以用于其他金属薄板的压制成型及校正工艺。该类型的液压机通常具备独立的动力机构和电气系统&#xff0c;采用PLC技术进行控制&#xff0c;以确保操作的准确性和稳定性。除了纵梁拉伸…

【iOS】分类,扩展与关联对象

文章目录 前言一、分类实现原理二、分类加载流程三、扩展四、类别与类扩展的区别五、关联对象动态添加取值移除关联对象应用 总结 前言 上一篇章我们探究了类与对象的底层&#xff0c;这一篇我们探究一下分类&#xff0c;扩展与关联对象 一、分类实现原理 首先我们知道扩展是…

Rust :快速了解 VecDeque 双向队列

VecDeque是Rust标准库中的一个双端队列&#xff08;double-ended queue&#xff09;实现&#xff0c;它提供了在队列两端进行高效插入和删除操作的能力。双端队列是一种具有队列和栈的性质的数据结构&#xff0c;元素可以从两端弹出&#xff0c;其限定插入和删除操作在表的两端…

CentOS-7安装grafana

一、通用设置&#xff08;分别在4台虚拟机设置&#xff09; 1、配置主机名 hostnamectl set-hostname --static 主机名2、修改hosts文件 vim /etc/hosts 输入&#xff1a; 192.168.15.129 master 192.168.15.133 node1 192.168.15.134 node2 192.168.15.136 node33、 保持服…

GaussianEditor:快速可控的3D编辑与高斯飞溅

GaussianEditor: Swift and Controllable 3D Editing with Gaussian Splatting GaussianEditor&#xff1a;快速可控的3D编辑与高斯飞溅 Yiwen Chen*​1,2   Zilong Chen*​3,5   Chi Zhang2   Feng Wang3   Xiaofeng Yang2 陈怡雯 *​1,2 陈子龙 *​3,5 张驰 2 王峰 3 杨晓…

MySQL学习笔记7——视图和存储过程

视图和存储过程 一、视图1、视图的作用2、如何操作视图和视图中的数据3、视图的优缺点 二、存储过程1、如何创建存储过程2、调用存储过程3、修改和删除存储过程 一、视图 1、视图的作用 视图是一种虚拟表&#xff0c;我们可以把一段查询语句作为视图存储在数据库中&#xff0…

Cocos Creator 场景树与组件实例查找详解

前言 Cocos Creator 是一款由 Cocos-BCX 团队开发的一款基于 JavaScript 的游戏开发引擎&#xff0c;它提供了一套完整的游戏开发工具和资源&#xff0c;方便开发者快速构建游戏。在 Cocos Creator 中&#xff0c;场景树和组件实例的查找是非常重要的&#xff0c;它们可以帮助开…

.NET Core 中的 ORM 框架对比

在 .NET Core 中选择正确的对象关系映射 &#xff08;ORM&#xff09; 工具可能是开发生命周期中的关键决策。所选的 ORM 会影响应用程序的性能、可维护性和可伸缩性。在本文中&#xff0c;我们将深入分析三个突出的 ORM 选择&#xff1a;Entity Framework Core、Dapper 和 NHi…

算法设计与优化——向量中数据唯一化

0.概述 很多应用中&#xff0c;在进一步处理之前都要求数据元素互异。以网络搜索引擎为例&#xff0c;多个计算节点各自获得的局部搜索结果&#xff0c;需首先剔除其中重复的项目&#xff0c;方可合并为一份完整的报告。类似地&#xff0c;所谓向量的唯一化处理&#xff0c;就…

liqo学习及安装,k8s,kubernetes多集群互联

先按照官方的教程在虚拟机安装学习 在开始以下教程之前&#xff0c;您应该确保您的系统上安装了以下软件&#xff1a; Docker&#xff0c;容器运行时。Kubectl&#xff0c;Kubernetes 的命令行工具。 curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.…

本地有一个face.txt文档,里面是50条url图片链接。怎么通过python做数据增强,还额外再生成200张!!!???

为了完成这个作业&#xff0c;我们需要编写一个Python脚本&#xff0c;该脚本将读取face.txt文件中的图片链接&#xff0c;并对这些链接进行处理&#xff0c;生成额外的图片链接作为数据增强。请注意&#xff0c;由于我们实际上没有真正的图像数据&#xff0c;而是只有URL链接&…

python笔记-检测时间数据递增正确性

概述 本文主要描述了使用一个python脚本检查输入的时间数据&#xff0c;是否按正常递增的格式增加。 背景 在平常写时间校准算法的过程中&#xff0c;输出的数据不好检查是否每个时刻数据都是正确的&#xff0c;所以需要写一个脚本来检查&#xff0c;时间校准算法输出的时间…

基于Python利用zhconv模块进行简繁体字转换

在处理中文文本时&#xff0c;简繁体字之间的转换是一项常见的任务。Python提供了许多库来实现这个目的&#xff0c;其中之一就是zhconv。zhconv是一个Python库&#xff0c;提供了简体字和繁体字之间的转换功能。本教程将向你展示如何使用zhconv模块来实现简繁体字的互转&#…

Redis底层数据结构之Dict

目录 一、概述二、Dict结构三、Dictht结构四、DictEntry结构五、核心特性 上一篇文章 reids底层数据结构之quicklist 一、概述 Redis 的 Dict 是一个高效的键值对映射数据结构&#xff0c;采用双哈希表实现以支持无锁的渐进式 Rehash&#xff0c;确保扩容或缩容时的高效性能。…