Diskraid

Diskraid 是一种命令行工具,它使你能够配置和管理独立(或价廉)磁盘冗余阵列 (RAID) 存储子系统。

RAID 通常用于服务器来标准化容错磁盘系统并对其进行分类。 RAID 等级提供了性能、可靠性和费用方面的不同组合。 某些服务器提供三个 RAID 级别:级别 0(条带化)、级别 1(镜像)和级别 5(具有奇偶校验的条带化)。

硬件 RAID 子系统使用逻辑单元号 (LUN) 区分物理可寻址存储单元。 LUN 对象必须至少有一个 plex,并且可以有任意数量的附加 plex。 每个 plex 都包含 LUN 对象上数据的一个副本。 可以在 LUN 对象中添加和删除 plex。

大多数 Diskraid 命令在特定主机总线适配器 (HBA) 端口、发起程序适配器、发起程序门户、提供程序、子系统、控制器、端口、驱动器、LUN、目标门户、目标或目标门户组上运行。 使用 SELECT 命令选择对象。 所选对象据说具有焦点。 焦点简化了常见配置任务,例如在同一子系统中创建多个 LUN。

注意

Diskraid 命令行工具仅适用于支持虚拟磁盘服务 (VDS) 的存储子系统。

Diskraid 命令

Diskraid 工具中提供了以下命令。

add

将现有 LUN 添加到当前所选 LUN,或将 iSCSI 目标门户添加到当前所选的 iSCSI 目标门户组。

语法

add plex lun=n [noerr]
add tpgroup tportal=n [noerr]
参数
参数 说明
plex lun=<n> 指定要作为 plex 添加到当前所选 LUN 的 LUN 编号。 注意:LUN 上添加为 plex 的所有数据都将被删除。
tpgroup tportal=<n> 指定要添加到当前所选 iSCSI 目标门户组的 iSCSI 目标门户编号。
noerr 仅用于脚本。 出现错误时,Diskraid 继续处理命令,就像未发生错误一样。

associate

将当前所选 LUN 的指定控制器端口列表设置为活动状态(其他控制器端口设置为非活动状态),或将指定的控制器端口添加到当前所选 LUN 的现有活动控制器端口列表中,或关联当前所选 LUN 的指定 iSCSI 目标。

语法

associate controllers [add] <n>[,<n> [,…]]
associate ports [add] <n-m>[,<n-m>[,…]]
associate targets [add] <n>[,<n> [,…]]
参数
参数 说明
controller 添加或替换与当前所选 LUN 关联的控制器列表。 仅适用于 VDS 1.0 提供程序。
ports 添加或替换与当前所选 LUN 关联的控制器端口列表。 仅适用于 VDS 1.1 提供程序。
目标 添加到或替换与当前所选 LUN 关联的 iSCSI 目标列表。 仅适用于 VDS 1.1 提供程序。
add 如果使用 VDS 1.0 提供程序:将指定的控制器添加到与 LUN 关联的现有控制器列表中。 如果未指定此参数,则控制器列表将替换与此 LUN 关联的现有控制器列表。

如果使用 VDS 1.1 提供程序:将指定的控制器端口添加到与 LUN 关联的现有控制器端口列表中。 如果未指定此参数,则控制器端口列表将替换与此 LUN 关联的现有控制器端口列表。

<n>[,<n> [, ...]] 与 controllers 或 targets 参数一起使用。 指定要设置为“活动”或“关联”状态的控制器或 iSCSI 目标的数目。
<n-m>[,<n-m>[,…]] 与 ports 参数一起使用。 指定要使用控制器编号 (n) 和端口号 (m) 对设置为“活动”状态的控制器端口。

示例

将端口关联并添加到使用 VDS 1.1 提供程序的 LUN:

DISKRAID> SEL LUN 5
LUN 5 is now the selected LUN.

DISKRAID> ASSOCIATE PORTS 0-0,0-1
Controller port associations changed.
(Controller ports active after this command: Ctlr 0 Port 0, Ctlr 0 Port 1)

DISKRAID> ASSOCIATE PORTS ADD 1-1
Controller port associations changed.
(Controller ports active after this command: Ctlr 0 Port 0, Ctlr 0 Port 1, Ctlr 1 Port 1)

