すべての良い一日。
この記事を、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
ご清聴ありがとうございました!