null

Конфигурация транспортной сети Oracle Cluster 3.3 на адаптерах сторонних производителей

Задача инсталляции Oracle Cluster 3.3 на "неродное" для компании Sun/Oracle, но входяшее в Hardware Compatibility List (HCL) OS Solaris серверное оборудование IBM, как оказалось, может иметь неожиданные подводные камни. А ведь существует негласное правило : если железо поддерживается OS Solaris - значит на нем заработает и  Oracle Cluster, так как кластерное окружение использует стандартные  устройства ОС.

При первичной  конфигурации кластера,  с помощью предназначенной для этого интерактивной утилиты scinstall, во время "шага" конфигуратора транспортной сети и выбора соответcтвующих ей адаптеров, утилита внезапно прерывается с сообщением вида  "No physical adapters are available for use by the private transport ". При этом, все требования в соответствии с документацией применены к сетевым интерфейсам до запуска утилиты - физически сети "public" и "private" разделены, а транспортные адаптеры не сконфигурированы. Оказывается, такой тип адаптеров как bnx, используемых в данных IBM system  x3550 M3, не известен утилите scinstall.
 Для того, чтобы все-таки "увидеть" транспортные интерфейсы,  необходимо  добавить в список известных тип bnx на всех планируемых нодах кластера в  файле /usr/cluster/lib/scadmin/defaults (список определяется переменными SC_DFLT_KNOWN_ETHERNET_ADAPTERS, SC_DFLT_ALL_SUPPORTED_ADAPTERS, SC_DFLT_KNOWN_VLAN_CAPABLE_ADAPTERS)

Привожу в качестве примера оригинальное содержимое файла /usr/cluster/lib/scadmin/defaults :

#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the License).
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/CDDL.txt
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/CDDL.txt.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets [] replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# ident "@(#)defaults.i386      1.22    09/07/14 SMI"
#
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

#####################################################
#
# Defaults for scinstall on Intel
#
#####################################################

#
# NOTE:  all supported transport adapter types are also listed
#        in SUNW.generic.clpl.  SC_DFLT_KNOWN_ETHERNET_ADAPTERS
#        must be a subset of that list.
#

SC_DFLT_KNOWN_ETHERNET_ADAPTERS="e1000g iprb ce bge ixgb nge nxge igb vnic"
SC_DFLT_ALL_SUPPORTED_ADAPTERS="e1000g iprb ce bge ibd ixgb nge nxge igb vnic"
SC_DFLT_KNOWN_VLAN_CAPABLE_ADAPTERS="e1000g ce bge ixgb nge nxge igb"
SC_DFLT_KNOWN_INFINIBAND_ADAPTERS="ibd"
SC_DFLT_KNOWN_TRTYPES="dlpi rsm"
SC_DFLT_IGNORE_ADAPTERS="ipmp"

SC_DFLT_TRANSPORT_TYPE=dlpi
SC_DFLT_ADAPTER_NAME=
SC_DFLT_ADAPTER_OPTS="trtype=${SC_DFLT_TRANSPORT_TYPE},name=${SC_DFLT_ADAPTER_NAME}"

SC_DFLT_JUNCTION_TYPE=switch
SC_DFLT_JUNCTION_NAME1=switch1
SC_DFLT_JUNCTION_NAME2=switch2
SC_DFLT_JUNCTION_OPTS="type=${SC_DFLT_JUNCTION_TYPE},name=${SC_DFLT_JUNCTION_NAME1}"

SC_DFLT_GFILE=/.globaldevices
SC_DFLT_GDIR=/globaldevices
SC_DFLT_PATCHDIRS=/var/cluster/patches:/var/patches
SC_DFLT_PATCHFILE=patchlist

 

И модифицированный вариант для поддержки адаптеров типа bnx  :

#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the License).
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/CDDL.txt
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/CDDL.txt.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets [] replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# ident "@(#)defaults.i386      1.22    09/07/14 SMI"
#
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

#####################################################
#
# Defaults for scinstall on Intel
#
#####################################################

#
# NOTE:  all supported transport adapter types are also listed
#        in SUNW.generic.clpl.  SC_DFLT_KNOWN_ETHERNET_ADAPTERS
#        must be a subset of that list.
#

SC_DFLT_KNOWN_ETHERNET_ADAPTERS="e1000g iprb ce bge ixgb nge nxge igb vnic bnx"
SC_DFLT_ALL_SUPPORTED_ADAPTERS="e1000g iprb ce bge ibd ixgb nge nxge igb vnic bnx"
SC_DFLT_KNOWN_VLAN_CAPABLE_ADAPTERS="e1000g ce bge ixgb nge nxge igb bnx"
SC_DFLT_KNOWN_INFINIBAND_ADAPTERS="ibd"
SC_DFLT_KNOWN_TRTYPES="dlpi rsm"
SC_DFLT_IGNORE_ADAPTERS="ipmp"

SC_DFLT_TRANSPORT_TYPE=dlpi
SC_DFLT_ADAPTER_NAME=
SC_DFLT_ADAPTER_OPTS="trtype=${SC_DFLT_TRANSPORT_TYPE},name=${SC_DFLT_ADAPTER_NAME}"

SC_DFLT_JUNCTION_TYPE=switch
SC_DFLT_JUNCTION_NAME1=switch1
SC_DFLT_JUNCTION_NAME2=switch2
SC_DFLT_JUNCTION_OPTS="type=${SC_DFLT_JUNCTION_TYPE},name=${SC_DFLT_JUNCTION_NAME1}"

SC_DFLT_GFILE=/.globaldevices
SC_DFLT_GDIR=/globaldevices
SC_DFLT_PATCHDIRS=/var/cluster/patches:/var/patches
SC_DFLT_PATCHFILE=patchlist



Следует отметить еще один момент -  функция  autodiscovery утилиты scinstall,  предназначенная для автоматического поиска траспортных интерфейсов на нодах "вступающих" в уже имеющийся кластер (для первой ноды кластера интерфейсы указываются всегда вручную), не будет работать корректно для "неподдерживаемых" типов адаптеров даже если их внести в список приведенным выше способом.
Однако, autodiscovery по умолчанию используется лишь в случае выбора  опции  "Typical" при выборе способа  конфигурации всех нод одновременно (Main Menu :  Create a new cluster or add a cluster node ->  Create a new cluster )
В случае конфигурации по одной ноде  (Main Menu :  Create a new cluster or add a cluster node ->  Create just the first node of a new cluster on this machine) с последующим добавлением нод (Main Menu :  Create a new cluster or add a cluster node -> Add this machine as a node in an existing cluster)  и  в случае выбора  опции  "Custom" от функции autodiscovery можно отказаться и выбрать транспортные интерфейсы вручную. Такая же процедура была необходима еще в Sun Cluster 3.1 при установке транспортной сети на адаптерах типа e1000g из-за отсутствия поддержки данного типа функцией autodiscovery.
 
 

Коротко о себе:

Работаю в компании TUNE-IT в качестве инженера и преподавателя.

В сферу профессиональных интересов входит все,  что связано с "большими" и не очень серверами и СХД от Sun Microsystems/Oracle и кластерами на их основе, но по долгу службы занимаюсь чаще всего их диагностикой и ремонтом... 

Делюсь опытом и  наработанными навыками в рамках курсов по  соответствующим направлениям.