automagic

设置或清除标记,向提供程序提供有关如何配置 LUN 的提示。 在不使用参数的情况下使用时,automagic 操作会显示标记列表。

语法

automagic {set | clear | apply} all <flag=value> [<flag=value> [...]]
参数
参数 说明
set 将指定的标记设置为指定值。
clear 清除指定标志。 all 关键字清除所有自动标记。
apply 将当前标记应用于所选 LUN。
<flag> 标记由三个字母首字母缩略词标识,包括:
  • FCR - 需要快速故障恢复
  • FTL - 容错
  • MSR - 主要读取
  • MXD - 最大驱动器数
  • MXS - 预期的最大大小
  • ORA - 最佳读取校准
  • ORS - 最佳读取大小
  • OSR - 针对顺序读取进行优化
  • OSW - 针对顺序写入进行优化
  • OWA - 最佳写入校准
  • OWS - 最佳写入大小
  • RBP - 重新生成优先级
  • RBV - 已启用读回验证
  • RMP - 已启用重映射
  • STS - 条带大小
  • WTC - 已启用直写缓存
  • YNK - 可移动

break

从当前所选 LUN 中删除 plex。 plex 及其包含的数据不会保留,驱动器盘区可能会回收。

注意

在使用此命令之前,必须先选择镜像 LUN。 将删除 plex 上的所有数据。 原始 LUN 上包含的所有数据不能保证一致。

语法

break plex=<plex_number> [noerr]
参数
参数 说明
plex 指定要移除的 plex 的数目。 plex 及其包含的数据不会保留,并且将回收此 plex 使用的资源。 LUN 上包含的数据不能保证一致。 如果要保留此 plex,请使用卷影复制服务 (VSS)。
noerr 仅用于脚本。 出现错误时,Diskraid 继续处理命令,就像未发生错误一样。

chap

设置质询握手身份验证协议 (CHAP) 共享机密,以便 iSCSI 发起程序和 iSCSI 目标可以相互通信。

语法

chap initiator set secret=[<secret>] [target=<target>]
chap initiator remember secret=[<secret>] target=<target>
chap target set secret=[<secret>] [initiator=<initiatorname>]
chap target remember secret=[<secret>] initiator=<initiatorname>
参数
参数 说明
initiator set 在本地 iSCSI 发起程序服务中设置共享机密,用于在发起程序对目标进行身份验证时进行相互 CHAP 身份验证。
initiator remember 将 iSCSI 目标的 CHAP 机密传达给本地 iSCSI 发起程序服务,这样发起程序服务可以使用该机密,以便在 CHAP 身份验证期间向目标验证自身。
target set 在当前选定的 iSCSI 目标中设置共享机密,用于在目标对发起程序进行身份验证时进行 CHAP 身份验证。
target remember 将 iSCSI 发起程序的 CHAP 机密传达给当前焦点 iSCSI 目标,这样目标可以使用该机密,以便在相互 CHAP 身份验证期间向发起程序验证自身。
secret 指定要使用的机密。 如果为空,则将清除机密。
target 指定当前所选子系统中要与机密关联的目标。 在发起程序上设置机密时,这是可选的;如果省略它,则表示该机密将用于尚不具有关联机密的所有目标。
initiatorname 指定要与机密关联的发起程序 iSCSI 名称。 在目标上设置机密时,这是可选的;如果省略它,则表示该机密将用于尚不具有关联机密的所有发起程序。

create

在当前选定的子系统上创建新的 LUN 或 iSCSI 目标,或在当前所选目标上创建目标门户组。 可以使用 Diskraid list 命令查看实际绑定。

语法

