2016年6月20日月曜日

KVMその2

さて、KVMを使って、暫定的に仮想OSを作ってみよう。
仮想OS作るためのオプションはたくさんあって、本気で運用するのなら、事前にしっかり設計しておく必要がある。
でも、それも仮想OSを立ててみないと分からないことも多い。なので、とにかく一つ作ってみよう、というのが今回のテーマだ。

作るOSはUbuntuの一つ前のLTSバージョン、14.04だ。2年前のLTSだから、しっかり情報が揃っているから、初めて作るには丁度いいと思う。
ただ、14.04はバグフィックス等を含んだ5世代目?がリリースされている。一応、ダウンロード実施時点(2016/06/16)の最新版は14.04.4だ。wgetでコレをダウンロードしておこう。
ダウンロード先は、先日マウントしたiSCSI領域にしよう。
$ cd iscsivol
$ wget http://releases.ubuntu.com/14.04.4/ubuntu-14.04.4-server-amd64.iso
$ ls -l

OSのインストールメディアが手に入ったら、次は仮想OS用の仮想ディスクだ。
こちらも、iSCSI用にext4を作った5GB(iscsivol)の中に、3.5GBで作成してみよう。
(4GBで作成しようと思ったんだけど、どうやら4GBは空き領域が足りなくて確保できないみたいだった。)
$ cd ~/iscsivol
$ qemu-img create -f qcow2 test.img 3.5G
$ ls -l
なんと、出来上がったファイルは200MBほどしか無い。
どうやら、シンプロビジョニングのような形で確保されるようだ。

仮想ディスクも出来上がったので、とりあえず仮想マシンをブートしてみよう。
もちろん、まだ何もインストールしていないので、空っぽの仮想マシンの起動になる。
$ kvm -hda test.img -cdrom ubuntu-14.04.4-server-amd64.iso -boot d -m 512
これを実行すると、KVMその1の時と同じようにウィンドウが立ち上がって、Ubuntuのインストーラ画面になると思う。
(X Windowを使用する必要が有るため、事前にVcXsrvの環境を作っておこう)

仮想マシン上で、Ubuntu 14.04.4のメディアイメージからブートした、ということになる。
軽くインストールしておこう。
ちなみに、Ubuntuのウィンドウをマウスでクリックすると、そのウィンドウからマウスが外せなくなると思う。そうなったら、左Ctrl+左Altの同時押しで外せるぞ。
ざっくり、以下の設定でインストールすることにする。(それ以外は適宜設定してくれい)
  • 言語:日本語
  • ホスト名:pisces
  • ディスクのパーティショニング:ディスク全体を使い、LVMをセットアップする
  • ソフトウェアの選択:OpenSSH Serverのみチェック
  • GRUBブートローダ:マスターブートレコードへインストール

インストール後、再起動を行うと、再びUbuntu 14.04.4のメディアイメージからブートしてしまう。
一旦、teratermの方(kvmコマンドを実行したターミナル)に、Ctrl+Cを押して、KVMプロセスを停止しよう。
(インストール画面も消えたはずだ)

仮想HDDのサイズをls -lで確認してみると、最初は200MB程度だったはずだが、2GB弱まで大きくなっているかと思う。やはり、シンプロビジョニングのような状態だったわけだ。

さて、この仮想HDDに本当にインストールが出来たのか、試しに起動してみよう。
$ kvm -hda test.img -boot c -m 512
起動処理が走って、暫くするとログイン画面になるはずだ。
OSのホスト名も指定したpiscesだし、問題なさそうだ。

ログインして確認してみよう。

どうやら、問題なく使えているようだ。

ちなみに、NICは1系統、IPアドレスは10.0.2.0/24が自動付与されている。DHCPクライアントに設定されているようだ。(デフォルトはDHCPクライアント)

ホストであるaquariusのNICを通じて、外(The Internet側)へのアクセスも可能で、sudo apt-get update が普通に稼働する。

とりあえず動くのは確認できた。

ちなみに、Ubuntuインストール時のKVMコマンド
kvm -hda test.img -cdrom ubuntu-14.04.4-server-amd64.iso -boot d -m 512
こちらだが、オプションは以下のとおりらしい。
  • -hda
    IDEチャネル1番目のHDDイメージファイル
    (今回は、test.imgファイル。ファイルではなく、デバイスを直に指定することも可能だと思う。)
  • -cdrom
    IDEチャネルに接続しているCD-ROMドライブのイメージファイル
    (今回は、ubuntu-...isoファイル。こちらも、デバイスを直にしているすることは可能だと思う。)
  • -boot
    何番目のデバイスからブートするか?dを指定しているので、2番目のデバイス。
    (FDDが、a,bで、IDEチャネル1番目のHDDがc、今回はdを指定しているので、CD-ROMイメージからブートする事になる。)
  • -m
    仮想マシンに割り当てるメモリサイズ(今回は512MBを割り当てた)


インストール後、ブートしなおした時のKVMコマンド
kvm -hda test.img -boot c -m 512
  • -boot
    c(IDEチャネル1番目のデバイスからブート)ということで、仮想HDD(test.img)からブートした形だ。

メモリサイズは512MBを割り当てているので、freeコマンド等で確認してみて欲しい。

この他にも、kvmコマンドにはたくさんのオプションがあるようだ。
おいおい調査して記載していくことにする。

最後に、piscesの方は停止しておこう。
(pisces) $ sudo shutdown -h now
ウィンドウがクローズして、kvmを起動したプロンプトが返ってきたはずだ。

これから暫くは、この test.img に格納された pisces を使って KVM を実験してみたいと思う。

0 件のコメント:

コメントを投稿