Previous Up

第 3 章  安装

注意: 此处给出的 SBUS 控制器的安装步骤与手册中找到的步骤类似。它已被修改,因此可能包含 SPARCLinux 安装中的微小变化。

3.1  兼容性SBUS 控制器兼容性

5070 / Linux 2.2 组合已在 SPARCstation (5, 10 和 20)、Ultra 1 和 Ultra 2 Creator 上进行了测试。5070 还在支持对称多处理 (SMP) 的 Linux 上进行了测试,在一台双处理器 Ultra 2 creator 3D 上没有出现问题。其他 5070 / Linux / 硬件组合也可能有效。


3.2  硬件安装硬件安装步骤

如果您的系统已启动并运行,则必须停止操作系统。

GNOME
  1. 从登录屏幕右键单击“Options”按钮。
  2. 在弹出菜单中选择 System -> Halt。
  3. 当出现验证框时,单击“Yes”
KDE
  1. 从登录屏幕右键单击 shutdown。
  2. 在弹出菜单中,右键单击其单选按钮选择 shutdown。
  3. 单击 OK
XDM
  1. 以 root 身份登录
  2. 左键单击桌面以弹出弹出菜单
  3. 选择“New Shell”
  4. 当 shell 打开时,在提示符下键入“halt”并按回车键
控制台登录(没有 X windows 的系统)
  1. 以 root 身份登录
  2. 键入“halt”
所有系统
等待消息“power down”或“system halted”后再继续。关闭您的 SPARCstation 系统(注意:您的系统可能已在电源关闭指令后自行关闭),其视频监视器、外部磁盘扩展盒以及连接到系统的任何其他外围设备。务必检查系统机箱正面的绿色电源 LED 是否熄灭,以及系统内部的风扇是否未运行。请勿断开系统电源线。
SPARCstation 4、5、10、20 & UltraSPARC 系统
  1. 移除 CPU 机箱上的顶盖。在 SPARCstation 10 上,通过松开 CPU 机箱背面右上角的 captive 螺钉来完成此操作,然后向前倾斜机箱顶部,同时使用十字螺丝刀按下左上角的塑料卡舌。
  2. 确定您将使用的 SBUS 插槽。任何插槽都可以。卸下固定面板的两个螺钉和矩形垫圈,从而卸下该插槽的填充面板。
  3. 卸下 SBUS 固定器(通常称为手柄),方法是向外按压固定器的一条腿,同时将其从印刷电路板的孔中拉出。
  4. 将板卡插入您选择的 SBUS 插槽中。要插入板卡,首先将 5070 RAIDium 背板的顶部啮合到 CPU 机箱的背板中,然后将板卡旋转到水平位置并配合 SBUS 连接器。确保 SBUS 连接器完全啮合。
  5. 将尼龙板卡固定器卡入 SPARCstation 内部,以将 5070 RAIDium 板卡固定在系统内部。
  6. 通过更换固定原始填充面板的矩形垫圈和螺钉,将 5070 RAIDium SBUS 背板固定到系统。
  7. 更换顶盖,方法是首先将顶盖前部的塑料挂钩与机箱啮合,然后将顶盖旋转到设备上方,直到背面的塑料卡舌卡入到位。拧紧右上角的 captive 螺钉。
Ultra Enterprise 服务器、SPARCserver 1000 & 2000 系统、SPARCserver 6XO MP 系列
  1. 卸下将 CPU 板固定到卡笼的两个内六角螺钉。这些螺钉位于 CPU 板背板的每一端。
  2. 从机箱中卸下 CPU 板,并将其放在防静电的表面上。
  3. 确定您将使用的 SBUS 插槽。任何插槽都可以。卸下固定面板的两个螺钉和矩形垫圈,从而卸下该插槽的填充面板。保存这些螺钉和垫圈。
  4. 卸下 SBUS 固定器(通常称为手柄),方法是向外按压固定器的一条腿,同时将其从印刷电路板的孔中拉出。
  5. 将板卡插入您选择的 SBUS 插槽中。要插入板卡,首先将 5070 RAIDium 背板的顶部啮合到 CPU 机箱的背板中,然后将板卡旋转到水平位置并配合 SBUS 连接器。确保 SBUS 连接器完全啮合。
  6. 使用 CPU 板上提供的尼龙螺钉和支架将 5070 RAIDium 板固定到 CPU 板。可能需要移动支架,使其与 SBUS 固定器使用的孔对齐,因为支架在 MBus 模块的不同孔中使用。更换最初固定填充面板的螺钉和矩形垫圈,将 5070 RAIDium SBus 背板固定到系统机箱。
  7. 将 CPU 板重新插入 CPU 机箱,并重新安装固定 CPU 板的内六角头固定螺钉。
所有系统
  1. 将外部电缆适配器盒与 5070 RAIDium 配合,并轻轻拧紧穿过电缆适配器盒的两个螺钉。
  2. 将来自 SCSI 设备的三个电缆连接到 Antares 5070 RAIDium 上的三个 68 针 SCSI-3 连接器。在建立 RAID 集之后,必须始终以相同的顺序重新连接这三根 SCSI 电缆,因此您应该清楚地标记电缆和磁盘机箱,以便将来拆卸和重新组装。
  3. 配置连接的 SCSI 设备以使用目标 ID,而不是 7,因为 7 已被 5070 RAIDium 本身占用。目标编号的配置在各种设备上有所不同。请查阅制造商的安装说明,以确定适合您设备的方法。
  4. 由于您很可能要安装多个 SCSI 设备,请确保所有 SCSI 总线都正确端接。这意味着仅在每个 SCSI 总线菊花链的末端安装一个终结器。
验证硬件安装
这些步骤是可选的,但建议执行。首先,打开系统电源,并在屏幕上显示 Solaris 版本号后立即同时按下“Stop”和“a”键(如果您使用的是串行终端,则按“break”键)来中断启动过程。这将强制系统在系统 EPROM 中运行 Forth 监视器,该监视器将显示“ok”提示符。这使您可以访问许多有用的低级命令,包括
ok show-devs

. . .

