以飞腾平台的服务器为例,讲解一下Raid卡(Controller)与各个磁盘是如何连接的物理拓扑。
-
前面板的磁盘槽位(Slot)共有8个,每个槽位可插入一块磁盘(Physical Drive,简称PD),见下图。
-
磁盘都通过接口汇聚到了背板(Enclosure,即下图那块绿色的PCB板)。然后通过背板上的接口(下图箭头处)和线缆连接到RAID卡。
-
通过两个接口(下图红框处)将部磁盘接入控制卡,进行管理和控制。
综上所述,将上述关系简化梳理一下,根据Controller、Encosure、slot、pd的物理结构整理关系如下(如下图左侧),而图右的DG(Drive group)、VD(Virtual drive)相对而言偏逻辑上的概念(具体解释见1.2章节),是建立在物理设备基础之上的。
在Storcli64的官方手册上有介绍命令的语法结构(如下),简单说就是"对…对象进行…动作"。最主要的参数是object identify和verb。一个指定操作对象,另一个指定操作动作。
<[object identifier]><verb><[adverb|attributes|properties]><[key=value]>
如下图,以“/”打头的就是用来指定操作对象的object identify参数。其他add、delete、show等就是verb参数。verb参数都是字如其义,大家都懂的我就不赘述了。
重点介绍一下object identify参数,该参数采用“/+对象简写+序号”的组合形式,用来指定此次操作的对象,常用的有如下几种:
Object Identify | 解释 |
---|---|
/cx | Controller,指RAID卡 |
/ex | Enclosure,指磁盘背板 |
/sx | Slot/Physical Drive,字面意思槽位,引申为物理磁盘 |
/vx | Virtual Drive,虚拟磁盘 |
/fall | Foreign configuration file,外部配置 |
/dx | Disk Group,磁盘组 |
-
在Storcli命令行里指定object identify都要带上“/”号,否则会报错;
-
x表示序号,如0、1、2等等。序号用来表示该对象的特定对象,如/c0即代表第一张controller,s0表示第一个槽位;
-
另外/call、/fall这种“/+对象简写+all”的组合,用来泛指该类型的所有对象,如/call表示所有的controller;
当object identify是物理设备,如controller、enclosure、slot、pd等,下发的命令行要使用类似绝对路径的描述方式指定参数时,从根节点(controller)开始,一层层指定所属关系,中间参数不能空缺。
当object identify是逻辑对象,如DG、VD、外部配置等,则只需指定controller号即可,即表明在那个RAID卡上进行操作产生的DG或者VD。
为了方便大家理解,我整理了一下常用的对象组合,如下:
常用组合 | 解释 |
---|---|
/cx | 操作对象是控制器,需要对controller进行操作时,下发该参数 |
/cx /ex | 操作对象是磁盘背板,需要对enclosure进行操作时,下发该组合 |
/cx /ex /sx | 操作对象是磁盘,需要对slot或者PD进行操作时,下发该组合 |
/cx /fx | 操作对象是外部配置文件,下发该组合 |
/cx /vx | 操作对象是VG时,下发该组合 |
/cx /dx | 操作对象是DG时,下发该组合 |