0

したがって、これが私の場合です。PXEブートを使用して起動するマシン(たとえばM)があり、そのマシンにOS(たとえばCentOS)をインストールします。Mにはモニターやキーボードは接続されていません。

PXEブートサーバーもCentOSマシンから実行されています(たとえばB)

マシンBにあるプログラム(bashスクリプト、Javaプログラム)を作成し、マシンMがOSのインストールを正常に完了したというステータス/通知を取得するにはどうすればよいですか。

OSがインストールを完了したことを手動で確認できないことに注意してください。そのプロセスを自動化する必要があります。

皆さんがそれを行うための最良かつ効率的な方法を提案していただければ幸いです。

4

3 に答える 3

2

私の提案は、サーバーがWebサーバー/ Webサービスと通信してインストールが完了したことを通知し、値を渡してそれがどのマシンであるかを識別することです。

于 2013-03-21T03:14:05.187 に答える
1

私は最近、debianPXEインストーラーでこの問題に遭遇しました。

ネットワークから起動するようにホストを設定しました。マシンのsystem-uuidを使用してPOSTリクエストを送信し、マシンを識別して、インストールが必要なサーバーに通知します。サーバーはこのリクエストを受信すると、ファイル名としてuuidを使用して特定のpxelinux.cfgファイルを作成し、特定のホストが特別なパラメーターを使用してdebianインストールを取得するようにします。

テンプレートであるpreseedファイルがあり、各マシンに固有にレンダリングされます。Debianのインストール中に、lateコマンドを実行する機会があります。これを使用して、サーバーからスクリプトをダウンロードし、ターゲット環境で実行します。このスクリプトは、インストールのステージ1が完了したことをサーバーに通知し、2番目のインストールステージのスクリプトもインストールする別のPOSTリクエストを送信します。次に、サーバーは特定のpxeconfigファイルを削除します。デフォルトのpxeconfigファイルはデフォルトでハードドライブから10秒で起動するため、ホストがネットワークから再度起動すると、デフォルトでハードドライブから起動し、インストールが続行されます。

ここでコードを見ることができます: https ://github.com/umeboshi2/paella

于 2014-04-27T20:59:51.337 に答える
0

簡単な方法は、インストールの完了後にNFSを使用してMからBのディレクトリにアクセスすることです(インストール方法によって異なります。キックスタートには、インストール後のスクリプトを使用します)。インストールが完了したことを示すフラグとして、あるディレクトリにファイルを作成します。マシン「B」では、inotify機能を使用して完了を検出できます(inotifywaitシェルスクリプトまたはlibinotifyその他の方法で)。

何らかの理由でNFSが禁止されている場合は、使用できるscpか、sshfsかなり簡単に使用できるはずです。最も複雑な部分は、生成されたキーをコピーすることです。

于 2012-06-30T14:31:48.193 に答える