/iommu@f,e0000000/sbus@f,e000100SUNW, isp@1,8800000

. . .
上面显示的响应中的第一行意味着 5070 RAIDium 主机适配器已被正确识别。如果您没有看到类似这样的行,则可能存在硬件问题。
接下来,要查看系统中所有 SCSI 设备的列表,您可以使用 probe-scsi-all 命令,但首先您必须按如下方式准备您的系统
ok setenv auto-boot? False

ok reset

ok probe-scsi-all
这将告诉您系统中识别的每个 SCSI 设备的类型、目标编号和逻辑单元号。5070 RAIDium 板将报告自身连接到目标 0 上的 ISP 控制器,带有两个逻辑单元号 (LUN):0 用于虚拟硬盘驱动器,7 用于连接到图形用户界面 (GUI)。注意:LUN 7 上的 GUI 通信通道当前在 Linux 下未使用。有关更多信息,请参阅“高级主题”部分中“SCSI 监视器守护程序 (SMON)”下的讨论。
必需:执行操作系统的重新配置启动
ok boot -r
如果在一分钟内屏幕上没有出现图像,则很可能存在硬件安装问题。在这种情况下,请返回并检查安装步骤的每个步骤。硬件安装步骤至此完成。

3.2.1  串行终端

如果您有可用的串行终端(例如 DEC-VT420),则可以使用 9 针 DIN 公头到 DB25 公头串行电缆将其连接到控制器的串行端口。否则,您需要使用零调制解调器适配器来补充上述电缆,以将 RAID 控制器的串行端口连接到主机计算机或 PC 上的串行端口。我成功使用过的终端仿真器包括 Minicom(在 Linux 上)、Kermit(在 Caldera 的 Dr. DOS 上)和 Hyperterminal(在 Windows CE 掌上电脑上),但是,任何像样的终端仿真软件都应该可以工作。基本设置是 9600 波特,无奇偶校验,8 个数据位和 1 个停止位。

3.2.2  硬盘驱动器配置

选择构成硬盘驱动器物理配置的驱动器的品牌和容量取决于您。我有一些建议

3.3  5070 板载配置

在深入研究 RAID 配置之前,我需要定义几个术语。基于文本的 GUI 可以通过键入“agui”来启动
: raid; agui 
在串行终端(或仿真器)上的 husky 提示符下。

Agui 是一个基于 ASCII 的简单 GUI,可以在 RaidRunner 控制台端口上运行,它使用户能够配置 RaidRunner。agui 唯一接受的参数是连接到 RaidRunner 控制台的终端类型。当前支持的终端是 dtterm、vt100 和 xterm。默认值为 dtterm。

每个 agui 屏幕都分为两个区域:数据和菜单。数据区域通常使用屏幕的所有行,但最后一行除外,显示正在考虑的信息的详细信息。菜单区域通常是屏幕的底行,显示一个条形菜单,其中包含标题,然后是选项或子菜单列表。每个选项都有一个用方括号括起来的字符(例如 [Q]uit),这是键入以选择该选项的字符。每行菜单都允许您刷新屏幕数据(以防 RaidRunner 上的另一个进程写入控制台)。如果屏幕被覆盖,则在数据输入期间也可以使用刷新字符。刷新字符是 <Control-l> 或 <Control-r>。

当 agui 启动时,它会读取 RaidRunner 的配置并探测每个可能的后端。当它探测每个后端时,其“名称”将显示在屏幕的左下角。

3.3.1  主屏幕选项

主屏幕(图 3.1)是显示的第一个屏幕。它提供了 RaidRunner 配置的摘要。顶部是 RaidRunner 型号、版本和序列号。接下来是一行,为每个控制器显示每个主机端口(标记为 A、B、C 等)的 SCSI ID 以及内存总量和当前可用量。接下来的几行显示 RaidRunner 上的设备 rank。每个设备都遵循 <device_type_c.s.l> 的命名法,其中 device_type_ 可以是 D(表示磁盘)或 T(表示磁带),c 是设备连接到的内部通道,s 是该通道上设备的 SCSI ID(Rank),l 是设备的 SCSI LUN(通常为 0)。


图 3.1: 5070 板载配置实用程序的主屏幕


接下来的几行提供了 RaidRunner 上配置的 RAID 集的摘要。摘要包括 RAID 集名称、其类型、其大小、分配给它的缓存量以及其后端的逗号分隔列表。有关上述内容的完整描述,请参阅“高级主题”部分中的 rconf。

接下来配置备用设备。每个备用盘都已命名(device_type_c.s.l 格式),后跟其大小(以 512 字节块为单位)、其旋转状态(热备用或温备用)、其控制器分配以及最终其当前状态(已用/未使用、故障/工作)。如果已使用,则指定使用它的 RAID 集。

在数据区域的底部,显示控制器、通道、rank 和设备的数量。

菜单行允许您退出 agui 或选择进一步的操作或子菜单。以下详细描述了这些选择。

3.3.2  [Q]uit

退出 agui 主屏幕并返回到 husky ( :raid; ) 提示符。

3.3.3  [R]aidSets

Raid Set 配置屏幕(图 3.2)在数据区域中显示 Raid Set,并提供一个菜单,允许您添加、删除、修改、安装(更改)和滚动浏览所有其他 RAID 集(First、Last、Next 和 Previous)。如果未配置 RAID 集,则仅显示屏幕标题和菜单。显示 RAID 集的所有属性。有关 RAID 集的每个属性的信息,请参阅“高级主题”部分中的 rconf 命令。菜单行允许您离开 Raid Set 配置屏幕或选择进一步的操作。


图 3.2: RAIDSet 配置屏幕。


3.3.4  [H]ostports

主机端口配置屏幕(图 3.3)为每个控制器显示每个主机端口(对于端口号 0、1、2 等,标记为 A、B、C 等)和分配的 SCSI ID。如果您使用的 RaidRunner 具有用于主机端口 SCSI ID 选择的外部开关,则您只能从此屏幕退出 ([Q]uit)。如果您使用的 RaidRunner 没有用于主机端口 SCSI ID 选择的外部开关,则您可以修改(并因此安装)任何主机端口的 SCSI ID。菜单行允许您离开主机端口配置屏幕或选择进一步的操作(如果无外部主机)。


