1 件のコメントがあります。

スパムブロック機能により、投稿が失敗することがあります。
うまくいかない場合は、一行目だけをまず投稿し、そのあと編集から残りを追記してみてください。

1 - 1 / 1

Lion ServerとPodcast Producer 2そしてXgrid

From : namahage @ 2012-02-26 16:26:44 編集 引用

テスト機にインストールしたMac OS X Lion Serverですが,Server Adminから追加したPodcast Producer 2を起動できない課題にぶつかり,この間だいぶ長い時間をかけて逃げ道を探してきました.

初期の段階で,問題はKerbersとの認証にあることはわかっていたのだけれど,Kerbers自身の設定にアクセスできず,だいぶ遠回り,というか,もっともやらずに済ませたかった方法で一応の解決をだしました.

発生していた現象は次のようなものです.
Server Adminから追加したPodcast Producerサービスを起動させても,エラーが出て起動を完了させることができない(シグナルはYellow),またXgridサービスも起動はしているのだけれどProducerからはコントローラの使用ができないというものでした.

Podcast Producer側のログには,

Error: host name mismatch
(中略)

Error: no service principal for pcast

などが出力され,
Xgrid側のログには,

<Warning>:Warning: agent error opening connection to controller "xxx.xxx.xxx"(error = Authentication failed)

などが出力され,認証,というかホストネームの問題で転んでいることが予想される記述が続きます.

Error: host name mismatchについては,DNSサーバーを正しく設定後,「サーバー管理」アプリケーションから,ハードウェア>ネットワークと進み,ホスト名をDNSサーバーで設定されたDNSホスト名にあわせれば解決するのでさほど難しくはありません.ちなみにDNSとホストネームがマッチングしているかどうかは次のコマンドをターミナルから試すと楽です.一致しない場合はDNSの設定などをもう一度見直します.

sudo changeip -checkhostname

問題は,Error: no service principal for pastや<Warning>:Warning: agent error opening connection to controller "xxx.xxx.xxx"(error = Authentication failed)にかかるエラーの部分です.これはPodcast ProducerやXgirdは内部の認証にKerberosを利用しているのですが,それぞれのサービスからKerberosに接続しようとしてもxxx.xxx.xxxに一致する場所からは認証が得られていないことを示しているようです.

私の環境では,KerberosはXXX.LOCALという保護領域で起動している一方,DNSはxxx.ddo.jpで構築されている環境となっていて,どうも,このXXX.LOCALとxxx.ddo.jpの関係が解決できず認証に失敗していると考えられました.

認証を完了させるためには,ここを一致させないといけません.
となると,Kerberosの保護領域を現状のXXX.LOCALからXXX.DDO.JPに変更しなければいけないことになります.

これが難しい.ディレクトリアクセスから簡単に変更できるのかと思いきや,そのような場所は存在していないのです.MITで紹介されている/Library/CoreServesにあるというKerberos.appはLionでは提供されていないですし,/etc内にもkrb.confは存在していません.

同様の課題は,当然サーバーの移転やアカウント統合などの際にも起きてくるわけですから,US Appleのディスカッションボードにもいくつかスレッドが立っていますが,いずれも変更する方法までは誰もたどり着けていないようです.

Kerberosのrealm変更については,AppleのサポートのページにはLeopardおよびSnow Leopard向けに以下のページが用意されており,変更の可能性が見受けられますが,私の環境のLionでは

slapconfig -kerberize -f --allow_local_realm _USERNAME REALMNAME

が実行できず,先に進めていません.
ほぼお手上げとなりました.

結局,OpenDirectoryサーバーの再構築をおこないました.

まず,万が一に備え,ServerAdminのOpenDirectoryからデータベースのアーカイブを保存しておきます.

次に,メニューの表示から「ワークグループマネージャー」を起動し,引き継ぎたいアカウントを選択し,「書き出し」しておきます.

ここまでが済んだら,1度OpenDirectoryに作成されたRealmに関わる情報(とアカウント)を削除してしまいます.ServerAdminのOpenDirectoryにある設定から「一般」に進み,「変更」をクリックします.アシスタントが起動するので,「スタンドアロンディレクトリを設定」をクリックし,先に進みます.あっさりとアシスタントは終了し,サーバーのOpenDirectoryサービスはこの時点でスタンドアロン型になり,OpenDirectory側に作成されていたアカウントは失われます.

再び,「変更」をクリックし,今度は「マスターディレクトリを設定」を実行し,マスターディレクトリ型に戻します.このとき,アシスタントがKerberosのrealmを表示してきます.このrealmがDNSに設定したものと一致していればOKです.そのまま作業を続けてしまいます.

マスターディレクトリ型になったら,ワークグループマネージャーを起動し,あらかじめ「書き出し」で保存しておいたアカウントを,「読み込み」で元に戻します.私は試していませんが,Server Admin Toolsでアーカイブした方から復元をおこなうと,realmも一緒に元に戻るとかで,うまくいかないようです.ワークグループマネージャー側から書き出したものを戻すようにします.

なお,ワークグループマネージャーで書き出したアカウントはパスワードが失われています.このため,パスワードをすべて再設定しなければいけません,ユーザー数が少ない場合は,気が楽ですが,多い場合のことを考えると,気が滅入る作業になるでしょう.再設定した後は,ユーザーにパスワード変更をしてもらうようポリシーの設定をしておく必要もあります.

これらの作業が済んだら,XgridとPodcast Producerを構築し,起動させます.この後は順調に動き出してくれると思います.

サーバーをlocalではなくインターネット側からのアクセスも想定して運用する環境においては,OpenDirectoryをOpenDirectoryのマスターに設定する際,かならずDNSの設定を完了してからでないと,ダメ,そういうことでした.

Post Your Comment


*は入力必須です。E-Mailは公開されません。