Oracle SunハイエンドサーバーでのDCA / DCS通信エラー

すべての良い一日。

この記事を、Oracle Sunのハイエンドクラスサーバーの特定の構成と共有したいと思います。 ハイエンドサーバーでマザーボードを追加/削除/移動する場合(この記事ではEクラスサーバー、つまりE25Kについて説明します)、DCA / DCS通信エラーという非常に特徴的なエラーが発生することは珍しくありませんでした。 このエラーは、同じサーバーの2つのドメイン間に接続がないことを示しています。 GoogleとOracleのサポートが1つのソリューションを促しました。 すべてをまとめて、これらすべてを1つの記事にまとめることにしました。 最も興味深いのは、サーバーにSolaris10 / 11をインストールした後、場合によってはこのエラーが発生し、場合によっては発生しないことです。 しかし、これはポイントではなく、最も重要なことは、この問題を克服する方法の解決策です。

上記のように、問題は2つのドメイン間の関係が壊れている、つまり1つのサーバーが2つの別個のサーバー/ドメイン(これは論理的および論理的)のように動作しますが、 「パーツ」と相互に「通信」できます。 E25Kサーバー、SC ALOM(サービスコントローラー)、OS Solaris10。すべてが機能し、すべてにパッチが適用されますが、これはタスクではなく、ドメイン間の操作は不可能です。


この関係には、いくつかのコンポーネントが関与しています。

1.ドメイン設定エージェント。 DCA サービスコントローラーで有効にする必要があります。

2.ドメイン構成サーバー。 DCS solarisのドメインで有効にする必要があります。

3. /ets/inetd.confファイルが正しく構成されている

4. /etc/inet/ipsecinit.conf構成ファイルでipsecポリシーが正しく構成されています。

5. sckmdデーモンが有効になります。 これは、IPSecプロトコルの暗号化を担当するデーモンです。

6.内部ネットワークデバイス。 SCでは、これはscman0インターフェイスです;ドメインでは、これはdman0インターフェイスです。

7.ドメインXサーバー。

上記の条件のいずれかに違反した場合、showdevicesコマンドの出力は負になります。

#showdevices -d -v [ドメインID]
ドメインxからデバイス情報を取得できません

さて、順番に行って、最終的に誰が正しいかを把握しましょう。 適切なネットワークデバイスの存在を確認します。

#ifconfig -a

sc:

scman0:flags = 1008843 <UP、BROADCAST、RUNNING、MULTICAST、PRIVATE、IPv4> mtu 1500 index 3 inet 10.1.1.1 netmask ffffffe0 broadcast 10.1.1.31

ドメイン:

dman0:flags = 1008843 <UP、BROADCAST、RUNNING、MULTICAST、PRIVATE、IPv4> mtu 1500 index 3 inet 10.10.1.3 netmask ffffffe0 broadcast 10.10.1.31 ether 0:0:be:a8:17:57

欠落しているインターフェースがある場合は、手動で作成する必要があります;これを行うには、以下を実行します。

#ndd / dev / dman man_get_hostinfo
manc_magic = 0x4d414e43
manc_version = 01
manc_csum = 0x0
manc_ip_type = AF_INET
manc_dom_ipaddr = 10.1.1.0
manc_dom_ip_netmask = 255.255.255.224
manc_dom_ip_netnum = 10.1.1.0
manc_sc_ipaddr = 10.1.1.1
manc_dom_eaddr = 0:0:be:a8:48:26
manc_sc_eaddr = 8:0:20​​:f9:e4:54
manc_iob_bitmap = 0x400 ioボード= 10.1
manc_golden_iob = 10

ファイル/ etc / netmasksを修正し、

#vi / etc / netmasks
<manc_dom_ip_netnum> <man_dom_ip_netmask>

このようなもの:

10.1.1.0 255.255.255.224

#vi /etc/hostname.dman0、存在しない場合は、次を作成します。
<manc_dom_ipaddr>ネットマスク+ブロードキャスト+プライベートアップ
wq!

#ifconfig dman0 plumb

すべてが正常であることを確認します。

#cat /etc/syslog.conf
...
* .notice @ 10.1.1.3

そうでない場合は、インターフェース構成手順を再度実行します。