图 3.3: 主机端口配置屏幕。


3.3.5  [S]pares

备用设备配置屏幕(图 3.4)在数据区域中显示所有已配置的备用设备,并提供一个菜单,允许您添加、删除、修改和安装(更改)备用设备。如果未配置备用设备,则仅显示屏幕标题和菜单。显示的每个备用设备都显示其名称(device_type_c.s.l 格式)、其大小(以 512 字节块为单位)、其旋转状态(热备用或温备用)、其控制器分配,最后是其当前状态(已用/未使用、故障/工作)。如果已使用,则指定使用它的 RAID 集。有关备用设备的每个属性的信息,请参阅“高级主题”部分中的 rconf 命令。菜单行允许您离开备用设备配置屏幕或选择进一步的操作。


图 3.4: 备用设备配置屏幕。


3.3.6  [M]onitor

SCSI 监视器配置屏幕(图 3.5)显示为 RaidRunner 配置的 SCSI 监视器的表格。最多可以配置四个 SCSI 监视器。表格列标题为 Controller、Host Port、SCSI LUN 和 Protocol,表格的每一行都显示相应的 SCSI 监视器属性。有关 SCSI 监视器属性的详细信息,请参阅“高级主题”部分中的 rconf 命令。菜单行允许您离开 SCSI 监视器配置屏幕或修改和安装表格。


图 3.5: SCSI 监视器配置屏幕。


3.3.7  [G]eneral

常规屏幕(图 3.6)具有空白数据区域和一个菜单,该菜单允许您退出并返回到主屏幕,或选择进一步的子菜单,这些子菜单提供有关设备、系统消息记录器、全局环境变量和吞吐量统计的信息。


图 3.6: 常规屏幕。可以从此处访问的选项允许您查看有关连接设备(SCSI 硬盘驱动器和磁带机)的信息、浏览系统日志以及检查环境变量。


3.3.8  [P]探测

探测选项重新扫描 SCSI 通道,并使用找到的硬件更新后端列表。

3.3.9  RAID 配置会话示例

通用配置过程包括以下三个步骤,按以下顺序排列
  1. 配置主机端口
  2. 分配备用盘
  3. 配置 RAID 组
请注意,各种支持的 RAID 级别都有所需的最小后端数量在此示例中,我们将配置一个 RAID 5,使用 6 个 2.04 GB 的硬盘。 虚拟驱动器的总容量将为 10 GB(相当于一个驱动器的容量用于冗余)。 此相同的配置过程可用于通过更改类型参数来配置其他级别的 RAID 组。
  1. 打开计算机电源,并将串行终端连接到 RaidRunner 的串行端口。
  2. 当出现 husky ( :raid; ) 提示符时,输入 "agui" 并按回车键启动 GUI。
  3. 当主屏幕出现时,选择 "H" 以进行 [H]主机端口配置
  4. 在某些型号的 RaidRunner 上,主机端口不可配置。 如果您在此处只有 [Q]退出选项,则主机端口配置无需执行任何操作,请注意这些值并跳至步骤 6。 如果您有添加/修改选项,则您的主机端口是软件可配置的。
  5. 如果此屏幕上没有主机端口条目,请使用以下参数添加一个条目:controller=0, hostport=0 , SCSI ID=0。 不要忘记 [I]安装 您的更改。 如果已存在条目,请注意这些值(它们将在稍后的步骤中使用)。
  6. 从现在开始,我将假设以下硬件配置
    1. 有 7 个 - 2.04 GB 的硬盘,连接方式如下
      1. SCSI 通道 0 上有 2 个硬盘,SCSI ID 为 0 和 1(后端分别为 0.0.0 和 0.1.0)。
      2. SCSI 通道 1 上有 3 个硬盘,SCSI ID 为 0、1 和 5(后端分别为 1.0.0、1.1.0 和 1.5.0)。
      3. SCSI 通道 2 上有 2 个硬盘,SCSI ID 为 0 和 1(后端分别为 2.0.0 和 2.1.0)。
    2. 因此
      1. Rank 0 由后端 0.0.0、1.0.0、2.0.0 组成
      2. Rank 1 由后端 0.1.0、1.1.0、2.1.0 组成
      3. Rank 5 仅包含后端 1.5.0
    3. RaidRunner 分配给控制器 0,主机端口 0
  7. 按 Q [Q]退出 主机端口屏幕并返回主屏幕。
  8. 按 S 进入 [S]备用盘 屏幕
  9. 选择 A 以 [A]添加 新的备用盘到备用盘池。 将显示可用后端列表,系统将提示您输入以下信息

    输入要添加到备用盘的设备名称 - 从上面

    输入

    D1.5.0

  10. 选择 I 以 [I]安装 您的更改
  11. 选择 Q 以 [Q]退出 备用盘屏幕并返回主屏幕
  12. 从主屏幕中选择 R 以进入 [R]raid 组屏幕。
  13. 选择 A 以 [A]添加 新的 RAID 组。 系统将提示您输入每个 RAID 组参数。 提示和响应如下所示。
    1. 输入 Raid 组的名称:cim_homes (或您想称呼它的任何名称)
    2. Raid 组类型 [0,1,3,5]: 5
    3. 输入初始主机接口 - ctlr,hostport,scsilun: 0.0.0

      现在将以以下形式显示可用后端列表
      0 - D0.0.0 1 - D1.0.0 2 - D2.0.0 3 - D0.1.0 4 - D1.1.0 5 - D2.1.0
    4. 从上面输入索引 - Q 退出
      1 按回车键
      2 按回车键
      3 按回车键
      4 按回车键
      5 按回车键
      Q
  14. 按 Q 后,您将返回到“Raid 组”屏幕。 您应该在数据区域中看到新配置的 Raid 组(图 3.12)。
  15. 按 I 以 [I]安装 更改


    图 3.12: GUI 的“Raid 组”屏幕,显示新配置的 RAID 5


  16. 按 Q 退出“Raid 组”屏幕并返回主屏幕
  17. 按 Q [Q]退出 agui 并退出到 husky 提示符。
  18. 输入 "reboot" 然后按回车键。 这将重启 RaidRunner(而不是主机)。
  19. 当 RaidRunner 重启时,它将为新配置的 RAID 准备驱动器。
    注意:根据 RAID 的大小,这可能需要几分钟到几小时。 对于上述示例,5070 大约需要 10 - 20 分钟来条带化 RAID 组。
  20. 当您再次看到 husky 提示符时,RAID 即可使用。 然后您可以继续进行 Linux 配置。

