手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

raidctl(1M)

名称

raidctl - RAID 硬件实用程序

用法概要

raidctl -C "disks" [-r raid_level] [-z capacity] [-s stripe_size] [-f]
     controller
raidctl -d [-f] volume
raidctl -F filename [-f] controller
raidctl -a {set | unset} -g disk {volume | controller}
raidctl -p "param=value" [-f] volume 
raidctl -c [-f] [-r raid_level] disk1 disk2 [disk3...]
raidctl -l -g disk controller
raidctl -l volume
raidctl -l controller
raidctl [-l]
raidctl -S [volume | controller]
raidctl -S -g disk controller
raidctl -h

描述

raidctl 实用程序是支持各种 RAID 控制器的硬件 RAID 配置工具,为最终用户提供了用于创建、删除或显示 RAID 卷的 CLI(Command Line Interface,命令行接口)。此实用程序还可用于设置卷的属性、将热备用 (hot-spare, HSP) 磁盘分配到卷或控制器,以及为 RAID 控制器更新固件/fcode/BIOS。

raidctl 实用程序要求具有受基础文件系统权限控制的特权。只有特权用户才能操控 RAID 系统配置。如果非特权用户尝试运行 raidctl,则此命令会失败,并返回退出状态 1。

如本手册页所述,raidctl 实用程序定义了一系列用于管理功能完备的 RAID 控制器的命令行选项。不过,对给定选项的支持依赖于以下两个元素:

  • 存在软件驱动程序

  • RAID 设备的固件级别

之所以依赖于软件驱动程序,是 raidctl 的设计使然。此实用程序基于支持为各种驱动程序插入插件模块的公共库而构建。目前,Solaris 操作系统附带了用于 mpt 驱动程序的一个插件。该插件并不是支持所有 raidctl 选项。在给定的存储设备上,这些选项可能会进一步受设备的固件级别限制。

对各个 raidctl 选项的支持级别不能由 raidctl 来确定。用户必须依据 RAID 控制器或硬件平台的文档来确定。

当前,raidctl Currently, raidctl 对下列 RAID 控制器提供一定级别的支持:

  • LSI1020 SCSI HBA

  • LSI1030 SCSI HBA

  • LSI1064 SAS HBA

  • LSI1068 SAS HBA

在 X86-32/64 和 SPARC 平台上,上述所有 HBA 都是由 mpt 驱动程序维护的。

选项

支持以下选项:

-C "disks" [-r raid_level] [-z capacity] [-s stripe_size] [-f] controller

使用指定的磁盘创建 RAID 卷。

使用此选项创建 RAID 卷时,会自动为新创建的卷生成标识,并且 raidctl 会将其报告给用户。

此选项指定的参数包含用来组成要创建的卷的元素。这些元素既可以是磁盘,也可以是子卷,其中磁盘用空格分隔,子卷是用括号分组的一组磁盘。所有磁盘都应该采用 C.ID.L 表示形式(例如,0.1.2 表示通道为 0,目标 ID 为 1,逻辑单元号为 2 的物理磁盘)。该参数必须与 -r 选项指定的 RAID 级别相匹配,即使会被忽略也应该匹配。这意味着该参数只能是:

对于 RAID 0

至少有 2 个磁盘

对于 RAID 1

只能有 2 个磁盘

对于 RAID 1E

至少有 3 个磁盘

对于 RAID 5

至少有 3 个磁盘

对于 RAID 10

至少有 2 个子卷,每个子卷必须由 2 个磁盘组成

对于 RAID 50

至少有 2 个子卷,每个子卷必须由至少 3 个磁盘组成,且每个子卷中的磁盘数量必须相同

例如,表达式 "0.0.0 0.1.0" 表示 2 个指定磁盘组成了一个 RAID 卷,该卷可以是 RAID 0 或 RAID 1 卷。"(0.0.0 0.1.0)(0.2.0 0.3.0)" 表示前 2 个磁盘和后 2 个磁盘分别组成了 2 个子卷,这 2 个子卷组成了 RAID 10 卷。有关更多样例,请参见“示例”部分。

