分类: 系统运维
2008-12-18 14:38:56
某用户处有一个fabric, 由四台EMC DS16B2(Brocade 3800)组成。其中某一台损坏,本来打算用Brocade 200E更换,但由于200E只有单电的配置,而用户坚持要双电源,只好用4100双电配置来替代。
替代时,发现fabric segment, 原因是由于交换机之间的PID(port id) format不一致造成的。2800, 3800的PID format缺省为0,还可以支持1,2格式,而200E和4100的fabric OS只支持PID为1的格式,因此,不得不将老的3800交换机的PID format改为1以匹配。而且修改PID format后,虽然存储并不需要重启,但对主机,有可能需要重启。以下是来自网上的
OpenVMS has no problem, because it uses the unit identifier for binding to a device name.
Windows does not have a problem either.
SUN Solaris should not have a problem - as far as I know, only IBM AIX and HP-UX encode the fibre channel address into a device's hardware path.
不幸的是,我们的主机恰恰是IBM的。好在我们的试验环境里有IBM和存储以及一台Brocade 2800. 环境与用户的基本类似。于是开始试验。
首先用configshow确认2800的PID format为0,在IBM主机上,察看存储上的LUN,
[root@p610]/> lsattr -El hdisk13
clr_q no Device CLEARS its Queue on error
True
location Location Label
True
lun_id 0x0 Logical Unit Number ID
False
max_transfer 0x40000 Maximum TRANSFER Size
True
node_name 0x210000e08b82dbad FC Node Name
False
pvid 000b
False
q_err yes Use QERR bit
True
q_type simple Queuing TYPE
True
queue_depth 1 Queue DEPTH
True
reassign_to 120 REASSIGN time out value
True
rw_timeout 30 READ/WRITE time out value
True
scsi_id 0x11600 SCSI ID
False
start_timeout 60 START unit time out value
True
ww_name 0x210000e08b82dbad FC World Wide Name
False
因为我知道存储连在port 6, 因此也可以确认目前的PID format确实是0.
然后switchdisable, configure修改PID format为1,别忘了随后switchenable.然后所有的设备都成功的登陆,好像主机那边也没有报错,然后重启IBM. 第一次没起来,第二次reset可以了,这时再次查看
[root@p610]/> lsattr -El hdisk13
clr_q no Device CLEARS its Queue on erro
True
location Location Label
True
lun_id 0x0 Logical Unit Number ID
False
max_transfer 0x40000 Maximum TRANSFER Size
True
node_name 0x210000e08b82dbad FC Node Name
False
pvid 000b
False
q_err yes Use QERR bit
True
q_type simple Queuing TYPE
True
queue_depth 1 Queue DEPTH
True
reassign_to 120 REASSIGN time out value
True
rw_timeout 30 READ/WRITE time out value
True
scsi_id 0x10600 SCSI ID
False
start_timeout 60 START unit time out value
True
ww_name 0x210000e08b82dbad FC World Wide Name
False
注意scsi_id已经由0x11600变为0x10600,说明修改生效了,而且IBM主机除了重启,好像不用作额外的动作。所以对于IBM主机,建议先shutdown主机,然后再改PID format.
以下是关于级联交换机的另一篇文章:
前不久发了帖子象大家请教如何设置brocade交换机的级联.下面是我总结的设置方法. 首先要确保交换机的domain id都不同. 1.两个交换机的Domain ID一定要不一样. 2.如果原来的16端口的交换机或者新买的32端口的交换机有Zone的配置,你还需要做一些Zone的配置. 更改Domain ID和做Zone的配置你可以使用图形介面.方法为在PC主机上安装Java的虚拟机,然后使用通过网口连接交换机. 更改Domain ID的方法为: 1.login the switch 2.执行命令switchdisable 3.执行命令configure 4.选y当提示Fbric parameters 5.输入Domain ID 当提示你Domain:(1....239) 6.使用Ctrl+D退出. 7.执行switchenable 再次是要确保16口交换机能级联上32口交换机,就要修改16口交换机上的PID format这个参数.32口交换机上这个参数是1,而且是定死的1,不能改成0的. fcsw15:admin> cfgdisable fcsw15:admin> switchdisable fcsw15:admin> configure Configure... Fabric parameters (yes, y, no, n): [no] y Domain: (1..239) [10] BB credit: (1..27) [16] R_A_TOV: (4000..120000) [10000] E_D_TOV: (1000..5000) [2000] WAN_TOV: (1000..120000) [0] WAN_RTT_DLY_MAX: (100..5000) [200] Data field size: (256..2112) [2112] Sequence Level Switching: (0..1) [0] Disable Device Probing: (0..1) [0] Suppress Class F Traffic: (0..1) [0] SYNC IO mode: (0..1) [0] VC Encoded Address Mode: (0..1) [0] Core Switch PID Format: (0..1) [0] 1 Per-frame Route Priority: (0..1) [0] Long Distance Fabric: (0..1) [0] Virtual Channel parameters (yes, y, no, n): [no] Zoning Operation parameters (yes, y, no, n): [no] RSCN Transmission Mode (yes, y, no, n): [no] NS Operation Parameters (yes, y, no, n): [no] Arbitrated System services (yes, y, no, n): [no] Portlog events enable (yes, y, no, n): [no] Committing configuration...done. fcsw15:admin> switchenable 这样设置以后就能保证级联的成功了. |
当然,最权威的资料来自于Brocade的文档,Brocade SilkWorm Design, Deployment, and Management Guide.
请看第二部分