2016年6月15日水曜日

KVMその1

というわけで、ようやく本命のKVMに入れる。
(初めて触るので、正直どこまでやれるか…)

なので、まずは環境整備から。

KVMを使用するためには、作業用端末でX Window System(以下X)を利用できる状態にする必要があるようだ。(サーバ本体でX Window Systemを動かしてもいいんだけど、それだと常にサーバの前にいないといけないので…)

で、作業用端末がWindowsの場合、X Window Systemが動くようにするには、幾つかの方法がある。
  • 製品を買う。(ASTEC-XとかReflextionXとか)
  • Cygwin-Xで頑張る
  • VcXsrvを使う
  • その他…
細かいことは抜きにして、今回はVcXsrvを使用することにする。(フリーだし、同じくフリーで実績のあったXmingの分離版らしいし。)
VcXsrvはsourceforgeからダウンロード出来る。(https://sourceforge.net/projects/vcxsrv/)
但し、動かすためには、VC++2015 Runtimeが必要だ。併せて入手しておこう。

細かいところは省略するけど、VC++RuntimeとVcXsrvをそれぞれインストールしておくこと。

導入が終わったら、VcXsrvを立ち上げておく。
スタートメニューから、VcXsrv→XLaunchを起動しよう。
起動したら、Display settingsで、画面の形式を指定するダイアログが表示される。
デフォルトの「Multiple windows」のまま「次へ」
Display numberもデフォルトの-1のままで構わない。

次のClient startupも、「Start no Client」でいいだろう。

次のExtra settingsも、デフォルトのままでいい。

最後に、この3画面分の設定を保存することが出来る。保存してもいいし、都度XLaunchから設定しても構わない。

タスクトレイに「X」みたいなアイコンが表示されたら起動完了だ。


続いて、teratermのssh転送で、X転送が可能なようにしておこう。
これは簡単で、ログイン前のteratermのメニューから、「設定」→「ssh転送」

出てくるダイアログの「リモートの(X)アプリケーションをローカルのXサーバに表示する」のチェックを入れて「OK」してから、sshでUbuntu Linuxへログインすればいい。


これで作業用PCの設定は終わりだ。
続いてUbuntu Linux側の環境を整えよう。

幾つか必要なパッケージがあるけど、最低限qemu-kvmは入れておく必要が有る。
$ dpkg-query -l qemu-kvm

OS構築の時に「Virtual Machine」というパッケージグループを入れているので、入っているはずだ。
もし入っていなかったら、以下のコマンドで入れておこう。
$ sudo apt-get install qemu-kvm

それ以外にも、virt-managerというのが入っていると便利らしいのだが、今はまだ入れないでおく。
この先、導入する予定だ。
$ dpkg-query -l virt-manager

で、qemu-kvmを導入した時かどこかのタイミングで、/dev/kvmというデバイスファイルが出来る。
このデバイスファイル、ubuntuの場合はグループがkvmグループになるはずなんだけど、そのためには一度再起動をしておく必要が有るらしい。
$ ls -l /dev/kvm

もし、/dev/kvmの所有グループがkvmではなかった場合は、一旦再起動しておこう。
$ sudo shutdown -r now

で、kvm関連の操作には、/dev/kvmへのアクセス権限も含めて、kvmグループに属しておく必要があるらしい。そのため、以下のコマンドで自分のアカウントをkvmグループに含める。
$ grep kvm /etc/group
$ id
$ sudo adduser (自分のユーザ名) kvm
$ grep kvm /etc/group
(一旦exitで抜けて、再度ログイン)
$ id

あと、カーネルにkvmモジュールが組み込まれているか確認しておこう。
$ lsmod | grep kvm
使っているマシンがIntel NUCなので、kvm_intelとkvmの2モジュール出てくるはずだ。

ここまで来たら、kvmコマンド自体は使用可能になっているはず。簡単な操作で確認してみる。
$ kvm -monitor stdio
これを実行したら、勝手に一つウィンドウが開いたのではないだろうか?
これを表示させるために、先にVcXsrvをインストールした。
(作業用PCをUbuntu Linuxの間のネットワークが、モバイルネットワーク(4G回線等)の場合、表示されるまでに非常に時間がかかると思うが、数分待ってみて欲しい。)

よく見てみると、「Booting from Floppy」だの「Booting from DVD/CD...」だの、PCが起動する時のBIOSのメッセージに似ているというのに気付くはずだ。
最終的に「No bootable device.」で終わっている。
過去に、PCのOS用HDDがクラッシュしたことのある人なら、恐怖とともに見たことがあるメッセージではないだろうか?
QEMU環境で、簡単なBIOSブートをしてみた、というのがこの画面だ。
この画面が出れば、QEMU(KVMのベースとなる環境)が稼働しているということになる。

teratermの方を見てみると、プロンプトが(qemu)となっているはずだ。
これが、qemuを操作するためのプロンプトだが、詳細は不明なので、おいおい書いていくこととする。

qemuのプロンプトから、kvmの状態確認コマンドを打ってみる。
(qemu) info kvm
kvm spport: enabled と表示されるはずだ。
このマシンで kvm が利用できる、ということらしい。

最後に、quitで抜けておこう。
(qemu) quit
先ほど起動したウィンドウも消滅したはずだ。

まずはココまで。
--2016/06/20追記
間違って「X Windows System」と書いてしまってた場所が有ったので、「X Window System」に修正。
同じく「Flopply」と書いていたので、「Floppy」に修正。

0 件のコメント:

コメントを投稿