create lun simple [size=<n>] [drives=<n>] [noerr]
create lun stripe [size=<n>] [drives=<n, n> [,...]]  [stripesize=<n>] [noerr]
create lun raid [size=<n>] [drives=<n, n> [,...]] [stripesize=<n>] [noerr]
create lun mirror [size=<n>] [drives=<n, n> [,...]] [stripesize=<n>] [noerr]
create lun automagic size=<n> [noerr]
create target name=<name> [iscsiname=<iscsiname>] [noerr]
create tpgroup [noerr]
参数
参数 说明
简单 创建简单 LUN。
带状线 (stripe) 创建条带化 LUN。
raid 创建具有奇偶校验的条带化 LUN。
镜像 创建镜像 LUN。
automagic 使用当前生效的 automagic 提示创建 LUN。 有关详细信息,请参阅本文中的 automagic 子命令。
size= 指定 LUN 总大小(以兆字节为单位)。 必须指定 size= 或 drives= 参数。 它们也可以一起使用。 如果未指定 size= 参数,则创建的 LUN 将是所有指定驱动器允许的最大可能大小。

提供程序通常会创建至少与请求的大小一样大的 LUN,但在某些情况下,提供程序可能必须向上舍入到下一个最大大小。 例如,如果将大小指定为 0.99 GB,而提供程序只能分配 GB 磁盘盘区,则生成的 LUN 将为 1 GB。 若要使用其他单位指定大小,请在大小后紧接着使用以下可识别的后缀之一:

  • B - 字节
  • KB - 千字节
  • MB - 兆字节
  • GB - 千兆字节
  • TB - 万亿字节
  • PB - 拍字节。
drives= 指定用于创建 LUN 的驱动器的 drive_number。 必须指定 size= 或 drives= 参数。 它们也可以一起使用。 如果未指定 size= 参数,则创建的 LUN 为所有指定驱动器允许的最大可能大小。 如果指定了 size= 参数,提供程序将从指定的驱动器列表中选择驱动器来创建 LUN。 提供程序将尽可能尝试按指定的顺序使用驱动器。
stripesize= 指定 stripe 或 raid LUN 的大小(以兆字节为单位)。 创建 LUN 后无法更改 stripesize。 若要使用其他单位指定大小,请在大小后紧接着使用以下可识别的后缀之一:
  • B - 字节
  • KB - 千字节
  • MB - 兆字节
  • GB - 千兆字节
  • TB - 万亿字节
  • PB - 拍字节。
目标 在当前选定的子系统上创建新的 iSCSI 目标。
name 为目标提供一个易记的名称。
iscsiname 为目标提供 iSCSI 名称,如果提供程序生成一个名称,则可以忽略。
tpgroup 在当前所选目标上创建新的 iSCSI 目标门户组。
noerr 仅用于脚本。 出现错误时,Diskraid 继续处理命令,就像未发生错误一样。

delete

删除当前选定的 LUN、iSCSI 目标(前提是没有任何 LUN 与 iSCSI 目标关联)或 iSCSI 目标门户组。

语法

delete lun [uninstall] [noerr]
delete target [noerr]
delete tpgroup [noerr]
参数
参数 说明
lun 删除当前选定的 LUN 及其所有数据。
卸载 指定在删除 LUN 之前,将清理本地系统上与 LUN 关联的磁盘。
target 如果没有与目标关联的 LUN,则删除当前选定的 iSCSI 目标。
tpgroup 删除当前选定的 iSCSI 目标门户组。
noerr 仅用于脚本。 出现错误时,Diskraid 继续处理命令,就像未发生错误一样。

detail

显示有关指定类型的当前所选对象的详细信息。

语法

detail {hbaport | iadapter | iportal | provider | subsystem | controller | port | drive | lun | tportal | target | tpgroup} [verbose]
参数
参数 说明
hbaport 列出有关当前所选主机总线适配器 (HBA) 端口的详细信息。
iadapter 列出有关当前所选 iSCSI 发起程序适配器的详细信息。
iportal 列出有关当前所选 iSCSI 发起程序门户的详细信息。
提供程序 列出有关当前所选提供程序的详细信息。
子系统 列出有关当前所选子系统的详细信息。
controller 列出有关当前所选控制器的详细信息。
port 列出有关当前所选控制器端口的详细信息。
drive 列出有关当前所选驱动器的详细信息,包括占用的 LUN。
lun 列出有关当前所选 LUN 的详细信息,包括贡献驱动器。 输出略有不同,具体取决于 LUN 是光纤通道还是 iSCSI 子系统的一部分。 如果“未屏蔽的主机”列表仅包含星号,则表示 LUN 未屏蔽任何主机。
tportal 列出有关当前所选 iSCSI 目标门户的详细信息。
目标 列出有关当前所选 iSCSI 目标的详细信息。
tpgroup 列出有关当前所选 iSCSI 目标门户组的详细信息。
verbose 仅适用于 LUN 参数。 列出其他信息,包括其 plex。