-r 选项指定了要创建的卷的 RAID 级别。可能的级别包括 0、1、1E、5、10、50。如果省略了此选项,raidctl 在缺省情况下会创建 RAID 1 卷。

-z 选项指定了要创建的卷的容量。单位可以是兆兆字节、千兆字节或兆字节(例如 2t、10g、20m 等)。如果省略了此选项,raidctl 会计算指定的磁盘可以创建的最大卷容量,并使用该值来创建卷。

-s 选项指定要创建的卷的条带大小。可能的值包括 512、1k、2k、4k、8k、16k、32k、64k 或 128k。如果省略了此选项,raidctl 会为此卷选择合适的值(例如 64k)。

在某些情况下,创建 RAID 卷会导致指定磁盘上的数据丢失(例如,在 LSI1020、LSI1030、SAS1064 或 SAS1068 HBA 上就会出现这种情况),raidctl 会提示用户确认卷的创建。使用 -f 选项可在不提示用户确认的情况下强制创建卷。

controller(控制器)参数用于标识指定磁盘所属的 RAID 控制器。可使用 -l 选项列出控制器的 ID 号。

-d [-f] volume

删除指定为 volume(卷)的 RAID 卷。该卷是采用规范的格式(例如 c0t0d0)指定的。

卷被删除后,所有数据都会丢失。因此,除非指定了 -f 选项,否则 raidctl 会在删除卷之前提示用户确认。

-F filename [-f] controller

更新在指定控制器上运行的固件。除非提供了 -f 选项,否则 raidctl 实用程序会提示用户确认此操作。

-a {set | unset} -g disk {volume | controller}

如果指定了卷,raidctl 会根据 -a 选项指定的值将磁盘设置为该卷专用的本地热备用磁盘,或取消将其设置为本地热备用磁盘。如果指定了控制器,raidctl 会将磁盘设置为全局热备用磁盘或取消将其设置为全局热备用磁盘。

-p "param=value" [-f] volume

更改给定 RAID 卷的属性值。可使用此选项来更改高速缓存写入策略或激活卷。当更改高速缓存写入策略时,param 应该为字符串 wp (SET_WR_POLICY),value 可以是 onoff。当用来激活卷时,param 应该为 statevalue 应该为 activate

更改 RAID 卷的属性会影响 RAID 控制器的内部行为,因此,除非指定了 -f 选项,否则 raidctl 会在应用更改之前提示用户确认。

-c [-f] [-r raid_level] disk1 disk2 [disk3...]

使用指定的磁盘创建卷。这是具有类似功能的 -C 选项的替代选项。此选项是为实现兼容性而保留的,但只能用于在 LSI1020、LSI1030、SAS1064 和 SAS1068 HBA 上创建 RAID 0、RAID 1 或 RAID 1E 卷。对于其他 HBA,用户只能使用 -C 选项。

可使用 -r 选项指定目标卷的 RAID 级别。如果省略了 -r 选项,raidctl 会创建 RAID 1 卷。

磁盘必须采用 Solaris 规范格式指定(例如 c0t0d0)。

使用此选项创建 RAID 1 卷会用磁盘 1 中的内容替换磁盘 2 中的内容。

当用户使用此选项创建 RAID 卷时,RAID 卷将采用磁盘 1 的标识。其他磁盘将成为不可见的,RAID 卷将显示为一个磁盘。

使用此选项创建卷在缺省情况下是交互式的。用户必须肯定的回答提示问题,才能创建卷。使用 -f 选项可在不提示用户确认的情况下强制创建卷。

-l -g disk controller

显示给定控制器的指定磁盘的相关信息。输出包括以下信息:

Disk

C.ID.L 表示形式显示磁盘。

Vendor

显示供应商 ID 字符串。

Product

显示产品 ID 字符串。

Capacity

显示磁盘的总容量。

状态

