Проблема:SUN Enterprise 3500 (Solaris9) + EMC Clarion CX-400

Технологии постороения кластеров (вычислительных и отказоустойчивых), настройка терминал серверов,
SAN , NAS, FibreChannel, Infiniband

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
Valex@
Junior member
Сообщения: 7
Зарегистрирован: 05 дек 2005, 17:24

Проблема:SUN Enterprise 3500 (Solaris9) + EMC Clarion CX-400

Сообщение Valex@ » 05 дек 2005, 18:27

Добрый день.
Не могу подружить связку указанную в subj. :(
Массив подключен оптикой напрямую в сервер. В сервере установлена плата HBA - Emulex LP9002s. Установил драйвер НВА успешно:
Hostname: SUN
Configuring /dev and /devices
NOTICE:
Emulex LightPulse FC SCSI/IP 6.02h
NOTICE: lpfc0: Firmware Rev 3.93A0 (R2F3.93A0)
NOTICE: lpfc0: Fcode Rev 2.31a5
NOTICE: lpfc0: WWPN:10:00:00:00:c9:2e:5d:a3 WWNN:20:00:00:00:c9:2e:5d:a3 DID 0x1

Но при команде format выдается сообщение:
Dec  5 16:11:21 SUN scsi: [ID 107833 kern.warning] WARNING: /sbus@3,0/lpfs@0,0/sd@0,0 (sd75):
Dec  5 16:11:21 SUN     offline
Dec  5 16:11:21 SUN scsi: [ID 107833 kern.warning] WARNING: /sbus@3,0/lpfs@0,0/sd@0,0 (sd75):
Dec  5 16:11:21 SUN     offline
Dec  5 16:11:21 SUN scsi: [ID 107833 kern.warning] WARNING: /sbus@3,0/lpfs@0,0/sd@0,1 (sd90):
Dec  5 16:11:21 SUN     offline
Dec  5 16:11:21 SUN scsi: [ID 107833 kern.warning] WARNING: /sbus@3,0/lpfs@0,0/sd@0,1 (sd90):
Dec  5 16:11:21 SUN     offline

Хотя на самом массиве в логах явно указывается что линк поднят:
"Fibre channel loop UP on logical port 0"

Может ли данная проблема быть из-за того, что я не инсталлировал PowerPath на сервере? В доке под названием EMC Installation Roadmap указывается на необходимость его установки. Но его у меня к сожалению нет в наличии, и как я полагал - он требуется для обеспечения Load Balancing.

Добрый Нах
Junior member
Сообщения: 2
Зарегистрирован: 05 дек 2005, 23:09

Сообщение Добрый Нах » 05 дек 2005, 23:15

Топология с обоих концов одинакова? Loop?
Скорость зажата?
С другим кабелем как?
на хосте sd.conf и /etc/system правлены?
конфигурациооные файлы lpfc(s).conf sd.conf /etc/system в студию.
С emc дело не имел, но ИМХО для одного пути он не нужен.

Valex@
Junior member
Сообщения: 7
Зарегистрирован: 05 дек 2005, 17:24

Сообщение Valex@ » 06 дек 2005, 01:25

Топология с обоих концов одинакова? Loop?
******** В lpfc.conf на сервере стоит пробовать сначала Loop, если безуспешно - то point-to-point. Как установить на массиве - не знаю, но судя по логам массива: "Fibre channel loop UP on logical port 0" -  тоже Loop.

Скорость зажата?
********** В lpfc.conf на сервере link-speed=1. На массиве тоже явно указана скорость 1Gb/s для подключенного порта.

С другим кабелем как?
*********** Дело в том, что плата на сервере одна. На второй плате видимо битый HBA. По крайней мере POST второй HUB не проходит. Поэтому и линк один тоже. Второй конец подключен в оптический порт Storage Processor A. В порт Storage Processor B не подключено ничего (Изначально конечно был второй линк на битый HBA, но я его потом убрал - думал может из-за него проблема)

на хосте sd.conf и /etc/system правлены?
*********** Да, в меру знаний полученных от прочтения мануалов ;)

В sd.conf добавил записи для двух LUN'ов (в массиве два RAID'а с LUN=0 и LUN=1);