dissociate

将当前所选 LUN 的指定控制器端口列表设置为非活动状态(其他控制器端口不受影响),或取消关联当前所选 LUN 的指定 iSCSI 目标列表。

语法

dissociate controllers <n> [,<n> [,...]]
dissociate ports <n-m>[,<n-m>[,…]]
dissociate targets <n> [,<n> [,…]]
参数
参数 说明
控制器 从与当前所选 LUN 关联的控制器列表中删除控制器。 仅适用于 VDS 1.0 提供程序。
ports 从与当前所选 LUN 关联的控制器端口列表中删除控制器端口。 仅适用于 VDS 1.1 提供程序。
目标 从与当前所选 LUN 关联的 iSCSI 目标列表中删除目标。 仅适用于 VDS 1.1 提供程序。
<n> [,<n> [,…]] 与 controllers 或 targets 参数一起使用。 指定要设置为“非活动”或“取消关联”状态的控制器或 iSCSI 目标的数目。
<n-m>[,<n-m>[,…]] 与 ports 参数一起使用。 指定要使用控制器编号 (n) 和端口号 (m) 对设置为“非活动”状态的控制器端口。

示例

DISKRAID> SEL LUN 5
LUN 5 is now the selected LUN.

DISKRAID> ASSOCIATE PORTS 0-0,0-1
Controller port associations changed.
(Controller ports active after this command: Ctlr 0 Port 0, Ctlr 0 Port 1)

DISKRAID> ASSOCIATE PORTS ADD 1-1
Controller port associations changed.
(Controller ports active after this command: Ctlr 0 Port 0, Ctlr 0 Port 1, Ctlr 1 Port 1)

DISKRAID> DISSOCIATE PORTS 0-0,1-1
Controller port associations changed.
(Controller ports active after this command: Ctlr 0 Port 1)

exit

退出 Diskraid。

语法

exit

extend

通过将扇区添加到 LUN 末尾来扩展当前选定的 LUN。 并非所有提供程序都支持扩展 LUN。 不扩展 LUN 上包含的任何卷或文件系统。 扩展 LUN 后,应使用 DiskPart extend 命令扩展关联的磁盘上结构。

语法

extend lun [size=<LUN_size>] [drives=<drive_number>, [<drive_number>, ...]] [noerr]
参数
参数 说明
size 指定扩展 LUN 的大小(以兆字节为单位)。 必须指定 size 或 <drive> 参数。 它们也可以一起使用。 如果未指定 size= 参数,则 LUN 扩展为所有指定驱动器允许的最大可能大小。 如果指定了 size= 参数,则提供程序从 drives= 参数指定的列表中选择驱动器以创建 LUN。 若要使用其他单位指定大小,请在大小后紧接着使用以下可识别的后缀之一:
  • B - 字节
  • KB - 千字节
  • MB - 兆字节
  • GB - 千兆字节
  • TB - 万亿字节
  • PB - 拍字节。
drives= 指定创建 LUN 时要使用的驱动器的 <drive_number>。 必须指定 size 或 <drive> 参数。 它们也可以一起使用。 如果未指定 size= 参数,则创建的 LUN 为所有指定驱动器允许的最大可能大小。 提供程序将尽可能按指定顺序使用驱动器。
noerr 仅用于脚本。 出现错误时,Diskraid 继续处理命令,就像未发生错误一样。

flushcache

清除当前所选控制器上的缓存。

语法

flushcache controller

help

列出所有 Diskraid 命令。

语法

help

importtarget

检索或设置为当前所选子系统设置的当前卷影复制服务 (VSS) 导入目标。

语法