3.4  Linux 配置

这些说明涵盖在 RedHat Linux 6.1 上设置虚拟 RAID 驱动器。 在其他 Linux 发行版下进行设置应该没有问题。 相同的通用说明适用。

如果您是 Linux 新手,您可能需要考虑从头开始安装 Linux,因为 RedHat 安装程序将为您完成大部分配置工作。 如果是这样,请跳至标题为“全新 Linux 安装”的部分。 否则,请转到“现有 Linux 安装”部分(下一部分)。

3.4.1  现有 Linux 安装

如果您已在系统上安装了 Redhat Linux 并且不想重新安装,请按照这些说明进行操作。 如果您正在安装 RAID 作为全新 RedHat Linux 安装的一部分(或正在重新安装),请跳至“全新 Linux 安装”部分。

QLogic SCSI 驱动程序

驱动程序可以作为模块加载,也可以编译到您的内核中。 如果您想从 RAID 启动,那么您可能需要使用带有编译的 QLogic 支持的内核(请参阅 http://www.linuxdoc.org 提供的 kernel-HOWTO)。 要使用模块化驱动程序,请成为超级用户并将以下行添加到 /etc/conf.modules
alias qlogicpti /lib/modules/preferred/scsi/qlogicpti 
将上述路径更改为您 SCSI 模块所在的任何位置。 然后将以下行添加到您的 /etc/fstab(并对设备和挂载点进行适当的更改,如果您不确定,请参阅 fstab 手册页)
/dev/sdc1 /home ext2 defaults 1 2
或者,如果您更喜欢使用 SYSV 初始化脚本,请在 /etc/rc.d/init.d 目录中创建一个名为 ``raid'' 的文件,内容如下(注意:虽然使用脚本启动 RAID 有一些很好的理由,但上述方法之一可能更可取)
#!/bin/bash

case "$1" in

start)

echo "正在加载 raid 模块"

/sbin/modprobe qlogicpti

echo

echo "正在检查和挂载 raid 卷..."

mount -t ext2 -o check /dev/sdc1 /home

touch /var/lock/subsys/raid

;;

stop)

echo "正在卸载 raid 卷"

umount /home

echo "正在移除 raid 模块"

/sbin/rmmod qlogicpti

rm -f /var/lock/subsys/raid

echo

;;

restart)

$0 stop 

$0 start 

;; 

*)

echo "用法: raid {start|stop|restart}"

exit 1

esac

exit 0 
您需要编辑此示例,并将您的设备名称替换为 /dev/sdc1,并将挂载点替换为 /home。 下一步是通过执行以下操作使脚本可由 root 用户执行
chmod 0700 /etc/rc.d/init.d/raid
现在使用您选择的运行级别编辑器(tksysv、ksysv 等)将脚本添加到适当的运行级别。

设备映射

Linux 使用动态设备映射,您可以通过键入以下命令来确定是否找到了驱动器
more /proc/scsi/scsi
其中一个或多个条目应如下所示
Host: scsi1 Channel: 00 Id: 00 Lun: 00

Vendor: ANTARES Model: CX106 Rev: 0109

Type: Direct-Access ANSI SCSI revision: 02

也可能有一个看起来像这样的

Host: scsi1 Channel: 00 Id: 00 Lun: 07

Vendor: ANTARES Model: CX106-SMON Rev: 0109

Type: Direct-Access ANSI SCSI revision: 02
这是 SCSI 监控器通信通道,目前在 Linux 下未使用(请参阅下面的高级主题部分中的 SMON)。

要查找驱动器(重启后),请键入
dmesg | more
找到与您 SCSI 设备相关的启动消息部分。 您应该看到类似以下内容
qpti0: IRQ 53 SCSI ID 7 (Firmware v1.31.32)(Firmware 1.25 96/10/15)

[Ultra Wide, using single ended interface]

QPTI: Total of 1 PTI Qlogic/ISP hosts found, 1 actually in use.

scsi1 : PTI Qlogic,ISP SBUS SCSI irq 53 regs at fd018000 PROM node ffd746e0
这表明 SCSI 控制器已正确识别。 在此下方查找磁盘部分
Vendor ANTARES Model: CX106 Rev: 0109

Type: Direct-Access ANSI SCSI revision: 02

Detected scsi disk sdc at scsi1, channel 0, id 0, lun 0

SCSI device sdc: hdwr sector= 512 bytes. Sectors= 20971200 [10239 MB] [10.2 GB]
注意读取 “Detected scsi disk sdc ...” 的行,这告诉您此虚拟磁盘已映射到设备 /dev/sdc。 分区后,第一个分区将是 /dev/sdc1,第二个分区将是 /dev/sdc2,依此类推。 每个检测到的虚拟磁盘都应有一个上述磁盘部分。 也可能有一个像下面这样的条目
Vendor ANTARES Model: CX106-SMON Rev: 0109

Type: Direct-Access ANSI SCSI revision: 02

Detected scsi disk sdd at scsi1, channel 0, id 0, lun 7

SCSI device sdd: hdwr sector= 512 bytes. Sectors= 20971200 [128 MB] [128.2 MB]
注意:这不是驱动器,请勿尝试 fdisk、mkfs 或挂载它!! 这样做会使您的系统挂起。

分区

虚拟驱动器对主机操作系统而言,就像一个普通的大型 SCSI 驱动器。 使用 fdisk 或您喜欢的实用程序执行分区。 启动 fdisk 时,您必须为虚拟驱动器提供磁盘标签。 使用选择 “Custom with autoprobed defaults” 似乎效果很好。 有关详细信息,请参阅给定实用程序的手册页。

