OpenStack Folsom構築 on Wheezy (8) 独自イメージ作成

次は、配布されているイメージファイルを利用するのではなく、自分でイメージファイルを作ってみます。

要はisoインストールイメージさえあればなんでもできる、ということなので、例はDebianにしますが、Ubuntu, CentOS, Fedora, Scientific Linux となんでも作ることができます。



インストールイメージの入手

Debianのisoファイルはこの辺にありますが、
  • Stable(Squeeze) インターネット経由のDebianのインストール
  • Testing(Wheezy) Debian-Installer を使ったインストール

  • 今回はどうせtestingならということで、最新を落として来ました。


    OSインストール

    OSイメージとなるファイルを作成しておきます。容量は後で変えれなくもないですが、基本的にはこれが rootパーティション(/)の容量になると思っておいたほうがよいです。

    次にインストーラを起動します。
    注意事項をいくつか。

  • OSによってはメモリが256MBだとenough RAMで進めない
  • テキストモードでパーティションの詳細設定ができないOSはグラフィカルでやる
  • OSによっては652MB以上ないとグラフィカルモードにできない
  • -k ja で日本語キーボード(デフォのusだと色々打てないので…)
  • -vnc の :NN はVNCのポート番号50NNになります
  • 立ち上げたら、手元のPCで適当なVNCソフトを使ってコンソール接続します。RealVNC, TightVNC, UltraVNC などなんでもよいです。接続情報はHostOSの管理アドレスと、指定したVNCポートなので、こんな感じです。

    あとは普通にOSインストールなので好きにやればOKですが、必須事項としては

  • ネットワークはDHCPとする
  • SSHが入る最小構成とする

  • の2点だけで、他のどーでもいぃメモとしては
  • hostnameはわかりやすくインストールイメージ名と同じにする
  • rootのパスワードはいったん超簡単にしてあとで変える
  • 一般ユーザは適当に user:user で作ってあとで消す
  • aptミラー使う(コンソールから : が打てないと悲惨になるため)

  • インストールが終わって、再起動して無事VMのOSが起動したら、いったん落とします。


    VMの設定

    落としたらまた起動します。一度落とした理由は、単にイメージファイル指定で起動することを確認したかっただけなので、慣れたら起動したまま次の作業をしても大丈夫です。

    起動したら、またPCからVNC接続します。

    アカウント

    一般ユーザがいらなければ消しておきます。

    ファイルの確認

    この辺から好みですが、基本ファイルの中身は確認しておきます。
  • /etc/hostname : 基本名はこれでよいか
  • /etc/hosts : 過不足ないか
  • /etc/network/interfaces : DHCPになっているか

  • ネットワークのUDEV削除

    VMとしては邪魔になるので、ファイルが存在していたら削除します。

    SSH公開鍵取得スクリプト

    もし、基本的なSSHサーバへrootユーザログインではなく、OpenStackの機能であるキーペアの公開鍵をVMに送り込んで利用したい場合は、このスクリプトを実行するようにしておきます。

    /etc/rc.local

    ここまでできたら、shutdownして、イメージは完成です。


    Glanceに登録

    できたimgファイルをGlanceに登録します。
    最小構成ならば1~2GB程度に収まるはずです。


    インスタンス作成

    VMの起動

    イメージとネットワークを指定して起動します。
    初回はGlanceからイメージを落としてくるのに時間がかかりますが、Glanceのキャッシュが有効ならばローカルにイメージファイルが置かれるので、2度目以降のイメージはすぐ起動してくれます。

    floating ip割り当て

    新規作成と、割り当てを行います。

    SSHログイン

    fixed ipでも、floating ipでも好きな方で接続確認します。



    rootでSSHログインできれば、あとはアカウント周りを含めて、個々の好きなように初期設定すればよく、ひと通り終わったらスナップショットをとっておいたり、Puppet/Chefなどで基本設定管理するなどして運用していくことになります。

    Glanceにイメージ登録するのはたいした手間じゃないので、開発環境であれば、一般的なLinuxを4~5個用意しておいて皆に勝手に選んで使ってもらうのが幸せな道ではないでしょうか。

    Grizzlyがリリースされてアレですが、多分まだ続きます・・・