importtarget subsystem [set target]
参数
参数 说明
set target 如已指定,请将当前所选目标设置为当前所选子系统的 VSS 导入目标。 如果未指定,该命令将检索为当前所选子系统设置的当前 VSS 导入目标。

客户端

检索有关本地 iSCSI 发起程序的信息。

语法

initiator

invalidatecache

使当前所选控制器上的缓存失效。

语法

invalidatecache controller

lbpolicy

在当前选定的 LUN 上设置负载均衡策略。

语法

lbpolicy set lun type=<type> [paths=<path>-{primary | <weight>}[,<path>-{primary | <weight>}[,…]]]
lbpolicy set lun paths=<path>-{primary | <weight>}[,<path>-{primary | <weight>}[,…]]
参数
参数 说明
type 指定负载均衡策略。 如果未指定类型,则必须指定 path 参数。 Type 可以是下列类型之一:
  • FAILOVER - 使用一个主路径,其他路径作为备份路径。
  • ROUNDROBIN - 以轮循机制方式使用所有路径,按顺序尝试每个路径。
  • SUBSETROUNDROBIN - 以轮循机制方式使用所有主路径;仅当所有主路径都失败时,才使用备份路径。
  • DYNLQD - 使用活动请求数最少的路径。
  • WEIGHTED - 使用权重最小的路径(必须为每个路径分配一个权重)。
  • LEASTBLOCKS - 使用具有最少块的路径。
  • VENDORPECIFIC - 使用特定于供应商的策略。
path 指定路径是主路径还是具有特定的 <weight> 未指定的任何路径都隐式设置为备份。 列出的任何路径都必须是当前所选 LUN 的路径之一。

list

显示指定类型的对象列表。

语法

list {hbaports | iadapters | iportals | providers | subsystems | controllers | ports | drives | LUNs | tportals | targets | tpgroups}
参数
参数 说明
hbaports 列出有关 VDS 已知的所有 HBA 端口的摘要信息。 当前选定的 HBA 端口标有星号 (*)。
iadapters 列出有关 VDS 已知的所有 iSCSI 发起程序适配器的摘要信息。 当前选定的发起程序适配器标有星号 (*)。
iportals 列出有关当前所选发起程序适配器中所有 iSCSI 发起程序门户的摘要信息。 当前选定的发起程序门户标有星号 (*)。
providers 列出 VDS 已知的每个提供程序的摘要信息。 当前选定的提供程序标有星号 (*)。
subsystems 列出有关系统中每个子系统的摘要信息。 当前选定的子系统标有星号 (*)。
控制器 列出有关当前所选子系统中每个控制器的摘要信息。 当前选定的控制器标有星号 (*)。
ports 列出有关当前所选控制器中每个控制器端口的摘要信息。 当前选定的端口标有星号 (*)。
驱动器 列出有关当前所选子系统中每个驱动器的摘要信息。 当前选定的驱动器标有星号 (*)。
luns 列出有关当前所选子系统中每个 LUN 的摘要信息。 当前选定的 LUN 标有星号 (*)。
tportals 列出有关当前所选子系统中所有 iSCSI 目标门户的摘要信息。 当前选定的目标门户标有星号 (*)。
目标 列出有关当前所选子系统中所有 iSCSI 目标的摘要信息。 当前选定的目标标有星号 (*)。
tpgroups 列出有关当前所选目标中所有 iSCSI 目标门户组的摘要信息。 当前选定的门户组标有星号 (*)。

login

将指定的 iSCSI 发起程序适配器记录到当前选定的 iSCSI 目标中。

语法

login target iadapter=<iadapter> [type={manual | persistent | boot}] [chap={none | oneway | mutual}] [iportal=<iportal>] [tportal=<tportal>] [<flag> [<flag> […]]]
参数
参数 说明
type 指定要执行的登录类型:手动或永久。 如果未指定,将执行手动登录。
manual 手动登录。 还有一个启动选项,用于将来的开发,目前还没有使用。
永久 重启计算机时,自动使用相同的登录名。
chap 指定要使用的 CHAP 身份验证类型:无、单向 CHAP 或相互 CHAP;如果未指定,则不会使用身份验证。
tportal 指定当前所选子系统中用于登录的可选目标门户。
iportal 指定用于登录的指定发起程序适配器中的可选发起程序门户。
<flag> 由三个字母首字母缩略词标识:
  • IPS - 需要 IPsec
  • EMP - 启用多路径
  • EHD - 启用标头摘要
  • EDD - 启用数据摘要