В lpfc.conf поменял только скорость с 0 на 1 и no-device-delay c 1 на 0 согласно мануалу к драйверу НВА. В  /etc/system только добавил запись set id:sd_io_time=0x3C (Уже не помню где нашел такую рекомендацию).


******** lpfc.conf ***********

# Copyright (c) 2005, Emulex
# 3333 Susan Street, Costa Mesa, CA 92626
#
# All rights reserved. This computer program and related documentation
# is protected by copyright and distributed under licenses restricting
# its use, copying, distribution and decompilation. This computer
# program and its documentation are CONFIDENTIAL and a TRADE SECRET
# of Emulex Design & Manufacturing Corporation. The receipt or possession
# of this program or its documentation does not convey rights to reproduce
# or disclose its contents, or to manufacture, use, or sell anything that
# it may describe, in whole or in part, without the specific written consent
# of Emulex Design & Manufacturing Corporation. Any reproduction of this
# program without the express written consent of Emulex Design & Manufacturing
# Corporation is a violation of the copyright laws and may subject you to
# criminal prosecution.
#
#
# Solaris LightPulse lpfc (SCSI) / lpfn (IP) driver: global initialized data.
#
# lpfc.conf 1.29.1.2 2005/10/21 11:06:55PDT

# Verbosity:  only turn this flag on if you are willing to risk being
# deluged with LOTS of information.
# You can set a bit mask to record specific types of verbose messages:
#
# 0x1    ELS events
# 0x2    Device Discovery events
# 0x4    Mailbox Command events
# 0x8    Initialization events
# 0x10   Link Attention events
# 0x20   IP events
# 0x40   FCP events
# 0x80   Node table events
# 0x400  Miscellaneous events
# 0x800  SLI events
# 0x2000 IOCtl events
# 0xffff Log All Events
log-verbose=0x0;

# Setting log-only to 0 causes log messages to be printed on the
# console and to be logged to syslog (which may send them to the
# console again if it's configured to do so).
# Setting log-only to 1 causes log messages to go to syslog only.
log-only=1;

#
# +++ Variables relating to FCP (SCSI) support. +++
#
# specifies the method of binding to be used. This
# binding method is used for persistent binding and automaped
# binding. A value of 1 will force WWNN binding, value
# of 2 will force WWPN binding, value of 3 will force
# DID binding and value of 4 will force the driver to derive
# binding from ALPA (hard addressed) in a private loop environment.
# Any persistent binding whose type does not match with the
# bind method of the port will be ignored.
fcp-bind-method=2;


# Setup FCP persistent bindings,
# fcp-bind-WWPN binds a specific WorldWide PortName to a target id,
# fcp-bind-WWNN binds a specific WorldWide NodeName to a target id,
# fcp-bind-DID binds a specific DID to a target id.
# Binding method must match with the bind method of that HBA, else the
# binding will be ignored.
# fcp-bind-method should NOT be set to 4 when one of these binding methods
# is used.
# WWNN, WWPN and DID are hexadecimal values.
# WWNN must be 16 digit BCD with leading 0s.
# WWPN must be 16 digit BCD with leading 0s.
# DID must be 6 digit BCD with leading 0s.
# The SCSI ID to bind to consists of two parts, the lpfc interface
# to bind to, and the target number for that interface.
# Thus lpfc0t2 specifies target 2 on interface lpfc0.
# NOTE: Target ids, with all luns supported, must also be in sd.conf.

# Here are some examples:
#                WWNN             SCSI ID
# fcp-bind-WWNN="2000123456789abc:lpfc1t0",
#               "20000020370c27f7:lpfc0t2";
#
#                WWPN             SCSI ID
# fcp-bind-WWPN="2100123456789abc:lpfc0t0",
#               "21000020370c2855:lpfc0t1",
#               "2100122222222222:lpfc2t2";
#
#                DID   SCSI ID
# fcp-bind-DID="0x1:lpfc0t0";
# BEGIN: LPUTIL-managed Persistent Bindings

# If automap is set, SCSI IDs for all FCP nodes without
# persistent bindings will be automatically generated.
# If new FCP devices are added to the network when the system is down,
# there is no guarantee that these SCSI IDs will remain the same
# when the system is booted again.
# The bind method of the port is used as the binding method of
# automap devices to preserve SCSI IDs between link down and link up.
# If automap is 0, only devices with persistent bindings will be
# recognized by the system.
automap=1;

