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> |
标记由三个字母首字母缩略词标识,包括:
|
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。 若要使用其他单位指定大小,请在大小后紧接着使用以下可识别的后缀之一:
|
drives= | 指定用于创建 LUN 的驱动器的 drive_number。 必须指定 size= 或 drives= 参数。 它们也可以一起使用。 如果未指定 size= 参数,则创建的 LUN 为所有指定驱动器允许的最大可能大小。 如果指定了 size= 参数,提供程序将从指定的驱动器列表中选择驱动器来创建 LUN。 提供程序将尽可能尝试按指定的顺序使用驱动器。 |
stripesize= | 指定 stripe 或 raid LUN 的大小(以兆字节为单位)。 创建 LUN 后无法更改 stripesize。 若要使用其他单位指定大小,请在大小后紧接着使用以下可识别的后缀之一:
|
目标 | 在当前选定的子系统上创建新的 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。 若要使用其他单位指定大小,请在大小后紧接着使用以下可识别的后缀之一:
|
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 可以是下列类型之一:
|
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> |
由三个字母首字母缩略词标识:
|
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)。 若要使用其他单位指定大小,请在大小后紧接着使用以下可识别的后缀之一:
|
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。 在运行 |
无 | 指定 LUN 不应供任何主机访问。 在运行 |
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