logout

将指定的 iSCSI 发起程序适配器从当前选定的 iSCSI 目标中退出登录。

语法

logout target iadapter= <iadapter>
参数
参数 说明
iadapter 指定要从中注销的登录会话的发起程序适配器。

维护

对指定类型的当前所选对象执行维护操作。

语法

maintenance <object operation> [count=<iteration>]
参数
参数 说明
<object> 指定要对其执行操作的对象的类型。 对象类型可以是子系统、控制器、端口、驱动器或 LUN。
<operation> 指定要执行的维护操作。 操作类型可以是 spinup、spindown、blink、beep 或 ping。 必须指定操作
count= 指定重复操作的次数。 这通常与 blink、beep 或 ping 一起使用。

name

将当前所选子系统、LUN 或 iSCSI 目标的易记名称设置为指定名称。

语法

name {subsystem | lun | target} [<name>]
参数
参数 说明
<name> 指定子系统、LUN 或目标的名称。 名称长度必须小于 64 个字符。 如果未提供任何名称,则删除现有名称(如果有)。

offline

将指定类型的当前所选对象的状态设置为“脱机”

语法

offline <object>
参数
参数 说明
<object> 指定要对其执行此操作的对象的类型。 类型可以是:subsystem、controller、drive、LUN 或 tportal。

online

将指定类型的选定对象的状态设置为“联机”。 如果对象为 hbaport,则将当前所选 HBA 端口的路径的状态更改为“联机”

语法

online <object>
参数
参数 说明
<object> 指定要对其执行此操作的对象的类型。 类型可以是:hbaport、subsystem、controller、drive、LUN 或 tportal。

recover

执行必要的操作,例如重新同步或热存储,以修复当前选定的容错 LUN。 例如,RECOVER 可能会导致热备盘绑定到具有故障磁盘或其他磁盘盘区重新分配的 RAID 集。

语法

recover <lun>

reenumerate

重新枚举指定类型的对象。 如果使用扩展 LUN 命令,则必须在使用 reenumerate 命令之前使用 refresh 命令更新磁盘大小。

语法

reenumerate {subsystems | drives}
参数
参数 说明
subsystems 查询提供程序以发现在当前所选提供程序中添加的任何新子系统。
驱动器 查询内部 I/O 总线,以发现在当前所选子系统中添加的任何新驱动器。

刷新

刷新当前所选提供程序的内部数据。

语法

refresh provider

rem

用于注释脚本。

语法

Rem <comment>

remove

从当前所选目标门户组中删除指定的 iSCSI 目标门户。

语法

remove tpgroup tportal=<tportal> [noerr]
参数
参数 说明
tpgroup tportal=<tportal> 指定要删除的 iSCSI 目标门户。
noerr 仅用于脚本。 出现错误时,Diskraid 继续处理命令,就像未发生错误一样。

replace

将指定的驱动器替换为当前选定的驱动器。 指定的驱动器可能不是当前选定的驱动器。

语法

replace drive=<drive_number>
参数
参数 说明
drive= 指定要替换的驱动器的 <drive_number>

reset

重置当前选定的控制器或端口。

语法

reset {controller | port}
参数
参数 说明
controller 重置控制器。
port 重置端口。

select

显示或更改当前所选对象。

语法