# lun-queue-depth [1 to 128] - The default value lpfc will use to
# limit the number of outstanding commands per FCP LUN.  This value
# is global, affecting each LUN recognized by the driver, but may be
# overridden on a per-LUN basis (see below). RAID arrays may want
# to be configured using the per-LUN tunable throttles.
lun-queue-depth=30;

# tgt-queue-depth [0 to 10240] - The default value lpfc will use to
# limit the number of outstanding commands per FCP target.  This value
# is global, affecting each target recognized by the driver, but may be
# overridden on a per-target basis (see below). RAID arrays may want
# to be configured using the per-target tunable throttles. A value
# of 0 means don't throttle the target.
tgt-queue-depth=0;

# lpfcNtM-lun-throttle:  the maximum number of outstanding commands to
# permit for each LUN of an FCP target that supports multiple LUNs.
# The default throttle for the number of commands outstanding to a single
# LUN of a multiple-LUN target is lun-queue-depth. For a target that
# can support multiple LUNs, it may be useful to specify a LUN throttle
# that differs from the default.
# Example: lpfc0t17-lun-throttle=48;
# says that each LUN on target 17, interface lpfc0 should be allowed
# up to 48 simultaneously outstanding commands.
#lpfc1t39-lun-throttle=10;
#lpfc0t40-lun-throttle=30;

# lpfcNtM-tgt-throttle:  the maximum number of outstanding commands to
# permit for a FCP target.
# By default, target throttle is diabled.
# Example: lpfc0t17-tgt-throttle=48;
# says that target 17, interface lpfc0 should be allowed
# up to 48 simultaneously outstanding commands.
#lpfc1t39-tgt-throttle=10;
#lpfc0t40-tgt-throttle=30;

# no-device-delay [0 to 30] - determines the length of
# the interval between deciding to fail back an I/O because there is no way
# to communicate with its particular FCP device (e.g., due to device failure)
# and the actual fail back.  A value of zero implies no delay whatsoever.
# Cautions:  (1)  This value is in seconds.
# (2)  Setting a long delay value may permit I/O to build up,
# each with a pending timeout, which could result in the exhaustion of
# critical Solaris kernel resources.  In this case, you may see a fatal
# message such as
#           PANIC:  Timeout table overflow
#
# Note that this value can have an impact on the speed with which a
# system can shut down with I/Os pending and with the HBA not able to
# communicate with the loop or fabric, e.g., with a cable pulled.
no-device-delay=0;

#
# +++ Variables relating to IP networking support. +++
#

# network-on:  true (1) if networking is enabled, false (0) if not
# This variable will be set during the installation of the driver
# via pkgadd.
network-on=1;

# xmt-que-size [128 to 10240] - size of the transmit queue for mbufs
xmt-que-size=256;

#
# +++ Variables common to both SCSI (FCP) and IP networking support. +++
#

#
# If scan-down = 0, scan the devices on the private loop in increasing
# order of ALPA. If scan-down = 1, scan the devices on the private loop
# in decreasing order of ALPA.
# NOTE: scan-down does not apply if a loop map is obtained.
#
scan-down=1;

# Determine how long the driver will wait [0 - 255] to begin linkdown
# processing when the hba link has become inaccessible. Linkdown processing
# includes failing back commands that have been waiting for the link to
# come back up. Units are in seconds. linkdown-tmo works in conjuction
# with nodev-tmo. I/O will fail when either of the two expires.
linkdown-tmo=30;

# If set, nodev-holdio will hold all I/O errors on FCP devices that disappear
# until they come back. Default is 0, return errors with no-device-delay.
# This parameter is ignored, if scsi commands are issued in polled mode.
nodev-holdio=0;

# If set, nodev-tmo will hold all I/O errors on devices that disappear
# until the timer [0 to 255 secs] expires. Default is 30, return errors
# with no-device-delay.
nodev-tmo=30;

# Use no-device-delay to delay FCP RSP errors and certain check conditions.
delay-rsp-err=0;

# num-iocbs [128 to 10240] - number of iocb buffers to allocate
num-iocbs=256;

