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



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



All Articles