全部博文(167)
分类:
2010-01-31 16:53:50
Sun FIRE是SUN在UNIX服务器方面的产品系列名称,也可说是产品线名称,自2001年开始使用,可以说Sun Fire系列是接替Sun Enterprise系列。以下图是Sun Fire 和 Sun Enterprise的一些对比:
Sun Fire在市面上比较常用的机器如下图:
因为本人只接触过4800,6800所以今次的实例主要在这两个服务器机型上。
Platform:是指多个域(domain)之间可共享的资源集,如电源、中心板及风扇等。在此环境下的shell 称为平台shell。其标识为:
主SC:schostname:SC>
从SC:schostname:sc>
平台shell可完成如下工作:
配置系统控制器SC 的相关网络参数
配置分区(partitions)和域(domain)
监控平台环境
显示硬件配置信息
为系统及系统组件加电及断电
为系统设置硬件级别的安全
设备TOD 时钟
测试系统组件
隔离有故障的系统组件
配置COD 软件
升级系统固件(firmware)
Domain中运行着自身的操作系统,并独立于其他的域。每个域都有自己的CUP、内存及I/O部件。域之间共享某些硬件资源,如电影,风扇等。在此环境下的shell称为域shell,其标识为:
Schostname:A>
Schostname:B>
域shell可完成如下工作:
为当前域增加或删除物理资源;
设置域级别的安全特性;
加电/断电域中的组件;
初始化域;
测试域;
配置域的相关参数。
最少的域配置至少要包括一个CUP/Memory板和一个I/O部件。
Parttition分区,也称为段(Segments)分区。是一组转发器板 (RepeaterBoard),一起用于同一域中的 CPU/Memory板和 I/O部件之间提供通信。
SUN FIRE系统支持逻辑分割 (主要是指转发器板的分割 ),缺省地 ,系统被放置在单一的分区中 ,如果需要划分大于 2个域的时候 (如 SF6800支持划分 4个域),必须设置双分区模式。
每个域均有相关联的访问控制列表 (ACL),ACL定义了哪些板能够被添加到域中或从域中移除缺省地,所有的板(board)都加入到每个ACL中。
系统控制器:是一个嵌入式单板系统 ,连接到中型系统的中心板。可以通过串行连接或以太网连接访问系统控制器,它是平台和域的管理和配置核心用于连接域控制台。系统控制器配置和监控系统中的其它硬件并提供命令行界面以便您可以执行配置平台和每个域所需的任务。比如:执行域的初始化、提供安装在系统板上的Firmware升级等。
系统控制器可提供组件级的状态和由用户控制的组件禁用功能,也称为列入黑名单(blacklist),但应注意系统控制器并不真正维护黑名单文件。 利用”disablecomponent”命令可以将出现错误的组件添加到黑名单中 ,黑名单中的组件将不予以配置。利用”enablecomponent”命令可以删除黑名单中的组件。平台的黑名单可以完全取代域的黑名单。例如如果一个组件在平台中禁用,则它将在所有的域中始终被禁用。从平台列入黑名单的名称将应用于所有的域,在域中列入黑名单的名称只应用于当前的域。如果您在一个域中禁用了一个组件,然后将该部件移至另一个域中则该组件将不再被禁用。”showcomponent” 命令显示有关组件的状态信息包括是否已被禁用。要启用此前禁用的组件,必须在域中或从平台来启用它 。
每个域都有一个虚拟钥控开关钥控开关,在平台 shell或域shell中通过 ”setkeyswitch”命令可以改变虚拟钥控开关的位置,钥控开关共有5种位置 ,如下表:
位置 |
含义 |
off |
默认值,在域shell或平台shell中将钥控开关逻辑旋至该位置后,将当前域中所有的板置于”low-power”模式,此时,可以安全地移除域中的板。在系统加电后,该域不会被初始化 |
standby |
将钥控开关逻辑旋至该位置后,不会将域中所有的板置于”low-power”模式,在系统加电后,该域不会被初始化,但该域中所包含的组件将被加电 |
on |
在域 shell或平台shell中将钥控开关逻辑旋至该位置后 ,将为域加电并初始化,之后进入到 OBP状态,如果将 ”auto-boot?”设置成 ”true”,则启动 OS |
diag |
类似”on”,只是将 POST诊断级别设置成max |
secure |
类似”on”,只是将 ”break/xir/reset”命令屏蔽,不允许升级SB和 I/O板的PROM |
在介绍相关操作的一些例子前,先通过图片认清一些板所在的位置,如下图:
服务器所有的配置信息全部存储在系统控制器SC 中。这些信息中包含两种配置信息:SC 的配置信息及平台配置信息。在第一次安装时,首先配置主SC 和备SC 的网络及其它相应的参数,过程如下:
1:通过串口配置备sc,对于备sc,主要配置其网络参数。
xx:sc>setupplatform –p network
Network Configuration
--------------------------------------------------
Is the system controller on a network? [yes]:
Use DHCP or static network settings? [DHCP]: static
Hostname []: sc1
IP Address []: 192.168.1.10
Netmask []: 255.255.255.0
Gateway []:
DNS Domain []:
Primary DNS Server []:
Secondary DNS Server []:
2:重启备sc 使配置生效:XX:sc>reboot
3:通过串口配置主SC,配置网络参数及其它相关参数。
XX:SC>setupplatform
主要配置的参数有:
Network Configuration
---------------------
Is the system controller on a network? [yes]:
Use DHCP or static network settings? [DHCP]: static
Hostname []: sc1
IP Address []: 192.168.1.101
Netmask []: 255.255.255.0
Gateway []:
DNS Domain []:
Primary DNS Server []:
Secondary DNS Server []:
Loghosts
--------
Loghost []:
Log Facility [local0]:
SC
--
SC POST diag Level [max]: min
Partition Mode
--
Configure chassis for single or dual partition mode? [single]:single
4:配置主SC的其他参数。(这些参数只需在主SC上配置,对备SC也生效)
XX:SC>setdate -t CTT 时间
XX:SC>password
XX:SC>setfailover on
XX:SC>showboards -p clock
XX:SC>reboot
5:在主SC 上划分Domain。
由于系统默认已经划分有一个Domain A,并且将所有的系统板和I/O 板分配给了Domain A,如果只需要划分一个域,则不需要再划分域。
6:加电所有组件
XX:SC>poweron grid0
XX:SC>poweron all
XX:SC>showboards [-v]
SC 的参数配置完成后,就可以进入到域的配置。
域创建及SC配置完成后,需要对新域进行配置。
1:进入Domain Shell
XX-sc0:SC>console –d a
XX-sc0:A>password
XX-sc0:A>setupdomain
需要配置的参数有:
Domain Boot Parameters
----------------------
reboot-on-error [true]:false
hang-policy [reset]:
OBP.use-nvramrc? [
OBP.auto-boot? [
OBP.error-reset-recovery [
Loghosts
--------
Loghost [ ]: (如果需要重定向日志功能,在此输入工作站的IP)
Log Facility [local0]: local1
域配置参数和取值如下表:
域可配置的参数 |
取值 |
含义 |
Diag-level |
Init |
仅运行SB 的初始化代码,不做其它测试,POST 速度快 |
Quick |
All system board components are tested using few locations with few test patterns | |
Default |
最大程度地测试所有的SB 部件(除了内存及Ecache 模块) | |
Mem1 |
same as “default”. All memory and Ecache algorithms are run with all patterns | |
Mem2 |
same as mem1 with the addition of some algorithms that compare the data after each operation | |
Verbosity-level |
Off |
No status messages are displayed |
Min |
Test names and status messages are displayed | |
max |
Subtest trace messages are displayed | |
Error-level |
Off |
在POST 过程中不显示任何错误信息 |
Min |
只显示测试失败的信息 | |
Max |
显示全部相关的测试信息 | |
Interleave-scope |
within-board |
The memory is interleaved within the board |
across-boards |
The memory is interleaved across all of the boards in the domain.(如果使用DR 功能,不能设置该值) | |
Interleave-mode |
optimal |
The memory is mixed-size interleaving to gain optimal performance. |
Fixed |
The memory is fixed-size interleaving | |
Off |
There is no memory interleaving | |
OBP.use-nvramrc |
True |
同use-nvramrc? |
False | ||
OBP.auto-boot |
True |
同use-nvramrc? |
False | ||
OBP.error-resetrecovery |
Sync |
缺省值。当POST 失败时,调用”sync”,如果同步不成功,重启 |
None |
只显示失败信息并转到OK 提示符下 | |
reboot |
类似reset-all |
1: XX:A>setkeyswitch on (如果域未加电则执行这一步)
2:第1步POST 完成后,如果没有将”auto-boot?”设置成”true”,则系统进入到OK提示符下。
3:如果在设置域参数(setupdomin)时,没有设置自动开始,执行
XX:A>resume
如果操作系统已自动启动,不要执行该步骤
如果是使用telnet 连接到OS 中:
在”telnet”提示符下键入”Ctrl+]”
输入send break
如果是使用tip 连接:
ok>~#
如果要从域shell 返回到OS,执行:
XX:A>resume
如果当前正处于域shell 中,输入”break”命令,如果此时操作系统正在运行,在ok 提示符下输入”go”返回OS。
XX:SC>console domain_name
此时要从域shell返回到平台shell,执行:
XX:A>disconnect
各种切换如下图:
启动:
在相应的domain状态下XX:A>setkeywitch on(域A将转至OBP状态)
停止:
1:假如需要停止的domain 正处于操作系统运行状态,则需要将其转到OBP状态下
2:转到平台shell下,停止domain:
XX:SC>setkeywitch –d <domain> off或者转到域shell下,停止当前domain(A):XX:A>setkeywitch off
启用:
1:进入到相应域的shell
2:启用当前域的组件:
XX:A>enablecomponent <component_name>
component_name:
ForCPU/Memoryboard: system_board_name/port/physical_bank/logical_bank
For I/O: system_ board_name/port/bussystem_board_name/card
3:重新启动当前domain:
XX:A>reset -y
停用:
1:进入到相应域的shell
2:禁用当前域的component:
XX:A>disablecomponent <component_name>
3:重新启动当前的domain:
XX:A>reset -y
启动:
启动电网:
XX:SC>poweron grid0 [grid1](SF6800 需要启动两个电网)
为系统中所有组件加电:
XX:SC>poweron all
进入到相应的域shell,分别引导每个域:
XX:A>setkeywitch on
停止:
依次中断每个活动域中的操作系统,然后转到ok状态下,再进入各域的shell 环境,并将域的钥控开关设置成”off”:
具体步骤如下:
ok <按CTRL+]键>
telnet>send brk (进入到域shell环境)
XX:A>setkeyswitch off
断开会话连接,并进入到平台shell环境:
XX:A>disconnect
在平台shell 中,为所有组件逻辑断电.
XX:SC>poweroff all
在平台shell中,关闭电网:
XX:SC>poweroff grid0 [grid1](在SF6800中必须关闭2个电网)
关闭系统硬件的电源
1:进入到相应的域shell环境中
2:获得可使用该域中的所有板:
XX:A>showboards –a
如果要分配给此域的板不在列表中,执行下列操作:
a.确保该板没有分配给其它的域(板只能属于一个域)
b.确认该板已在相应域的ACL列表中:
在平台shell中使用showplatform –p acls 命令或者在域shell中使showdomain –p acls命令。
3.如果该板没有在所需的域中列出,则从平台shell 中使用stetupplatform –p acls 命令,将板添加到相应域的ACL中。
4:将相应的板添加到相应的域中:
XX:A>addboard sb2(将sb2板分配给当前域)
5:激活板:
如果域是活动的,则首先进入域的控制台环境下,然后进入域shell,并关闭域电源,之后再打开域电源。
XX:A>setkeywitch standby
XX:A>setkeywitch on
如果域不是活动的,则直接关闭域电源,之后重新为域加电。
1:中止域中运行的操作系统,并进入相应的域shell
2:将域的钥控开关设置成”off”(setkeywitch off)
3:利用”showboards”命令显示分配给当前域的板
4:从域中删除相应的板:
XX:A>deleteboard sb2
5:启动域的电源:
XX:A>setkeywitch on
SunFire服务器在出厂时已配置有一个域A,并将所有的SB和IB板都加入到了domain A 中,以下例子将创建一个新域B,新域包含SB4 和IB8。
1:如果域A正在选择OS,将其切换到OBP状态下:
#init 0
2:进入到域shell中:
按”Ctrl+]”,然后输入”send break”命令.
3:在域shell中,逻辑断电域:
XX:A>setkeyswitch off
4:从域A中移除SB4和IB8:
XX:A>deleteboard sb4
XX:A>deleteboard ib8
5:切换到平台shell,为域B添加SB4和IB8:
XX:A>disconnect
XX:SC>addboard –d b sb4 ib8
采用SUNWexplore工具进行收集,在管理工作站上运行:
#cd /opt/SUNWexplo/bin
#./explorer –w default,scextended
命令运行的过程中,将会提示输入SC的名称或IP地址