Ubuntu-18.04使用perccli查看PERC RAID的配置


前言

RAID在服务器上使用的非常普遍,可以说没有哪个现代服务器能离开RAID。常见的RAID级别有RAID 0、RAID 1、RAID 5、RAID 10、RAID50、RAID60等等。常见的RAID控制器有MegaRAID、DELL PERC系列、浪潮PM系列等等。之前浪潮的RAID和MegaRAID我已经论述过了,今天讲一下我用过的另一款RAID:DELL PERC 9系列的H330 Mini。


一、DELL PERC是什么?

Dell PERC (PowerEdge RAID Controller), computer hardware used in Dell PowerEdge servers。

一言以蔽之,就是一种RAID卡。

二、部署

每一种RAID都有一个自己的cli,PERC 9使用的cli叫perccli。在Ubuntu-18.04上我没有找到apt的源,所以没有办法使用apt下载,我去官方找了一个适用于CentOS-7的rpm包并将它移植到Ubuntu上了,实测Ubuntu-18.04是可以使用的。如果你不愿意去官网找就下载我从CentOS-7移植(移动)过来的。

1.下载

perccli.tar

注意:工具只有64位的,而且我的服务器系统是18.04,没在>18.04的系统上测试过!

2.安装

安装方法
tar -xmf perccli.tar
sudo mkdir /opt/MegaRAID
sudo mv perccli /opt/MegaRAID
sudo ln -s /opt/MegaRAID/perccli/perccli64 /usr/sbin/perccli64

三、使用

你要有一个perccli支持的RAID卡,我的型号是PERC H330 Mini,实测可以支持。理论上这个软件应该是支持所有PERC 9系列的卡,10和11没有测试过,请谨慎操作!

1.查看perccli版本

有些操作可能需要特定的cli版本才行,可以使用这个命令查看cli版本。

不需要sudo权限
perccli64 -v

输出
      PercCli SAS Customization Utility Ver 1.17.10 October 21, 2015

    (c)Copyright 2015, AVAGO Corporation, All Rights Reserved.

Exit Code: 0x00

2.查看控制器数目

我前面说的PERC H330 Mini就是一个RAID控制器,RAID控制器一般能拖动不少硬盘,我这款最大支持128个硬盘(我插了10块不到)。所以,好多小型的服务器只有一个RAID控制器就够用了。

需要sudo权限
sudo perccli64 show ctrlcount

输出
Status Code = 0
Status = Success
Description = None

Controller Count = 1

Controller Count = 1:我只有一块H330 Mini

3.查看帮助信息

这些帮助信息几乎没什么用,它只能显示所有的命令列表,没有对命令的说明。方便一时想不起来命令的管理员使用。

不需要sudo权限
perccli64 show help

输出所有命令列表,太长了,不一一列举

4.查看概览信息

这个命令输出控制器信息,驱动器信息和一些配置信息。

需要sudo权限
sudo perccli64 show all

输出
Status Code = 0
Status = Success
Description = None

Number of Controllers = 1
Host Name = ******
Operating System  = Linux4.15.0-163-generic

System Overview :
===============

-------------------------------------------------------------------------
Ctl Model        Ports PDs DGs DNOpt VDs VNOpt BBU  sPR DS EHS ASOs Hlth
-------------------------------------------------------------------------
  0 PERCH330Mini     8   8   2     0   2     0 Msng On  3  N      0 Opt
-------------------------------------------------------------------------

Ctl=Controller Index|DGs=Drive groups|VDs=Virtual drives|Fld=Failed
PDs=Physical drives|DNOpt=DG NotOptimal|VNOpt=VD NotOptimal|Opt=Optimal
Msng=Missing|Dgd=Degraded|NdAtn=Need Attention|Unkwn=Unknown
sPR=Scheduled Patrol Read|DS=DimmerSwitch|EHS=Emergency Hot Spare
Y=Yes|N=No|ASOs=Advanced Software Options|BBU=Battery backup unit
Hlth=Health|Safe=Safe-mode boot


ASO :
===

----
Ctl
----
  0
----

Cl=Cluster|MD=Max Disks|WC=Wide Cache|SS=Safe Store|FP=Fast Path|Re=Recovery
CR=CacheCade(Read)|RF=Reduced Feature Set|CO=Cache Offload
CW=CacheCade(Read/Write)|X=Not Available/Not Installed|U=Unlimited|T=Trial
|HA=High Availability |SSHA=Single server High Availability

5.控制器相关命令

前面的命令都不需要指定操作哪个控制器,因为它们是和控制器无关的命令。接下来要操作的命令是针对某一个控制器的,第一个控制器ID是0,第二个是1,依此类推。

1.查看工作模式

sudo perccli64 /c0 show personality

Controller = 0
Status = Success
Description = None