安装文件系统

安装文件系统与任何其他 SCSI 驱动器没有什么不同
mkfs -t <filesystem_type> /dev/<device>
例如
mkfs -t ext2 /dev/sdc1

挂载

如果 QLogic SCSI 支持已编译到您的内核中,或者您正在从 /etc/conf.modules 加载 “qlogicpti” 模块,则将以下行添加到 /etc/fstab
/dev/<device> <mount point> ext2 defaults 1 1
如果您使用 SystemV 初始化脚本来加载/卸载模块,您也必须在那里挂载/卸载驱动器。 请参阅上面的示例脚本。

3.4.2  全新 Linux 安装

这是安装 RAID 的最简单方法,因为 RedHat 安装程序将为您完成大部分工作。
  1. 按照 “板载配置” 中概述的方式配置主机端口、RAID 组和备用盘。 您的计算机必须开机才能执行此步骤,因为 5070 由 SBUS 供电。 此时计算机是否安装了操作系统并不重要,我们只需要控制器卡的电源。
  2. 开始 RedHat SparcLinux 安装
  3. 安装程序将自动检测 5070 控制器并加载 Qlogic 驱动程序
  4. 您的虚拟 RAID 驱动器将显示为普通的 SCSI 硬盘驱动器,在安装期间进行分区和格式化。 注意:在使用 RedHat 安装期间的图形分区实用程序时,请勿将虚拟驱动器上的任何分区指定为 RAID 类型,因为它们已经是硬件管理的虚拟 RAID 驱动器。 分区实用程序屏幕上的 RAID 选择用于设置软件 RAID。
    重要提示:您可能会在可用驱动器列表中看到一个小的 SCSI 驱动器(通常约为 128 MB)。 请勿选择此驱动器使用。 它是 SMON 通信通道,而不是驱动器。 如果安装程序尝试使用它,则会使安装程序挂起。
  5. 就这些,安装程序会处理其他所有事情!!

3.5  维护

3.5.1  备用盘,激活激活备用盘

当运行 RAID 3 或 5 时(如果您配置了一个或多个驱动器作为备用盘),5070 将检测到驱动器脱机时,并自动从备用盘池中选择一个备用盘来替换它。 数据将动态重建。 在重建过程中,RAID 将继续正常运行(即,可以像什么都没发生一样进行读取和写入)。 当后端发生故障时,您将在 5070 控制台上看到类似于以下内容的消息
930 secs: Redo:1:1 Retry:1 (DIO_cim_homes_D1.1.0_q1) CDB=28(Read_10)Re-/Selection Time-out @682400+16

932 secs: Redo:1:1 Retry:2 (DIO_cim_homes_D1.1.0_q1) CDB=28(Read_10)Re-/Selection Time-out @682400+16

933 secs: Redo:1:1 Retry:3 (DIO_cim_homes_D1.1.0_q1) CDB=28(Read_10)Re-/Selection Time-out @682400+16

934 secs: CIO_cim_homes_q3 R5_W(3412000, 16): Pre-Read drive 4 (D1.1.0) fails with result "Re-/Selection Time-out"

934 secs: CIO_cim_homes_q2 R5: Drained alternate jobs for drive 4 (D1.1.0)

934 secs: CIO_cim_homes_q2 R5: Drained alternate jobs for drive 4 (D1.1.0) RPT 1/0

934 secs: CIO_cim_homes_q2 R5_W(524288, 16): Initial Pre-Read drive 4 (D1.1.0) fails with result "Re-/Selection Time-out"

935 secs: Redo:1:0 Retry:1 (DIO_cim_homes_D1.0.0_q1) CDB=28(Read_10)SCSI Bus ~Reset detected @210544+16

936 secs: Failed:1:1 Retry:0 (rconf) CDB=2A(Write_10)Re-/Selection Time-out @4194866+128

...

然后您将看到备用盘从备用盘池中取出、启动、测试、启用以及数据重建。
937 secs: autorepair pid=1149 /raid/cim_homes: Spinning up spare device

938 secs: autorepair pid=1149 /raid/cim_homes: Testing spare device/dev/hd/1.5.0/data

939 secs: autorepair pid=1149 /raid/cim_homes: engaging hot spare ...

939 secs: autorepair pid=1149 /raid/cim_homes: reconstructing drive 4 ...

939 secs: 1054

939 secs: Rebuild on /raid/cim_homes/repair: Max buffer 2800 in 7491 reads, priority 6 sleep 500

...

重建脚本将每完成 10% 的作业打印其进度
939 secs: Rebuild on /raid/cim_homes/repair @ 0/7491

1920 secs: Rebuild on /raid/cim_homes/repair @ 1498/7491

2414 secs: Rebuild on /raid/cim_homes/repair @ 2247/7491

2906 secs: Rebuild on /raid/cim_homes/repair @ 2996/7491

3.5.2  重新集成已修复的驱动器将已修复的驱动器重新集成到 RAID 中(级别 3 和 5)

更换坏驱动器后,您必须使用以下步骤将其重新集成到 RAID 组中。
  1. 启动文本 GUI
  2. 查找 RAID 组的后端列表。
  3. 标记为故障的后端在其 ID 右侧会有一个 (-)(例如 D1.1.0- )。
  4. 如果您设置了备用盘,则故障后端的 ID 后跟已替换它的备用盘的 ID(例如 D1.1.0-D1.5.0 )。
  5. 写下故障后端的 ID(不是备用盘)。
  6. 按 Q 退出 agui
  7. 在 husky 提示符下,键入
    replace <name> <backend> 
    其中 <name> 是您为 raid 组命名的任何名称,<backend> 是要重新集成到 RAID 中的后端的 ID。 如果正在使用备用盘,它将自动返回到备用盘池。 请耐心等待,重建可能需要几分钟到几个小时,具体取决于 RAID 级别和大小。 幸运的是,在此过程中您可以像往常一样使用 RAID。

3.6  故障排除/错误消息

3.6.1  检测到频带外温度...

3.6.2  ... 失败 ... 不能有超过 1 个故障后端。

