Create  Edit  Diff  Mac OS X Serverで作る 小さな計算機室  Index  Search  Changes  RSS  Login

NetBoot関係のメモ

NetBootイメージを作成する

ブートイメージを作成するときは、是非、IEEE1394仕様の外付けハードディスクを用意したい。

  1. 外付けハードディスクを用意し、そこにOSとソフトをインストールしておく。
  2. 計算機室のeMacに繋いで、Optionを押しながら起動し、そのドライブを選んで、ちゃんと動くかどうか確認しておく。
  3. システムを終了し、別のMacに繋いでからサーバー/システムイメージユーティリティを起動
    1. 「新規ブート」を選択
    2. イメージ名、イメージ索引(5桁の数値:最大値65536)を入れて
    3. イメージのソース(IEEE1394のドライブ)も必要ならば選択して
    4. "共有"環境設定のところにコンピュータ名を入れて(例えばeMacとか)
    5. 作成 を押す

こうすると、保存先にはImage_数値.nbi のような名前の付いたディレクトリができているはず。 その中身はこんな感じである:

NBImageInfo.plist       booter                  mach.macosx.mkext
System.dmg              mach.macosx

この中のSystem.dmgがクライアントにマウントされる。このファイルはMac OSでフツー に使われているディスクイメージなので、ダブルクリックしてマウントしたり、その中身 を書き換えたりするのは簡単。/Applicationsにアプリケーションを放り込んだりすることもできる。

System.dmgが窮屈に感じられたら、

hdiutil resize -size 15g System.dmg

とかやって、ディスクのサイズを後から変更しても構わない(みたいだ)。

クライアントがディスクレスではない場合は、クライアントのハードディスク(のルート)に .com.apple.NetBootXというディレクトリが作成され、ページファイルや一時ファイルは そこに置かれる。マウントしてあるディスクイメージをクライアント側で書き換えようと しても、実際に書き換わるのは、.com.apple.NetBootX内のファイル(shadow file)のようだ。

ということは、NetBootで動作中のクライアントのハードディスクをアンマウントしたり、フォーマット したりは、できないということになる。

イメージが完成したら、Image_数値.nbiを

/Library/NetBoot/NetBootSP0

に中に放り込んで、「サーバー管理/NetBoot」でイメージを有効にしておく。

10.5上のシステムイメージユーティリティは10.4以前のOSがインストールされた ボリュームを認識してくれない。

ロードバランス

イメージ索引(5桁の数値)は、複数のNetBootサーバーが存在するときに特に重要で、その数値が同じイメージは NetBootサーバー間で自動的にロードバランスを取ってくれるらしい。 ここの計算機室では、2台のG5のどちらもNetBootサーバーに設定してある。 様子を観察してみると、1.8GHzシングルのG5には13台のクライアントが、2GHzデュアルのG5 には21台のクライアントがぶら下がった状態で落ち着いている。 サーバーの能力までコミで、自動的に負荷調整が行われているとしたらスバラシイ。

ちなみに、この割り当てをリセットするには、サーバーの

/var/db/bsdpd_clients

というファイルを削除してから、クライアントを再起動すれば良い、と、マニュアルに書いてある。

NetBootSP0のエクスポート

通常はNetBootイメージはNFSでマウントするので、サーバーの共有の設定で、/Library/NetBoot/NetBootSP0 がきちんとエクスポートされているか、確認する。 デフォルトではWMのNFSエクスポート設定は、「書き出し先=ワールド」で、「読み出し専用」になっている。 特にそこをいじる必要はないはず。

一度、間違ってエクスポート設定を変えてしまい、クライアントが起動の途中で黒っぽい画面に突然変わって、 かなり焦った記憶がある。触らぬ何とかにタタリなし、だ。

イメージ作成の手間

NetBootで楽にユーザー環境設定ができるのかと思いきや、実際にやってみると結構な手間がかかる。

  1. まず、外付けHDDから起動して、ソフトウェアアップデートしたり、ソフトのインストールやアップデートをするのに、それなりの時間。
  2. 「ディスクイメージユーティリティ」でそれをブートイメージに変換する作業に、およそ1時間。
  3. 自室のG4から計算機室のG5(NetBootサーバー)のNetBootSP0にAFPでマウントし、それをコピーするのに20分程度(現状ではイメージのサイズが13GB程度)。
  4. さらに、もう一台のサーバーにもそれをコピーするのに数分。

やり直したりしていると、あっという間に数時間は経ってしまう。 NetBootの宣伝文句には、「ブートイメージを選択するだけで、 授業内容などに応じて、簡単にユーザー環境を切り替えることができます」 みたいなことが書いてあるが、目的別に沢山のイメージを管理するような作業は、 正直言って、やりたくない。

イメージのスリム化

何も考えないでブートイメージを作ると、サイズがどんどん肥大化するので、 クライアント側で不要なファイルはできるだけ削除しておきたい。例えば、

/Library/Printers/

の中身のほとんどは使われないはずなのに、かなりの「体積」を占めているので 実情に合わせて消してしまう。

MacPorts関係の作業ファイルも奇麗に消しておいたほうがよい。

sudo ports clean --all all

しておく。

HDDボリューム関係の操作

ボリュームを丸ごとコピー(クローン作成)

ディスクユーティテリティでも同じことをしているみたいだが、ログを残せるので、コマンドラインで操作したほうが便利

asr restore --source /Volume/XXXXX --target /Volumes/YYYYY --erase --noprompt --verbose

*やたらと長いファイル名のファイルが存在したりすると、コピーの途中でエラー止まってしまうことがあった。

資料:

ホームディレクトリの引っ越し

MacProを新調して、一番古いPowerMac G5と入れ替えた。 一部のユーザーのホームディレクトリも同時に引っ越したのだけれど、その方々から 「他の端末でログイン中なので・・・・」のような表示が出てログインできない、 という報告があった。

ユーザーホームの .mcxlcというファイルが怪しそうなので、削除してみる。

Last modified:2009/10/23 17:31:24
Keyword(s):[NetBoot]
References:[Mac OS X Serverで作る 小さな計算機室] [frontpage]