Controller Properties :
=====================

----------------------------------
Ctrl_Prop               Value
----------------------------------
Current Personality     RAID-Mode
Supported Personalities HBA
----------------------------------

我这款控制器有两种工作模式RAID-Mode和HBA。RAID-Mode就是让控制器接管硬盘,通过创建RAID并让内核识别为一个虚拟设备,通俗点说就是你插一个硬盘它是不在/dev目录里显示的,直到你将它加入一个VG它才会以一个独立块设备在/dev目录里显示出来。而,HBA恰恰相反,直接暴露给内核,不用配置VG也能在/dev里面显示。

Current Personality:我当前的配置是RAID-Mode
Supported Personalities:这块RAID卡支持HBA模式

注意:RAID-Mode和HBA之间切换不是随意切换的,需要满足指定条件:

• 必须移除或删除所有虚拟磁盘。
• 必须删除热备盘,或将其用于其他用途。
• 必须清除或删除所有的外部配置。
• 必须移除所有处于故障状态的物理磁盘。
• 必须删除任何与 SED 关联的本地安全密钥。

除非必要不建议来回切换,一般安装了RAID卡都是为了配置RAID-Mode。

2.查看控制器摘要信息

此命令显示控制器信息的摘要。该摘要包括基本控制器信息、外部配置、驱动器组、虚拟驱动器、物理驱动器、存储模块和 BBU 信息。如果使用 JBOD 选项,则该命令将显示 JBOD 列表中显示的所有非 RAID 磁盘。如果物理磁盘为非 RAID,则其类型设置为 JBOD,其状态设置为联机。

sudo perccli64 /c0 show

3.查看控制器汇总信息

此命令显示所有控制器信息,包括基本控制器信息、总线信息、控制器状态、高级软件选项、控制器策略、控制器默认值、控制器功能、计划任务、其他属性、外部配置、驱动器组、虚拟驱动器、物理驱动器、存储模块和 BBU 信息。

sudo perccli64 /c0 show all

输出太长了,截取一部分
Virtual Drives = 2

VD LIST :
=======

---------------------------------------------------------------
DG/VD TYPE   State Access Consist Cache Cac sCC      Size Name
---------------------------------------------------------------
0/0   RAID1  Optl  RW     Yes     NRWTD -   OFF 893.75 GB
1/1   RAID10 Optl  RW     Yes     NRWTD -   OFF 21.830 TB
---------------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency

Physical Drives = 8

PD LIST :
=======

---------------------------------------------------------------------------
EID:Slt DID State DG      Size Intf Med SED PI SeSz Model               Sp
---------------------------------------------------------------------------
32:0      0 Onln   0 893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8 U
32:1      1 Onln   0 893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8 U
32:2      2 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
32:3      3 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
32:4      4 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
32:5      5 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
32:6      6 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
32:7      7 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
---------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded

更多用法请查询官方文档。

6.驱动器相关命令

就是查看物理磁盘相关的命令。先回到上面获取到的PD List:

PD LIST :
=======

---------------------------------------------------------------------------
EID:Slt DID State DG      Size Intf Med SED PI SeSz Model               Sp
---------------------------------------------------------------------------
32:0      0 Onln   0 893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8 U
32:1      1 Onln   0 893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8 U
32:2      2 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
32:3      3 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
32:4      4 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
32:5      5 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
32:6      6 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
32:7      7 Onln   1  7.276 TB SAS  HDD N   N  512B ST8000NM0185        U
---------------------------------------------------------------------------

重点关注EID(Enclosure Device ID)和Slt(Slot Number),这个后面会用到。这个就像是一种定位物理磁盘的方法一样,如果你想在RAID控制器里唯一标识一块磁盘你就要同时知道Controller ID,EID和Slt这三个。

1.查看驱动器摘要信息

sudo perccli64 /c0/e32/s0 show

Controller = 0
Status = Success
Description = Show Drive Information Succeeded.


Drive Information :
=================

---------------------------------------------------------------------------
EID:Slt DID State DG      Size Intf Med SED PI SeSz Model               Sp
---------------------------------------------------------------------------
32:0      0 Onln   0 893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8 U
---------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded
查询同一个EID下的多块磁盘
sudo perccli64 /c0/e32/s0,1 show
或
sudo perccli64 /c0/e32/s0-1 show

s0,1:查询0和1两块磁盘
s0-1:查询0到1之间的磁盘包括0和1

查询同一个EID下的所有磁盘
sudo perccli64 /c0/e32/sall show

2.查看驱动器汇总信息

sudo perccli64 /c0/e32/s0 show all

查询多个磁盘和上面用法一样。

更多用法请查询官方文档。

7.虚拟驱动器相关命令

前面已经说了,RAID-Mode这种模式下,PD必须通过RAID转化成VD才能被内核识别使用。