3.6.3  启动时我看到:... Sun disklabel: bad magic 0000 ... unknown partition table。

3.7  Bug

目前还没有! 请将错误报告发送至 tcoates@neuropunk.org

3.8  常见问题解答

3.8.1  如何重置/擦除板载配置?

在 husky 提示符下,发出以下命令
rconf -init
这将删除所有 RAID 配置信息,但不删除全局变量和 scsi 监控器。 要删除所有配置信息,请键入
rconf -fullinit
谨慎使用这些命令!

3.8.2  如何判断 RAID 中的驱动器是否发生故障?

在文本 GUI 中,故障后端在其 ID 右侧显示一个 (-)。 例如,后端列表
D0.0.0,D1.0.0-,D2.0.0,D0.1.0,D1.1.0,D2.1.0

表示后端(驱动器)D1.0.0 出现故障或不存在。 如果您分配了备用盘(RAID 3 或 5),那么您还应该看到一个或多个备用盘正在使用中。 主屏幕和 Raid 组屏幕都将显示有关 RAID 组中故障/不存在驱动器的信息。

3.9  命令参考高级主题:5070 命令参考

除了基于文本的 GUI 之外,还可以从板载控制器的 husky 提示符(: raid; 提示符)操作 RAID 配置。 本节介绍用户可以交互输入或通过脚本文件输入到 K9 内核的命令。 由于 K9 是 ANSI C 应用程序编程接口 (API),因此需要一个 shell 来解释用户输入并形成输出。 目前只有一个 shell 可用,它称为 husky。 K9 内核以 Plan 9 操作系统为模型,AT&T 的几篇论文讨论了 Plan 9 操作系统的设计(有关更多信息,请参阅 “进一步阅读” 部分)。 K9 是一个面向中小型复杂性嵌入式控制器(例如 ISDN-以太网桥、RAID 控制器等)的内核。 它在具有非抢占式调度程序的单个 CPU 上支持多个轻量级进程(即没有内存管理)。 设备驱动程序架构基于 Plan 9(和 Unix SVR4)STREAMS。 并发控制机制包括信号量和信号。 husky shell 以精简的 Unix Bourne shell 为模型。

使用内置命令,用户可以编写新的脚本,从而扩展 5070 的功能。 这些命令(改编自 5070 手册页)非常广泛,将在下面描述。

3.9.1  autobootAUTOBOOT - 自动创建所有 raid 组和 scsi 监控器的脚本

3.9.2  AUTOFAULT - 在驱动器故障后自动将后端标记为故障的脚本

3.9.3  AUTOREPAIR - 自动分配备用盘并重建 raid 组的脚本

3.9.4  BIND - 组合命名空间的元素

3.9.5  BUZZER - 获取蜂鸣器的状态或打开或关闭蜂鸣器

3.9.6  CACHE - 显示有关缓存范围的信息并删除缓存范围

3.9.7  CACHEDUMP - 将写缓存的内容转储到电池备份的 ram 中

3.9.8  CACHERESTORE - 从电池备份的 ram 中加载缓存数据

3.9.9  CAT - 连接文件并在标准输出上打印

3.9.10  CMP - 比较 2 个文件的内容

3.9.11  CONS - Husky 的控制台设备

3.9.12  DD - 复制文件(磁盘等)

3.9.13  DEVSCMP - 将文件大小与给定值进行比较

3.9.14  DFORMAT- 在后端磁盘驱动器上执行格式化功能

3.9.15  DIAGS - 运行给定设备诊断的脚本

3.9.16  DPART - 编辑 scsihd 磁盘分区表

3.9.17  DUP - 打开文件描述符设备

3.9.18  ECHO - 显示文本行

3.9.19  ENV- 环境变量文件系统

3.9.20  ENVIRON - RaidRunner 全局环境变量 - 名称和效果

3.9.21  EXEC - 使参数在当前 shell 中执行,替换当前 shell

3.9.22  EXIT - 退出 K9 进程

3.9.23  EXPR - 数值表达式求值

3.9.24  FALSE - 返回 K9 假状态

3.9.25  FIFO - 固定大小的双向 fifo 缓冲区

3.9.26  GET - 从列表中选择一个值

3.9.27  GETIV - 获取 RaidRunner 内部变量的值

3.9.28  HELP - 打印命令列表及其概要

3.9.29  HUSKY - K9 内核的 shell

3.9.30  HWCONF - 打印各种硬件配置详情

3.9.31  HWMON - 温度、风扇、PSU 监控守护程序。

3.9.32  INTERNALS - RaidRunner 使用的内部变量,用于更改运行内核的动态特性

3.9.33  KILL - 向指定的进程发送信号

3.9.34  LED- 打开/关闭 RaidRunner 上的 LED

3.9.35  LFLASH- 闪烁 RaidRunner 上的 LED

3.9.36  LINE - 将标准输入的一行复制到标准输出

3.9.37  LLENGTH - 返回给定列表中元素的数量

3.9.38  LOG - 类似于 zero,但增加了访问日志记录

3.9.39  LRANGE - 从给定列表中提取一系列元素

set list D1 D2 D3 D4 D5 # 创建列表

set subl `lrange 0 3 $list' # 从索引 0 到 3 提取

echo $subl

D1 D2 D3 D4

set subl `lrange 3 1 $list' # 从索引 3 到 1 提取

echo $subl

D4 D3 D2

set subl `lrange 4 4 $list' # 从索引 0 到 3 提取

echo $subl # 等效于 get 4 $list

D5

set subl `lrange 3 100 $list'

echo $subl

D4 D5

3.9.40  LS - 列出目录中的文件

3.9.41  LSEARCH - 在列表中查找模式

set list D1 D2 D3 D4 D5 # 创建列表

set idx `lsearch D4 $list' # 获取列表 $list 中 D4 的索引

echo $idx

3

set idx `lsearch D1 $list' # 获取列表 $list 中 D1 的索引

echo $idx

0

