Задача инсталляции 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.