cobblerチュートリアル
このページはRed Hat Magazine" の "Cobbler: How to set up a network boot server in 10 minutesというcobblerのチュートリアルを、作者である Michael DeHaan 氏に許可を得て、個人的に翻訳したものを公開しています。
あくまでも個人的な訳となっており、意訳・超訳的なところも多々ありますので、翻訳・記述の内容に不備やご意見等あればご指摘・ご連絡頂けると助かります。(翻訳日:2007/10/2)
cobbler: ネットワークブート用サーバを10分で構築する方法
by Michael DeHaan
もしあなたがこれまでに大量のLinuxシステムをインストールする必要しなければいけないという経験があったなら、インストールプロセスが以下に退屈なものかということに恐らく気づいているはずだ。キックスタートのようなツールがインストール作業の自動化を助けてくれる一方で、それ以外にもパズルのピースは残っている。Linxuをインストールする全ての手法を統一するようなツールは本当に存在しなかった — 今までは。
ネットワークインストールを行う最も一般的な方法はPXE経由のネットワークブートであり、それにはTFTPサーバの構築とDHCPの設定が必要となる。しかしながら、PXEは外的な制限の為に実現が難しいシチュエーションが存在する — 例えば、もしあなたの部署がDHCPサーバに関して権限を持っていない場合はどうすればよいのだろう?もしあなたの家で自分のサーバを持っていない場合はどうすれば?そういったケースでは、PXEを使わずにマシンをインストールためのソリューションが役に立つ。XenやKVMのような仮想化技術の場合は、他の完全な自動インストールのソリューションが必要となる。
もしあなたがシステム管理社なら、これらの全て(PXE、再インストール、そして仮想化)を手作業で組み合わせていくなんてことは、やりたくないことの一つだろう。あなたの代わりにセットアップと設定を行ってくれるツールを望むはずだ。
cobblerは、ソフトウェアのインストールで必要となる、PXE、再インストール、そして仮想化、これら全てをセットアップしてくれる、汎用的なブートサーバである。あなたは好みのディストリビューション用のcobblerブートサーバを数分で構築することが出来る。プロビジョニングの必要性が高くなればなるほど、あなたのシステム管理の要求をさらに自動化・簡素化するための高度な機能の恩恵を受けることが出来るだろう。
まず最初にあなたが(明らかに)やりたいと思うことは、cobblerをインストールすることだ。cobblerはFedora®とRed Hat® Enterprise Linux®にyumでインストールすることができる — 詳細については http://cobbler.et.redhat.com/download.php で参照することが出来る。また、cobblerと連携して動作するクライアントサイドのアプリケーションであるkoanにも興味を持つだろう。
cobblerをインストールしたら、あなたのシステムの残りの部分がブートサーバとして正しく設定されているかをチェックする必要がある。これは一つのシンプルなコマンドで実行することが出来、他に設定を調整する必要があれば教えてくれる。
# cobbler check
cobblerのコマンドはrootで実行する必要がある。
次に、インストールするディストリビューションをインポートしたいと思うだろう。ディストリビューションのインポートは、公開されているrsyncのミラーや既に手元にあるDVDのイメージなどから行うことが出来る。この記事では、DVDイメージを使ってみよう。ミラー化したいコンテンツを保存する為には/varに十分な空き容量がある必要がある。
# cobbler import –name=F7 –mirror=/mnt/dvd1 # cobbler import –name=RHEL5 –mirror=/mnt/dvd2
全てのセットアップが正しく行われているかを確認する為に、cobblerの設定をファイルシステムに同期させる:
# cobbler sync
これで既に動作するネットワークブート用サーバが、ほんの数コマンドで構築できた。cobblerがセットアップしたPXEサーバの利点を確かめる為に、ブート中に新しいマシンのところにいって、ブートプロンプとが表示されたら"menu"とタイプする、そして、メニューからインストールしたいcobblerのプロファイルを選択する。すると其のマシンはPXE経由でブートプロセスが開始される。注意してほしいのはRHEL4上でブートサーバを実行している場合、PXEメニューが動作する為には、より新しい'syslinux'パッケージをソースからインストールする必要があることだ。RHEL5は動作に必要な新しいsyslinuxが最初から既に入っているので問題ない。
もし望むのであれば、cobblerはDHCPの設定を生成することも出来る — 例えば、特定のIPを特定のMACアドレスに割り当てるといったようなことだ。新しいバージョン(0.5.0以上)では、dnsmasqを使ってホスト名を特定のマシンに割り当てることも出来る。詳細はcobblerのmanページを参照してほしい。
では、特定のシステムに対して、ソフトウェアと設定の割当が既に分かっている場合はどうすればよいだろうか?以下のコマンドを実行して、特定のシステムにインストールしたいプロファイルを割り当てればよい。なお、システムのMACアドレスは仮にAA:BB:BB:DD:EE:FFとしているので状況に応じて適宜変更してほしい。
# cobbler system add –name=AA:BB:CC:DD:EE:FF –profile=RHEL5-i386
上記のシステムはRed Hat Enterprise Linux5のi386のプロファイルを使ってPXEブートするようにセットされている。デフォルトのキックスタートを使用した場合、rootのパスワードは"cobbler"で設定される。/etc/cobbler配下のファイルを編集してデフォルトのキックスタートの内容を変更するか、cobblerのプロファイルを独自に作成してそれを割り当ててほしい。例えば、"rhel5webserver"とか"rhel5dbserver"という風に — 単にどのOSが実行されるかということではなく、マシンがどのような役割を果たすかについて考えながら — 、特定のプロファイルを作成するのがベスト・プラクティスだろう 。
多くの場合、PXEに頼ることなく既存のシステムを再インストールしたいと思うケースがあるだろう。この場合、cobblerのヘルパーツールである、koanがその役割を果たしてくれる。仮に、あなたが自分のラボを持っていてインストールをシンプルにしたいと思っている、しかし同じ建物内の他の部署がDHCPを提供している、としよう。cobblerとkoanがここで役に立つ。koanを使うと、既存のLinuxマシンの再プロビジョニングが思いのままに、cobblerサーバからダイレクトに行われる。まだ開発段階だが、koanはライブCDを作成することも出来るので、ベアメタルな状態から同じことを行うこともできる。(これについては、koanのmanページで説明している。)
# koan –server=cobbler.example.org –list-profiles # koan –replace-self –server=cobbler.example.org --profile=RHEL5-xen-i386 # reboot
またkoanは仮想システムのインストールもサポートしている。Red Hat Enterprise Linux 5、Fedora Core 6、そして、Fedora 7 を実行する場合だと、以下のように行えば可能だ。
# yum install kernel-xen xen libvirt python-virtinst # koan –server=cobbler.example.org –list-profiles | grep xen # koan –virt –server=cobbler.example.org –profile=F7-xen-i386
これで、ユーザ側で何の操作も必要とすることなく、cobblerのプロファイルから新しい仮想マシンが作成される。実際の設定では、仮想ゲストが必要とするRAMのサイズやディスク容量もcobblerで定義することになるだろう。koanの新しいバージョンでは(ソースをチェックアウトしてみてほしい)、KVMインストール(別の仮想化技術)にも対応しており、特定のLVMパーティションへのインストールといった高度な機能も提供している。
この記事では、cobblerを使うのがいかに簡単かについて説明してきたが、cobblerとkoanには両方ともまだ多くの高度な機能がある。例えば、cobblerでは、DHCP設定の自動管理、キックスタートをカスタマイズするためのテンプレート機能、更新用のyumレポジトリのミラー化、そして、ネットワークごしにキックスタート動作のロギングなどが可能だ。また、cobblerで変更があった場合に他のソフトウェアにそれを通知する"トリガー"システムや、それと同様に、他のソフトウェアとの統合する場合に利用可能な Cobbler Python APIもある。たくさん有りすぎるように聞こえるかもしれないが、cobblerの場合、最初はシンプルにスタートして、使っていくうちにやがて必要となる追加機能を採用することができるだろう。
詳細については、cobblerのウェブサイトやメーリングリストを活用してほしい。もしIRCを使えるのであれば、irc.freenode.netに#cobblerがあるので、立ち寄って、質問をして、アイデアを共有してほしい。楽しいインストールを!
著者について
Michael DeHann 氏は、Red Hatの先端技術グループのメンバーである。彼の興味は、自動デプロイのソリューション、システム管理、そしてそれらに輝いた光を与えるものなどがある。 このエントリは、2007年8月10日(金)2:45PMに Michael DeHaan 氏によって、Fedora, Red Hat Enterprise Linux, technical のカテゴリに投稿されたものである。〜以下省略〜