显示磁盘的当前状态。状态可能为 "GOOD"(良好)(正在正常运行)、"FAILED"(故障)(不能正常使用)或 "MISSING"(缺少)(磁盘不存在)。

HSP

指示磁盘已设置为全局热备用磁盘、本地热备用磁盘还是标准磁盘。如果是本地热备用磁盘,则会显示此磁盘被分配到的所有卷。

GUID

指定的磁盘的 GUID 字符串。这是附加的数据,在某些情况下可能不可用。

–l volume

显示指定卷的相关信息。输出包括以下信息:

Volume

以规范格式显示卷。

Sub

显示子卷,如果指定的卷为 RAID 10 或 RAID 50 卷。

Disk

显示组成指定卷的所有磁盘。

Stripe Size

显示卷的条带大小。

状态

显示指定卷或者组成指定卷的子卷或磁盘的状态。对于非活动卷,状态应当为 INACTIVE(非活动),其他情况下可能为 OPTIMAL(最佳)(正在以最佳状态运行)、DEGRADED(降级)(正在以降级的功能运行)、FAILED(故障)(不能正常使用)或 SYNC(同步)(磁盘正在同步)。对于磁盘,状态可能为 GOOD(良好)、FAILED(故障)MISSING(缺少)。

Cache

指示是否向 I/O 写入活动应用了高速缓存。高速缓存可能为 "ON" 或 "OFF"。

RAID level

显示 RAID 级别。RAID 级别可能为 0、1、1E、5、10 或 50。

–l controller ...

显示指定控制器的相关信息。输出包括以下信息:

Controller

显示 RAID 控制器的 ID 号。

Type

显示 RAID 控制器的产品类型。

fw_version

显示控制器的固件版本。

[–l]

列出 raidctl 实用程序可以操控的所有 RAID 相关对象,包括所有可用的 RAID 控制器、RAID 卷和物理磁盘。可以省略 -l 选项。

输出包括以下信息:

Controller

显示 RAID 控制器的 ID 号。

Volume

显示逻辑 RAID 卷名。

Disk

C.ID.L 表示形式显示 RAID 磁盘。

-S [volume | controller]

拍摄 RAID 配置信息(包括所有可用的 RAID 设备、RAID 控制器、卷和磁盘)的快照。

输出的每一行都指定了 RAID 设备及其相关信息,相互之间以空格分隔。所有卷和磁盘都属于最后指定的控制器。

输出列出以下信息:

Controller

显示控制器 ID 号以及用双引号引起来的控制器类型字符串。

Volume

显示 RAID 卷名、组件磁盘的数目、组件磁盘的 C.ID.L 表示形式、RAID 级别,以及状态。状态可能为 OPTIMAL(最佳)、DEGRADED(降级)、FAILED(故障)或 SYNCING(正在同步)。

Disk

显示磁盘的 C.ID.L 表示形式和状态。状态可能为 GOOD(良好)、FAILED(故障)或 HSP(磁盘已设置为备用磁盘)。

如果指定了卷或控制器,则只会拍摄指定的卷或控制器的信息快照。

-S -g disk controller

拍摄指定的磁盘的信息快照。

-h

输出用法字符串。

示例

示例 1 创建 RAID 配置

以下命令在控制器 0 上创建 10G 的 RAID 0 卷,条带大小设置为 64k:


# raidctl -C "0.0.0 0.2.0" -r 0 -z 10g -s 64k 0

以下命令在控制器 2 上创建 RAID 1 卷:


# raidctl -C "0.0.0 1.1.0" -r 1 2

以下命令在控制器 2 上创建 RAID 5 卷:


# raidctl -C "0.0.0 0.1.0 0.2.0" -r 5 2

以下命令在控制器 0 上创建 RAID 10 卷:


# raidctl -C "(0.0.0 0.1.0)(0.2.0 0.3.0)" -r 10 0

以下命令在控制器 0 上创建 RAID 50 卷:


# raidctl -C "(0.0.0 0.1.0 0.2.0)(0.3.0 0.4.0 0.5.0)" -r 50 0
示例 2 显示 RAID 配置