select {hbaport | iadapter | iportal | provider | subsystem | controller | port | drive | lun | tportal | target | tpgroup } [<n>]
参数
参数 说明
object 指定要选择的对象类型,包括提供程序、子系统、控制器、驱动器或 LUN。
hbaport [<n>] 将焦点设置为指定的本地 HBA 端口。 如果未指定 HBA 端口,命令将显示当前选定的 HBA 端口(如果有)。 指定无效的 HBA 端口索引会导致没有焦点 HBA 端口。 选择 HBA 端口会取消选择任何选定的发起程序适配器和发起程序门户。
iadapter [<n>] 将焦点设置为指定的本地 iSCSI 发起程序适配器。 如果未指定发起程序适配器,命令将显示当前选定的发起程序适配器(如果有)。 指定无效的发起程序适配器索引会导致没有焦点发起程序适配器。 选择发起程序适配器会取消选择任何选定的 HBA 端口和发起程序门户。
iportal [<n>] 将焦点设置为所选 iSCSI 发起程序适配器中指定的本地 iSCSI 发起程序门户。 如果未指定发起程序门户,命令将显示当前选定的发起程序门户(如果有)。 指定无效的发起程序门户索引会导致没有选定的发起程序门户。
provider [<n>] 将焦点设置为指定的提供程序。 如果未指定提供程序,命令将显示当前选定的提供程序(如果有)。 指定无效的提供程序索引会导致没有焦点提供程序。
subsystem [<n>] 将焦点设置为指定子系统。 如果未指定子系统,命令将显示具有焦点的子系统(如果有)。 指定无效的子系统索引会导致没有焦点子系统。 选择子系统会隐式选择其关联的提供程序。
controller [<n>] 将焦点设置为当前所选子系统中的指定控制器。 如果未指定控制器,命令将显示当前选定的控制器(如果有)。 指定无效的控制器索引会导致没有焦点控制器。 选择控制器会取消选择任何选定的控制器端口、驱动器、LUN、目标门户、目标和目标门户组。
port [<n>] 将焦点设置为当前所选控制器中的指定控制器端口。 如果未指定任何端口,命令将显示当前选定的端口(如果有)。 指定无效的端口索引会导致不选择任何端口。
drive [<n>] 将焦点设置为当前所选子系统中的指定驱动器或物理主轴。 如果未指定驱动器,命令将显示当前选定的驱动器(如果有)。 指定无效的驱动器索引会导致没有焦点驱动器。 选择驱动器会取消选择任何选定的控制器、控制器端口、LUN、目标门户、目标和目标门户组。
lun [<n>] 将焦点设置为当前所选子系统中的指定 LUN。 如果未指定 LUN,命令将显示当前选定的 LUN(如果有)。 指定无效的 LUN 索引会导致不选择任何 LUN。 选择 LUN 会取消选择任何选定的控制器、控制器端口、驱动器、目标门户、目标和目标门户组。
tportal [<n>] 将焦点设置为当前所选子系统中的指定 iSCSI 目标门户。 如果未指定目标门户,命令将显示当前选定的目标门户(如果有)。 指定无效的目标门户索引会导致没有选定的目标门户。 选择目标门户会取消选择任何控制器、控制器端口、驱动器、LUN、目标和目标门户组。
target [<n>] 将焦点设置为当前所选子系统中的指定 iSCSI 目标。 如果未指定任何目标,命令将显示当前选定的目标(如果有)。 指定无效的目标索引会导致不选择任何目标。 选择目标会取消选择任何控制器、控制器端口、驱动器、LUN、目标门户和目标门户组。
tpgroup [<n>] 将焦点设置为当前所选 iSCSI 目标中的指定 iSCSI 目标门户组。 如果未指定目标门户组,命令将显示当前选定的目标门户组(如果有)。 指定无效的目标门户组索引会导致没有焦点目标门户组。
[<n>] 指定要选择的 <object number>。 如果指定的 <object number> 无效,则清除已选择的任何指定类型的对象。 如果未指定 <object number>,则显示当前对象。

setflag

将当前所选驱动器设置为热备用驱动器。 热备用不能用于普通 LUN 绑定操作。 它们仅用于故障处理。 驱动器当前不得绑定到任何现有 LUN。

语法

setflag drive hotspare={true | false}
参数
参数 说明
选择当前所选驱动器作为热备用驱动器。
false 取消选择当前所选驱动器作为热备用驱动器。

shrink

减小所选 LUN 的大小。

语法

shrink lun size=<n> [noerr]
参数
参数 说明
size 指定希望该 LUN 大小减少的空间量 (MB)。 若要使用其他单位指定大小,请在大小后紧接着使用以下可识别的后缀之一:
  • B - 字节
  • KB - 千字节
  • MB - 兆字节
  • GB - 千兆字节
  • TB - 万亿字节
  • PB - 拍字节。
