今となっては当たり前となってしまった仮想化の波に今更ながら乗ってみました。
ファンの音がうるさいのと、固定IP契約が意外と割高なので今まで殆ど使っていなかったProLiantサーバーを引っ張り出してきて実験しました。
Linuxカーネルの標準モジュールとなっているKVMによるCPUエミュレーションとQEMUによるハードウェアエミュレーションを利用して完全仮想化しているらしいです。多分認識が間違っているかもしれませんので、もし間違っていたらご指摘いただけますと幸いです。
仮想マシンを実行するホスト環境は豊富なリソースを必要とするため、64bit版を採用します。
ホストOSのインストール
- HP ProLiant ML115(搭載メモリ7GB)
- Ubuntu 11.04 の 64bit サーバー版を使用
インストール時に OpenSSH server
と Virtual Machine host
にチェックを入れます。
インストールが終わったら、まずはCPUが仮想化支援機能を搭載しているかどうか確認します。
$ grep -E '(vmx|svm)' --color /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp lm 3dnowext
3dnow up rep_good nopl extd_apicid pni cx16 lahf_lm svm extapic cr8_legacy
3dnowprefetch lbrv
AMD Athlon 1640B には仮想化支援機能がある(?)のでOKです。
今のUbuntuはデスクトップ、サーバーの分野ともにぐんぐんシェアを伸ばしている勢いを感じます。
仮想ディスクイメージの作成
QEMUの仮想マシンディスクイメージは10GBぐらいまで qcow2
というフォーマットが推奨されているらしいです。ここでは20GBのHDDを作成しています。
$ qemu-img create -f qcow2 centos56.qcow2 20G Formatting 'centos56.qcow2', fmt=qcow2 size=21474836480 encryption=off cluster_size=0
ゲストOSのインストール
ホスト側でXサーバが立ち上がらないので、ここからはリモートで作業を行います。事前にUltraVNCというクライアントを導入してください。
本来ならホストOSでもXサーバが立ち上がったほうがリモートで作業する必要がなくなるのでよっぽど楽に作業が進められます。
グラフィックメモリが貧弱なので、あえてGUIはインストールしませんでした。
ISOイメージ (CD-ROM) から起動
以下のようにします。1024MBのメモリを割り当ててCD-ROMイメージにCentOSのISOイメージを指定、ディスクからブート(d)し、VNCサーバを(0 + 5900 = 5900)番ポートで解放することを意味します。
$ sudo kvm -hda centos56.qcow2 -cdrom CentOS-5.6-i386-bin-DVD.iso -boot d -m 1024 -vnc :0 kvm: pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"
UltraVNC側は以下のような感じで指定すればゲストOSに接続できます。
ちゃんとゲストOSでインストールが進んでいくのがわかります。
ゲストOSのインストールが済んだらブリッジ接続を設定します。
noguchi@ubuntu:~$ sudo vi /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface # 2011-06-04 20:00 edit by noguchi start #auto eth0 #iface eth0 inet dhcp auto br0 iface br0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 pre-up ifconfig eth0 down pre-up ifconfig eth0 0.0.0.0 promisc up pre-up brctl addbr br0 pre-up brctl addif br0 eth0 pre-up ifconfig eth0 up post-down ifconfig eth0 down post-down brctl delif br0 eth0 # 2011-06-04 20:00 edit by noguchi end
はい、もう何が何だか全然分かりませんね。
とりあえずUbuntuも追加してみてネットワーク構成図はこんな感じに・・・。
なにはともあれホストOSを再起動すればブリッジが有効になってホストOSと同じセグメントのネットワークに属することができます。
以下のコマンドでTAPに接続してゲストOS + Poderosa
などで快適(?)仮想OS生活を満喫してください。
$ sudo kvm -m 1024 -hda centos56.qcow2 -drive file=centos56.qcow2,if=virtio,boot=on -net nic,model=virtio -net tap,ifname=tap0,script=/etc/qemu-ifup -vnc :0 kvm: pci_add_option_rom: failed to find romfile "pxe-virtio.bin"
ではでは。
参考
- Ubuntu + KVM で仮想サーバ
- KVMを使う(インストール編) « さくらインターネット研究所
- Convert VMware .vmdk to KVM .qcow2 or Virtualbox .vdi | Shadows of epiphany
投稿者紹介
-
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。
最近のエントリ
- レポート2019.10.28ユニキャストレストランを開催しました🍳
- レポート2019.08.29社内研修ワークショップ~マシュマロ・チャレンジ~
- レポート2019.08.06Computex/InnoVEX 出展者・通訳として参加してきました。
- レポート2018.06.12Computex 2018 レポート
1件のコメント