# num-bufs [64 to 4096] - number of buffers to allocate
# Buffers are needed to support Fibre channel Extended Link Services.
# Also used for SLI-2 FCP buffers, one per FCP command, and Mailbox commands.
num-bufs=128;

# topology:  link topology for initializing the Fibre Channel connection.
#          0 = attempt loop mode, if it fails attempt point-to-point mode
#          2 = attempt point-to-point mode only
#          4 = attempt loop mode only
#          6 = attempt point-to-point mode, if it fails attempt loop mode
# Set point-to-point mode if you want to run as an N_Port.
# Set loop mode if you want to run as an NL_Port.
topology=0;

# Set a preferred ALPA for the adapter, only valid if topology is loop.
# lpfc0-assign-alpa=2;  Request ALPA 2 for lpfc0

# ip-class:  FC class (2 or 3) to use for the IP protocol.
ip-class=3;

# fcp-class:  FC class (2 or 3) to use for the FCP protocol.
fcp-class=2;

# Use ADISC for FCP rediscovery instead of PLOGI.
use-adisc=0;

# Extra IO timeout [0 to 255 secs] for fabrics
extra-io-tmo=0;

# Number of 4k STREAMS buffers [64 to 1024] to post to IP ring.
post-ip-buf=128;

# Use dqfull-throttle-up-time [0 to 30 secs] to specify when to increment
# the current Q depth.
dqfull-throttle-up-time=1;

# Increment the current Q depth by dqfull-throttle-up-inc [0 to 128]
dqfull-throttle-up-inc=1;

# Use ACK0, instead of ACK1 for class 2 acknowledgement.
ack0=0;

# cr-delay: Coalesce Response Delay
# This value specifies a count of milliseconds [0 to 63] after which an
# interrupt response is generated if cr-count has not been satisfied.
# This value is set to 0 to disable the Coalesce Response feature.
cr-delay=0;

# cr-count: Coalesce Response Count
# This value specifies a count of I/O completions [1 to 255] after which an
# interrupt response is generated. This feature is disabled if cr-delay is
# set to 0.
cr-count=1;

# discovery-threads [1 to 32] - This value specifies the maximum number of
# ELS commands during discovery
discovery-threads=1;

# link-speed:  link speed selection for initializing the Fibre Channel connection.
#       0 = auto select (default)
#       1 = 1 Gigabaud
#       2 = 2 Gigabaud
#       4 = 4 Gigabaud
link-speed=1;

# fdmi-on:  0 = disable fdmi
#           1 = enable fdmi without registration of "host name" port attribute
#           2 = enable fdmi and "host name" port attribute
fdmi-on=0;

# Used only by i386 FCP (SCSI)
# flow_control="duplx" queue="qfifo" disk="scdk" tape="sctp";

************ sd.conf *********

# Copyright (c) 1992, by Sun Microsystems, Inc.
#
#ident  "@(#)sd.conf    1.9     98/01/11 SMI"

#name="sd" class="scsi"
#       target=0 lun=0;

name="sd" class="scsi" class_prop="atapi"
       target=1 lun=0;

name="sd" class="scsi" class_prop="atapi"
       target=2 lun=0;

name="sd" class="scsi" class_prop="atapi"
       target=3 lun=0;

name="sd" class="scsi"
       target=4 lun=0;

name="sd" class="scsi"
       target=5 lun=0;

name="sd" class="scsi"
       target=6 lun=0;

name="sd" class="scsi"
       target=8 lun=0;

name="sd" class="scsi"
       target=9 lun=0;

name="sd" class="scsi"
       target=10 lun=0;

name="sd" class="scsi"
       target=11 lun=0;

name="sd" class="scsi"
       target=12 lun=0;

name="sd" class="scsi"
       target=13 lun=0;

name="sd" class="scsi"
       target=14 lun=0;

name="sd" class="scsi"
       target=15 lun=0;


# Start lpfc auto-generated configuration -- do NOT alter or delete this line
# WARNING:  anything you put within this auto-generated section will
# be DELETED if you execute pkgrm to remove the lpfc driver package.
# You may need to add additional lines to probe for additional LUNs
# or targets. You SHOULD delete any lines that represent lpfc targets
# or LUNs that are not used.
# You should add any new entries between this line
# and the End lpfc auto generated configuration line
#name="sd" parent="lpfc" target=16 lun=0;
name="sd" parent="lpfc" target=0 lun=0;
name="sd" parent="lpfc" target=0 lun=1;
# name="sd" parent="lpfc" target=17 lun=0;
# A small number of LUNs for a RAID array
# name="sd" parent="lpfc" target=17 lun=1;
# name="sd" parent="lpfc" target=17 lun=2;
# name="sd" parent="lpfc" target=17 lun=3;
# End lpfc auto-generated configuration -- do NOT alter or delete this line