Virtual Drives = 2

VD LIST :
=======

---------------------------------------------------------------
DG/VD TYPE   State Access Consist Cache Cac sCC      Size Name
---------------------------------------------------------------
0/0   RAID1  Optl  RW     Yes     NRWTD -   OFF 893.75 GB
1/1   RAID10 Optl  RW     Yes     NRWTD -   OFF 21.830 TB
---------------------------------------------------------------

记住VD这个字段,后面会用到。列表里可以看到我创建了两个VD,分别是0和1,可以理解成VD的ID。

1.查询虚拟驱动器的摘要信息

sudo perccli64 /c0/v0 show

Controller = 0
Status = Success
Description = None


Virtual Drives :
==============

--------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC      Size Name
--------------------------------------------------------------
0/0   RAID1 Optl  RW     Yes     NRWTD -   OFF 893.75 GB
--------------------------------------------------------------

Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|B=Blocked|Consist=Consistent|
R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency
查询多个虚拟驱动器的摘要信息
sudo perccli64 /c0/v0,1 show
或
sudo perccli64 /c0/v0-1 show

v0,1:虚拟驱动器0和1
v0-1:虚拟驱动器0到1范围,包括0和1

查询所有虚拟驱动器的摘要信息
sudo perccli64 /c0/vall show

2.查询虚拟驱动器的汇总信息

sudo perccli64 /c0/v0 show all

除了上面的虚拟驱动器列表信息以外还显示其它配置项:

PDs for VD 0 :
============

---------------------------------------------------------------------------
EID:Slt DID State DG      Size Intf Med SED PI SeSz Model               Sp
---------------------------------------------------------------------------
32:0      0 Onln   0 893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8 U
32:1      1 Onln   0 893.75 GB SATA SSD N   N  512B INTEL SSDSC2KB960G8 U
---------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded


VD0 Properties :
==============
Strip Size = 64 KB
Number of Blocks = 1874329600
VD has Emulated PD = Yes
Span Depth = 1
Number of Drives Per Span = 2
Write Cache(initial setting) = WriteThrough
Disk Cache Policy = Disk's Default
Encryption = None
Data Protection = None
Active Operations = None
Exposed to OS = Yes
Creation Date = 04-08-2020
Creation Time = 03:06:04 PM
Emulation type = default
Cachebypass size = Cachebypass-64k
Cachebypass Mode = Cachebypass Intelligent
Is LD Ready for OS Requests = Yes

查询多个和所有命令和上面一样。


总结

1、因为服务器时一直运行中的,所以没办法去重新做RAID测试,手上也没有多余的硬盘可以插上去,所以就暂时没有写配置相关的命令,等有空再说吧。
2、切记滥用sudo权限导致误操作,show命令是查询命令,不会对服务器运行产生影响。

相关推荐

  1. Ubuntu-18.04使用perccli查看PERC RAID配置

    2024-03-10 00:44:05       40 阅读
  2. ubuntu1804安装jupyter中js环境

    2024-03-10 00:44:05       65 阅读
  3. ubuntu 查看进程所使用网络连接

    2024-03-10 00:44:05       32 阅读
  4. ubuntu查看内存使用情况

    2024-03-10 00:44:05       56 阅读
  5. Ubuntu查看内存使用情况

    2024-03-10 00:44:05       49 阅读
  6. 如何使用ubuntu查看内存使用情况

    2024-03-10 00:44:05       55 阅读
  7. ubuntu1404安装dockerce

    2024-03-10 00:44:05       39 阅读
  8. ubuntu 查询流量使用

    2024-03-10 00:44:05       50 阅读
  9. arm32机器ubuntu1804源突然不能update了

    2024-03-10 00:44:05       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 00:44:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 00:44:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 00:44:05       82 阅读
  4. Python语言-面向对象

    2024-03-10 00:44:05       91 阅读

热门阅读

  1. 掌握mysql,看完这篇文章就够了

    2024-03-10 00:44:05       44 阅读
  2. 管理npm源:如何使用nrm工具提升你的开发效率

    2024-03-10 00:44:05       43 阅读
  3. 机器学习流程—数据预处理 Encoding

    2024-03-10 00:44:05       45 阅读
  4. C++vector简单实现

    2024-03-10 00:44:05       44 阅读
  5. 大唐杯学习笔记:Day9

    2024-03-10 00:44:05       45 阅读
  6. QT使用官方VLC以及Ffmpeg库的方法

    2024-03-10 00:44:05       39 阅读
  7. UE4游戏传奇4的SDK的部分数据之-移动状态

    2024-03-10 00:44:05       54 阅读
  8. iperf流量分析

    2024-03-10 00:44:05       52 阅读
  9. Oracle统计信息收集维护

    2024-03-10 00:44:05       49 阅读