以下命令显示所有可用的控制器、卷和磁盘:


# raidctl -l

Controller: 0
Controller: 2
         Volume:c2t0d0
         Disk: 0.0.0
         Disk: 0.1.0
         Disk: 0.2.0
         Disk: 0.3.0(HSP)

以下命令显示控制器 2 的相关信息:


# raidctl -l 2

Controller      Type            Fw_version
--------------------------------------------------------------
c2              LSI 1030        1.03.39.00

以下命令显示指定卷的相关信息:


# raidctl -l c2t0d0

Volume                  Size    Stripe  Status  Cache   RAID
         Sub                     Size                    Level
                Disk
--------------------------------------------------------------
c2t0d0                 10240M  64K     OPTIMAL ON      RAID5
                0.0.0   5120M           GOOD
                0.1.0   5120M           GOOD
                0.2.0   5120M           GOOD

以下命令显示控制器 0 上的磁盘 0.0.0 的相关信息:


# raidctl -l -g 0.0.0  0

Disk    Vendor  Product         Firmware Capacity        Status  HSP
--------------------------------------------------------------------
0.0.0   HITACHI H101473SCSUN72G SQ02     68.3G           GOOD    N/A
GUID:2000000cca02536c
示例 3 删除 RAID 配置

以下命令将删除卷:


# raidctl -d c0t0d0

示例 4 更新控制器上的闪存映像

以下命令更新控制器 0 上的闪存映像:


# raidctl -F lsi_image.fw 0

示例 5 设置或取消设置热备用磁盘

以下命令将控制器 2 上的磁盘 0.3.0 设置为全局热备用磁盘:


# raidctl -a set -g 0.3.0 2

以下命令将控制器 2 上的磁盘 0.3.0 设置为卷 c2t0d0 的本地热备用磁盘:


# raidctl -a set -g 0.3.0 c2t0d0

以下命令将控制器 2 上的磁盘 0.3.0 从全局热备用磁盘转换为标准磁盘:


# raidctl -a unset -g 0.3.0 2

以下命令取消将磁盘 0.3.0 用作卷 c2t0d0 的本地热备用磁盘:


# raidctl -a unset -g 0.3.0 c2t0d0

示例 6 设置卷的属性

以下命令将卷的写入策略设置为 "off":


# raidctl -a set -p "wp=off" c0t0d0

示例 7 使用 –c 选项创建卷

以下命令创建 RAID 1 卷:


# raidctl -c c0t0d0 c0t1d0

以下命令创建 RAID 0 卷:


# raidctl -c -r 0 c0t1d0 c0t2d0 c0t3d0

示例 8 拍摄 RAID 配置的快照

以下命令拍摄所有 RAID 设备的快照:


# # raidctl -S

1 "LSI 1030"
c1t1d0 2 0.2.0 0.3.0 1 DEGRADED
0.2.0 GOOD
0.3.0 FAILED

以下命令拍摄关于卷 c1t0d0 的快照:


# raidctl -S c1t0d0

c1t0d0 2 0.0.0 0.1.0 1 OPTIMAL

以下命令拍摄关于控制器 1 上的磁盘 0.1.0 的快照:


# raidctl -S -g 0.1.0 1

0.1.0 GOOD

退出状态

将返回以下退出值:

0

成功完成。

1

命令行输入无效或权限被拒绝。

2

请求操作失败。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
接口稳定性
Committed(已确定)

另请参见

attributes(5)mpt(7D)

Oracle Solaris 11 管理介绍

警告

如果计划使用 Solaris 多路径 I/O 功能(也称为 MPxIO),请不要在内部 SAS 磁盘上创建 RAID 卷。在 Solaris 多路径下创建新的 RAID 卷会为根设备指定一个新的 GUID,这个新的 GUID 与现有设备的 GUID 不匹配。这会导致引导失败,因为 /etc/vfstab 中的根设备条目不匹配。

附注

在使用 mpt 驱动程序和 LSI RAID 控制器的系统上,–z 选项不受支持。