set idx `lsearch D8 $list' # 获取列表 $list 中 D8 的索引

echo $idx # 等效于 get 4 $list

-1

3.9.42  LSUBSTR - 替换列表中所有元素中的字符

set list D1 D2 D3 D4 D5 # 创建列表

set subl `lsubstr D x $list' # 将所有 D 替换为 x

echo $subl

x1 x2 x3 x4 x5

set subl `lsubstr D {} $list' # 删除所有 D

echo $subl

1 2 3 4 5

set list -L -16 # 创建一个带有嵌入花括号的列表

set subl `lsubstr {} $list' # 删除所有左花括号

set subl `lsubstr {} $subl' # 删除所有右花括号

echo $subl

-L 16

3.9.43  MEM - 内存映射文件(系统)

3.9.44  MDEBUG - 练习和显示有关内存分配的统计信息

3.9.45  MKDIR - 创建目录(或多个目录)

3.9.46  MKDISKFS - 用于创建磁盘文件系统的脚本

3.9.47  MKHOSTFS - 用于创建主机端口文件系统的脚本

3.9.48  MKRAID - 用于根据 rconf 的输出行创建 raid 的脚本

3.9.49  MKRAIDFS - 用于创建 raid 文件系统的脚本

3.9.50  MKSMON - 用于启动 scsi 监视器守护程序 smon 的脚本

3.9.51  MKSTARGD - 用于为给定 raid 集初始化 scsi 目标守护程序的脚本

3.9.52  MSTARGD - stargd 监视器

3.9.53  NICE - 更改 K9 进程的 K9 运行队列优先级

3.9.54  NULL- 用于丢弃输出的文件

3.9.55  PARACC - 显示有关硬件奇偶校验加速器的信息

3.9.56  PEDIT - 显示/修改 SCSI 后端模式参数页

3.9.57  PIPE - 双向进程间通信

3.9.58  PRANKS - 打印或设置当前控制器的可访问后端 rank

3.9.59  PRINTENV - 打印一个或所有 GLOBAL 环境变量

3.9.60  PS - 报告进程状态

: raid; ps

名称____________________PID__PPID__PGRP_S_P_ST%_TIME(ms)__SEMAPHORE+name

hyena                   0      0     0 R 9  18 385930     deadbeef

init                    1      0     1 W 0   9 90         8009b1a8   pau

SCN2681_reader          4      1     4 W 0   0 0          800702a4   2rd

SCN2681_writer          5      1     5 W 0   0 0          8007029c   2wr

SCN2681_putter          6      1     6 W 0   0 0          800702ac   2tp

DIO_R_drive3_q0        391     1   391 W 0   4 40120      8021a828   Ard

DIO_R_drive0_q0        397     1   397 W 0   4 13420      8007ac64   Ard

DIO_R_drive1_q0        404     1   404 W 0   5 25570      8007b224   Ard

husky                  28      1     1 W 0  10 50         8013a138   pau

cache_flusher          424     1   424 W 0  23 17700      8030c2c4   Cfr

CIO_R_q0               426     1   426 W 0  96 2320       8030d6f4   Ard

CIO_R_q1               427   426   426 W 0  96 2420       8030d6f4   Ard

CIO_R_q2               428   426   426 W 0  96 2410       8030d6f4   Ard

CIO_R_q3               429   426   426 W 0  96 2430       8030d6f4   Ard

CIO_R_q4               430   426   426 W 0  96 2240       8030d6f4   Ard

CIO_R_q5               431   426   426 W 0  96 2130       80c37540   Ard

CIO_R_q6               432   426   426 W 0  96 2300       8030d6f4   Ard

CIO_R_q7               433   426   426 W 0  96 2180       8030d6f4   Ard

smon                    65     1     1 W 0   5 30         8008d5e4   Nsl

DIO_R_drive2_q0        326     1   326 W 0   5 27680      8007b7e4   Ard

/bin/ps                871    28     1 W 0   8 40         80cfd020   pau

stargd                 107     1     1 R 0  48 23990      8007a648   Nsl

starg_107_L_R          119   107   119 W 0   0 0          8018c608   pau

3.9.61  PSCSIRES - 打印所有或特定监控器(moniker)的 SCSI-2 预留表

3.9.62  PSTATUS - 打印硬件状态寄存器的值

3.9.63  RAIDACTION- 用于收集/重置统计信息或停止/启动 raid 集的 stargd 的脚本

3.9.64  RAID0 - raid 0 设备

3.9.65  RAID1 - raid 1 设备

3.9.66  RAID3 - raid 3 设备

3.9.67  RAID4 - raid 4 设备

3.9.68  RAID5 - raid 5 设备

3.9.69  RAM - 基于 ram 的文件系统

3.9.70  RANDIO - 模拟随机读取和写入

3.9.71  RCONF、SPOOL、HCONF、MCONF、CORRUPT-CONFIG - raid 配置和备件管理

3.9.72  REBOOT - 退出目标硬件上的 K9 并返回监视器

3.9.73  REBUILD - raid 组重建实用程序

3.9.74  REPAIR - 用于为 raid 组的故障后端分配备用设备的脚本

3.9.75  REPLACE - 用于恢复 raid 组中后端设备的脚本

3.9.76  RM - 删除文件(或多个文件)

3.9.77  RMON - 开机自检和引导

3.9.78  RRSTRACE - 反汇编 scsihpmtr 监视器数据

3.9.79  RSIZE - 估计给定 raid 集的内存使用量

3.9.80  SCN2681 - 将 scn2681(串行 IO 设备)作为控制台访问

3.9.81  SCSICHIPS - 打印有关控制器 scsi 芯片的各种详细信息

3.9.82  SCSIHD - SCSI 硬盘设备(SCSI 发起器)

3.9.83  SCSIHP - SCSI 目标设备

3.9.84  SET - 设置(或清除)环境变量

3.9.85  SCSIHPMTR - 开启主机端口调试

3.9.86  SETENV - 设置全局环境变量

3.9.87  SDLIST - 设置或显示连接磁盘驱动器的内部列表

3.9.88  SETIV - 设置内部 RaidRunner 变量

3.9.89  SHOWBAT - 显示有关电池备份 ram 的信息

3.9.90  SHUTDOWN - 将 RaidRunner 置于关机或静止状态的脚本

3.9.91  SLEEP - 休眠给定的秒数

3.9.92  SMON - RaidRunner SCSI 监视器守护进程

3.9.93  SOS - 脉冲蜂鸣器以发出 sos 信号

3.9.94  SPEEDTST - 生成一组顺序写入,然后读取

3.9.95  SPIND - 启动或停止磁盘设备

3.9.96  SPINDLE - 修改磁盘设备上的主轴同步

3.9.97  SRANKS - 设置控制器的可访问后端 rank

3.9.98  STARGD - SCSI-2 目标守护进程

00: Test Unit Ready 如果后端准备就绪,则返回 GOOD 状态,否则将错误码设置为 Not Ready 并返回 CHECK CONDITION 状态
01: Rezero Unit      不执行任何操作,返回 GOOD 状态

03: Request Sense    错误码数据保存在每个启动器的基础上(加上额外的错误码

                     LUN)

04: Format Unit      不执行任何操作,返回 GOOD 状态

07: Reassign Blocks  消耗数据但不执行任何操作,返回 GOOD 状态

08: Read_6           不支持 DPO、FUA 和 RelAdr

0a: Write_6          不支持 DPO、FUA 和 RelAdr

0b: Seek_6           不执行任何操作,返回 GOOD 状态

12: Inquiry          仅支持标准的 36 字节数据格式(非重要的产品

                     数据页)

15: Mode Select      支持页 1、2、3、4、8 和 10(但都不可写)

16: Reserve          不支持范围 + 第三方

17: Release          不支持范围 + 第三方

1a: Mode Sense       支持页 1、2、3、4、8 和 10。

1b  Start Stop       如果请求启动并且 Immediate 位为 0,则等待

                     后端准备就绪,否则不执行任何操作并返回 GOOD

                     状态。 如果后端在 20 秒内未准备就绪,则设置

                     错误码为 Not Ready 并返回 CHECK  CONDITION 状态

1d  Send Diagnostics 当自检时返回 GOOD 状态,否则报错(不执行任何操作

                     内部操作)

25  Read Capacity    不支持 RelAdr、PMI 和逻辑地址 > 0

28  Read_10          与 Read_6 相同

2a  Write_10         与 Write_6 相同

2b  Seek_10          不执行任何操作,返回 GOOD 状态

2f  Verify           不执行任何操作,返回 GOOD 状态

55  Mode Select_10   与 Mode Select 相同

5a  Mode Sense_10    与 Mode Sense 相同

3.9.99  STAT - 获取指定文件(或标准输入)的状态信息

:raid;stat /bin/ps

ps                               ram    0 0x00049049    2 144

: raid;

3.9.100     STATS - 打印 RAID 组或缓存范围的累积性能统计信息

3.9.101     STRING - 对给定值执行字符串操作

set string ABCDEFGHIJ              # 创建字符串

set subs `string length $string'`   # 获取其长度