****** /etc/system *********

*ident  "@(#)system     1.18    97/06/27 SMI" /* SVR4 1.5 */
*
* SYSTEM SPECIFICATION FILE
*

* moddir:
*
*       Set the search path for modules.  This has a format similar to the
*       csh path variable. If the module isn't found in the first directory
*       it tries the second and so on. The default is /kernel /usr/kernel
*
*       Example:
*               moddir: /kernel /usr/kernel /other/modules



* root device and root filesystem configuration:
*
*       The following may be used to override the defaults provided by
*       the boot program:
*
*       rootfs:         Set the filesystem type of the root.
*
*       rootdev:        Set the root device.  This should be a fully
*                       expanded physical pathname.  The default is the
*                       physical pathname of the device where the boot
*                       program resides.  The physical pathname is
*                       highly platform and configuration dependent.
*
*       Example:
*               rootfs:ufs
*               rootdev:/sbus@1,f8000000/esp@0,800000/sd@3,0:a
*
*       (Swap device configuration should be specified in /etc/vfstab.)



* exclude:
*
*       Modules appearing in the moddir path which are NOT to be loaded,
*       even if referenced. Note that `exclude' accepts either a module name,
*       or a filename which includes the directory.
*
*       Examples:
*               exclude: win
*               exclude: sys/shmsys



* forceload:
*
*       Cause these modules to be loaded at boot time, (just before mounting
*       the root filesystem) rather than at first reference. Note that
*       forceload expects a filename which includes the directory. Also
*       note that loading a module does not necessarily imply that it will
*       be installed.
*
*       Example:
*               forceload: drv/foo



* set:
*
*       Set an integer variable in the kernel or a module to a new value.
*       This facility should be used with caution.  See system(4).
*
*       Examples:
*
*       To set variables in 'unix':
*
*               set nautopush=32
*               set maxusers=40
*
*       To set a variable named 'debug' in the module named 'test_module'
*
*               set test_module:debug = 0x13


* The forceload of drv/clone is required for successful
* IP operation of Emulex fibre channel drivers lpfc / lpfs
* and for the diagnostics (dfc) interface.
forceload: drv/clone

set id:sd_io_time=0x3C


P.S. Прошу сильно не пинать :) Впервые столкнулся с аппаратными массивами. Просто есть оборудование и есть желание использовать достаточно большой дисковый объем под текущие нужды. Документации и софта, равно как и контактов с людьми, которые это хозяйство покупали / инсталлировали , к сожалению нет.

--
WBR, Alexey.


[/quote]

Добрый Нах
Junior member
Сообщения: 2
Зарегистрирован: 05 дек 2005, 23:09

Сообщение Добрый Нах » 06 дек 2005, 11:05

Ок.

sd_io_time он по-умолчанию 60c (0x3c).
emc рекомендует
set sd:sd_io_time = 0x78

lpfc.conf :
log-verbose=0x10
topology=4

смотреть сообщения и таки попробовать поменять кабель...

Valex@
Junior member
Сообщения: 7
Зарегистрирован: 05 дек 2005, 17:24

Сообщение Valex@ » 06 дек 2005, 18:07

Пробовал другой кабель - не помогло.
Вот что нашел в логах:

Dec  6 10:48:37 SUN lpfc: WARNING: lpfc0:1305:LKe:Link Down Event x4 received Data: x4 x20 x1000
Dec  6 10:49:08 SUN lpfc: NOTICE: lpfc0:1306:LKw:Linkdown timeout Data: x3 x1000 x0
Dec  6 10:52:43 SUN lpfc: WARNING: lpfc0:1303:LKe:Link Up Event x5 received Data: x5 x1 x4 x74
Dec  6 10:53:16 SUN lpfc: WARNING: lpfc0:0203:DIe:Nodev timeout on NPort x74 Data: x10000 x0 x0
Dec  6 10:53:16 SUN lpfc: WARNING: lpfc0:0203:DIe:Nodev timeout on NPort x75 Data: x10000 x0 x0

Т.е. с кабелем все в порядке : вытащил из порта - пришло сообщение о падении линка, вставил обратно - получил Link Up. Правда значение x4 (Data: x5 x1 x4 x74), как я понял из мануала к HBA, определяет скорость. А она должна быть равна 1, судя по установкам в lpfc.conf ...
А вот последние два сообщения, как я понимаю, как раз подтверждают что я не могу обратиться к массиву...

Аватара пользователя
CrazyFrog
Advanced member
Сообщения: 210
Зарегистрирован: 16 авг 2005, 23:09
Откуда: Мурманск

Сообщение CrazyFrog » 07 дек 2005, 13:13

У EMC Clariion два контроллера ввода-вывода (storage processor A и B) работающих в режиме active/standby. Если ты подключаешься к котроллеру который стоит в редиме standby, то на все запросы будешь получать unit not ready.  

Либо перекинь свой LUN на второй SP (правой кнопкой в Navisphere и в меню Tresspass) или просто переключи свой кабель.

Но настоятельно советую обзавестись вторым HBA и подключится нормально по двум путям, сейчас у тебя никакой избыточности нету: отказ контроллера, обрыв кабеля, отказ HBA приведёт к остановке ввода-вывода.

Valex@
Junior member
Сообщения: 7
Зарегистрирован: 05 дек 2005, 17:24

Сообщение Valex@ » 08 дек 2005, 19:21

Проблема решилась после того как жестко указал через какой SP доступны раиды и после отвязки/првязки LUN на них.

Теперь хочу установить систему непосредственно на массиве и грузиться с него, а не с локального диска сервера. FCode Rev. на HBA обновил. Boot-devce-id установил.
{e} ok " /sbus@3,0/lpfs@0,0" select-dev
{e} ok wwpn 5006016010200df6 0 d# 0 d# set-boot-id
Flash data structure updated.
Signature     1313165391
Valid_flag         334
Host_did             0
Enable_flag          1
Topology_flag        0
Boot_id              0
Lnk_timer           15
Plogi-timer          0
LUN (1 byte)         0
DID                  0
WWPN          8006.0196.1632.1346
LUN (8 bytes) 0000.0000.0000.0000

Если сказать: probe-scsi-id выдает:
/sbus@3,0/lpfs@0,0
Target 0  ALPA ef  WWPN 5006.0160.1020.0df6
 Unit 0   Disk     DGC     RAID 5          0099
 Unit 1   Disk     DGC     RAID 10         0099

/sbus@3,0/SUNW,fas@3,8800000
Target 4
 Unit 0   Removable Read Only device     TOSHIBA CD-ROM XM-3401TA287310/14/93

Однако когда пытаюсь инсталлировать Solaris с CD_ROM, то из доступных дисков показывает только локальные :(

В чем может быть трабл?

Аватара пользователя
CrazyFrog
Advanced member
Сообщения: 210
Зарегистрирован: 16 авг 2005, 23:09
Откуда: Мурманск

Сообщение CrazyFrog » 09 дек 2005, 01:51

Valex@ писал(а): Теперь хочу установить систему непосредственно на массиве и грузиться с него, а не с локального диска сервера.


Эстет :)
Valex@ писал(а): Однако когда пытаюсь инсталлировать Solaris с CD_ROM, то из доступных дисков показывает только локальные :(
на CD нет модулей для Emulex. Надо ставиться с JumpStart, предварительно его пропатчив. В документации есть вроде описание. Или ньюсах была...  В общем, я как-то читал ;)

Dmitry Vertlib
Junior member
Сообщения: 15
Зарегистрирован: 21 апр 2003, 13:30
Откуда: Хабаровск/Россия

Сообщение Dmitry Vertlib » 19 дек 2005, 10:59

Необходимо поставится на локальные диски, а затем с помощью ufsdump/ufsrestore скопировать на FC систему и выполнить дополнительные причиндалы типа installboot.
еще незабудьте помотреть команду cfgadm, очень удобная штука.

Ответить

Вернуться в «Кластеры, Аппаратная часть»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 16 гостей