自宅サーバにKVMを導入してみた

ubuntu_on_kvm

スポンサーリンク

なぜKVMなのか

DockerとかLXCとか最近よく聞きますが、あえてKVMです。KVMと言うときは、「仮想化の」と言わないとどのKVMかわからなくなりそうでアレですね。Unityほどではないですけど。

なぜ KVM かと言うと、第83回 関西Debian勉強会で、「自宅サーバにkvmを導入してみよう」という発表をきいてきたからです。以前のようにお仕事中に自宅鯖にsshしてごにょごにょとかしなくなったので、完全に置き物化している自宅のサーバマシンで試してみることにしました。

KVMってなに?

CPUの仮想化支援機能を利用して、QEMUを高速化してくれるLinuxのカーネルモジュール…という理解でいいのかな。。。
QEMUのCPUの演算処理部分をKVMが肩代わりしているらしいです。

導入

Intelなので /proc/cpuinfo の vmx フラグを探します。
ちなみに AMD は svm フラグだそうです。
$grep vmx /proc/cpuinfo

flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid

いけるみたいです。(まぁ当然ですね

で、qemu-kvmとlibvirtをインストールします。
$sudo aptitude install qemu-kvm libvirt-bin

カーネルモジュールがロードされているか確認します。kvm しかロードされていない場合はBIOSで無効にされているので、有効化します。kvm だけの場合は qemu のソフトウェアエミュレーションだけで頑張るみたいです。
$lsmod | grep kvm

kvm_intel             121968  3 
kvm                   287749  1 kvm_intel

インストールイメージを用意しておきます。wgetなりscpなりで /var/lib/libvirt/images にISOファイルを置いておきます。

…と、ここまでが仮想マシンをホストするサーバでの作業になります。で、管理用端末に virt-manager をインストールします。もし、インストールされていなけば ssh-askpass とか open-ssh とかもインストールします。

$sudo aptitude install virt-manager

仮想マシンのインストール

管理用端末で仮想マシンマネージャを起動します。

ファイル → 接続を追加

接続をクリックしたら、ツールバーから新しいマシンの作成ボタンを選択して、あとはウィザードに従って仮想マシンを作成できます。

途中で、先ほどサーバに用意したインストーライメージを選択すると、そのままインストーラが起動するので、普段と同じようにインストールしてしまえば終了です。

tomcat-dns

私のように、NTT-X store で買った廃棄スペック激安サーバを使っている方はリソースのわりあてに注意しましょう。さすがにデスクトップ環境動かすとモッサリします。

まとめ

  • 特にはまりどころもなく、なんかあっさりできてしまった。簡単なのはすばらしい。
  • サーバを外部に公開するとなると面倒なのかな?仮想ネットワークに関してはおいおい試してみるます。
  • 最近流行っぽい LXC とか Docker とかいう言葉は一応把握してるけど、ふ〜んって感じで実際試したことないのでそっちも試してみたいです。
スポンサーリンク

フォローする