echo $subs

10

set subs `string range $string 2 2'`     # 提取索引 3 处的字符

echo $subs

C

set subs `string range $string 3 6'`     # 从索引 3 到 6 提取

echo $subs

DEFG

set subs `string range $string 6 3'`     # 向后

echo $subs

GFED

set subs `string range $string 4 70'`    # 从索引 4 到 70(或结尾)提取

echo $subs

EFGHIJ

set string D1,D2,D4,D8             # 创建字符串

set subs `string split $string ,'`  # 拆分字符串

echo $subs

D1 D2 D4 D8 

3.9.102     SUFFIX - 某些大十进制数允许的后缀

3.9.103     SYSLOG - 用于发送系统消息以进行日志记录的设备

3.9.104     SYSLOGD - 初始化或访问系统日志区域中的消息

3.9.105     TEST - 条件评估命令

3.9.106     TIME - 打印自启动(或时钟重置)以来的秒数

3.9.107     TRAP - 拦截信号并执行某些操作

3.9.108     TRUE - 返回 K9 true 状态

3.9.109     STTY 或 TTY - 打印用户的终端挂载点或 terminfo 状态

3.9.110     UNSET - 删除一个或多个环境变量

3.9.111     UNSETENV - 取消设置(删除)全局环境变量

3.9.112     VERSION - 打印 RaidRunner 内核的版本

3.9.113     WAIT - 等待进程(或我的子进程)终止

3.9.114     WARBLE - 定期脉冲蜂鸣器

3.9.115     XD- 以十六进制格式转储给定文件到标准输出

3.9.116     ZAP - 将零写入文件

概要:zap [-b blockSize] [-f byteVal] 计数 偏移量 <>[3] 存储

描述:zap 将 count * 8192 字节的零写入到文件存储(已打开并与文件描述符 3 关联)中偏移量 * 8192 字节的字节位置。 count 和 offset 都可以有后缀。 可选的“-b”开关允许将块大小设置为 blockSize 字节。 默认块大小为 8192 字节。 可选的“-f”开关允许将填充字符设置为 byteVal,byteVal 应该是 0 到 255(包括 0 和 255)范围内的数字。 默认填充字符为 0(即零)。 每执行 100 次写入操作,都会输出当前计数(通常会覆盖之前的计数输出)。 写入操作中的错误将被忽略。

另请参阅: suffix

3.9.117     ZCACHE - 操作 RAID 组缓存的区域优化 IO 表

3.9.118     ZERO - 读取时连续产生零的文件

3.9.119     ZLABELS - 将零写入 RAID 组的开头和结尾

3.10  高级主题:SCSI 监视器守护进程 (SMON)

从主机操作系统与板载控制器通信的另一种方法是使用 SCSI 监视器 (SMON) 工具。 SMON 在分配的 SCSI ID 和 LUN 上提供 ASCII 通信通道。 可以在此通道上发出第 7 节中讨论的命令,以操作 RAID 配置和操作。 此机制在 Solaris 下用于提供基于 X 的 GUI 和 RAID 控制器之间的通信通道。 它目前在 Linux 下未被使用。 请参阅上面 5070 命令参考中 smon 守护进程的描述。

3.11  进一步阅读


Previous Up