noerr 仅用于脚本。 出现错误时,Diskraid 继续处理命令,就像未发生错误一样。

standby

将当前所选主机总线适配器的路径的状态 (HBA) 端口更改为 STANDBY。

语法

standby hbaport
参数
参数 说明
hbaport 将当前所选主机总线适配器的路径的状态 (HBA) 端口更改为 STANDBY。

unmask

使指定主机可以访问当前选定的 LUN。

语法

unmask lun {all | none | [add] wwn=<hexadecimal_number> [;<hexadecimal_number> [;…]] | [add] initiator=<initiator>[;<initiator>[;…]]} [uninstall]
参数
参数 说明
全部 指定所有主机都可以访问 LUN。 但是,不能对 iSCSI 子系统中的所有目标取消屏蔽 LUN。

在运行 unmask lun all 命令之前,必须先退出登录目标。

指定 LUN 不应供任何主机访问。

在运行 unmask lun none 命令之前,必须先退出登录目标。

add 指定所指定的主机必须添加到可访问此 LUN 的现有主机列表中。 如果未指定此参数,则提供的主机列表将替换可访问此 LUN 的现有主机列表。
wwn= 指定一个十六进制数字列表,这些数字表示应能够访问 LUN 或主机的全球通用名称。 若要屏蔽/取消屏蔽光纤通道子系统中的一组特定主机,可以为感兴趣的主机上的端口键入一个以分号分隔的 WWN 列表。
initiator= 指定应可访问当前所选 LUN 的 iSCSI 发起程序列表。 若要屏蔽/取消屏蔽 iSCSI 子系统中的一组特定主机,可以为感兴趣的主计算机上的发起程序键入以分号分隔的 iSCSI 发起程序名称列表。
卸载 如果已指定,则会在屏蔽 LUN 之前卸载与本地系统上的 LUN 关联的磁盘。

Scripting Diskraid

可以在运行受支持的 Windows Server 版本的任何计算机上,使用关联的 VDS 硬件提供程序编写 Diskraid 脚本。 若要调用 Diskraid 脚本,请在命令提示符下键入以下内容:

diskraid /s <script.txt>

默认情况下,如果脚本中存在问题,Diskraid 会停止处理命令并返回错误代码。 若要继续运行脚本并忽略错误,请在命令中包含 noerr 参数。 这允许使用一些有用做法,比如使用单个脚本删除子系统中的所有 LUN 而不考虑 LUN 总数。 并非所有命令都支持 noerr 参数。 无论是否包含 noerr 参数,始终都会在出现命令语法错误时返回错误。

Diskraid 错误代码

错误代码 错误说明
0 未发生错误。 成功运行整个脚本。
1 出现致命异常情况。
2 Diskraid 命令行上指定的参数不正确。
3 Diskraid 不能打开指定的脚本或输出文件。
4 Diskraid 使用的某项服务返回一个失败。
5 出现一个命令语法错误。 脚本失败,因为不正确地选择了对象,或对象不能与此命令一起使用。

示例

要查看计算机上子系统 0 的状态,请键入:

diskraid

按 ENTER,将显示如下输出:

Microsoft Diskraid version 5.2.xxxx
Copyright (©) 2003 Microsoft Corporation
On computer: COMPUTER_NAME

要选择子系统 0,请在 Diskraid 提示符处键入以下内容:

select subsystem 0

按 ENTER,将显示如下输出:

Subsystem 0 is now the selected subsystem.

DISKRAID> list drives

  Drive ###  Status      Health          Size      Free    Bus  Slot  Flags
  ---------  ----------  ------------  --------  --------  ---  ----  -----
  Drive 0    Online      Healthy         107 GB    107 GB    0     1
  Drive 1    Offline     Healthy          29 GB     29 GB    1     0
  Drive 2    Online      Healthy         107 GB    107 GB    0     2
  Drive 3    Not Ready   Healthy          19 GB     19 GB    1     1

要退出 Diskraid,请在 Diskraid 提示符处键入以下内容:

exit