#ifconfig dman0 plumb
#ifconfig dman0 <manc_dom_ipaddr>ネットマスク+ブロードキャスト+プライベートアップ

私の場合:

#ifconfig dman0 plumb
#ifconfig dman0 10.1.1.3 netmask + broadcast + private up

次に、ドメイン間で情報を交換するサービスとデーモンを確認する必要があります。 サービスコントローラーでは、これはDCAです。 ドメイン構成エージェント。 彼はすべての着信制御情報をポート665で「聞き取り」ます。 オンになっていない場合、showdevicesおよびrcfgadmコマンドを実行しても起動しません。 私たちはチェックします:

#ps -ef | grep dca
sms-dca 1614 361 0 2月26日? 0:00 dca -d A
sms-dca 1758 431 0 2月26日? 0:00 dca -d B

さらに、両方のドメインでDCSデーモンをチェックします。 ドメイン間の「サーバー」部分です。 正しく動作するには、次の前提条件が必要です。 設定ファイル/etc/inetd.confには次の行が必要です。

#vi /etc/inetd.confファイル:

sun-drストリームtcp待機ルート/ usr / lib / dcs dcs
sun-drストリームtcp6待機ルート/ usr / lib / dcs dcs

新しい追加で再起動します。
#ps -ef | grep inetd
ルート2021 1 0 2月11日? 0:00 / usr / sbin / inetd -s
#kill -HUP 2021

DCSが起動したかどうかを確認します。 inetdはサービス管理機能(SMF)アプリケーションであり、inetadmコマンドによって確認されます。

#inetadm
ENABLED STATE FMRI
...
オンラインsvcの有効化:/ application / font / stfsloader:default
...
無効無効svc:/ network / talk:デフォルト
...
有効なオンラインsvc:/プラットフォーム/ sun4u / dcs:デフォルト

dcsサービスがオンになっている必要があります。 有効にします。 さらに、DCのより詳細な分析のためのコマンドがいくつかあります。

#/ usr / sbin / svccfg -s svc:/ platform / sun4u / dcs:デフォルトのlistprop
#svcs dcs

すべて順調です。 ここで、ドメインがポート665でリッスンしていることを確認する必要があります。dcaとdcsが上記で述べたように、それらが通信しているポート:solarisから、次のように入力します。

#netstat -an | grep 665
#netstat -an | grep 665
* .665 *。* 0 0 49152 0リスニング
* .665 *。* 0 0 49152 0リスニング

そして今、最も興味深いのは、ドメイン間の情報交換のために、情報交換ポリシーを規定する必要があるということです。 デフォルト設定は必ずしも十分な条件ではありません! ファイルを編集
/etc/inet/ipsecinit.confに次の行を追加します。

{dport sun-dr ulp tcp}許可{auth_algs md5}
{スポーツsun-dr ulp tcp}適用{auth_algs md5 sa unique}
{dport cvc_hostd ulp tcp} permit {auth_algs md5}
{sport cvc_hostd ulp tcp} apply {auth_algs md5 sa unique}

ポリシーの更新:

#ipsecconf -a /etc/inet/ipsecinit.conf

#ipsecconf

次の行はDXSです。 scから、実行されているかどうかを確認します。

#ps -ef | grep dxs
sms-dxs 1609 361 0 2月26日? 0:57 dxs -d A
sms-dxs 1609 361 0 2月26日? 0:57 dxs -d B
sms-dxs 1609 361 0 2月26日? 0:57 dxs -d C

通常、常に有効な状態です。 したがって、問題はありません。 そうでない場合は、svcadmコマンドを有効にします。 次に進む-sckmdデーモン(Sun暗号化キー管理デーモン)。 彼はIPSecトンネリングを担当しています。 実行中かどうかを確認します。

#ps -ef | grep sckmd

ルート24156 1 0 4月2日? 0:00 /
usr /プラットフォーム/ SUNW、Sun-Fire-15000 / lib / sckmd

幸いなことに、私はそれを持っていました。 ただし、そうでない場合は、svcadmコマンドでアクティブ化する必要があります。
最後に、すべてが機能するかどうかを確認します。
#showdevices
#rcfgadm
#addboard -d [id_domain] SBx
#deletboard SBx
#moveboard -d [id_domain] SBx

ご清聴ありがとうございました!

Source: https://habr.com/ru/post/J133213/


All Articles