1 views

実現する機能

KVM(Kernel-based Virtual Machine) (ケーブイエム) は仮想化ソフトです。Windowsを搭載していたパソコンが壊れたので、サーバー機でScientific LinuxとWindowsを同時に動かして使っています。動画ファイルの変換にはWindowsが不可欠ですからね。さらには、Scientific Linuxのテスト環境を構築し、危ないソフトを試したりしています。欠点は、DVDドライブ以外の周辺機器はUSBも含めて使えない点です。マザーボードが古いせいかもしれませんが、残念です。

KVMを導入するためには、パソコンのプロセッサが「Intel VT」か「AMD-V」のどちらかでないと動作しません。

KVMの導入手順

(1)自宅サーバーが仮想化できるか確認

[root@ufuso ~]# egrep '(vmx|svm)' /proc/cpuinfo ← 自宅サーバーがKVMで仮想化
できるPCか調べる
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
 pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm
 3dnowext 3dnow rep_good extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic
 cr8_legacy 3dnowprefetch lbrv ← svm(Intelならvmx)とあるのでOK。
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
 pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm
 3dnowext 3dnow rep_good extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic
 cr8_legacy 3dnowprefetch lbrv ← svm(Intelならvmx)とあるのでOK。

[root@ufuso ~]# lsmod | grep kvm ← kvmモジュールがロードされているか確認
 ← 何も表示されないので、ロードされていない
[root@ufuso ~]# modprobe kvm ← 必要なモジュールを組み込む

[root@ufuso ~]# modprobe kvm_amd ← AMD用モジュールの組込。INTEL用だとkvm_intel

[root@ufuso ~]# lsmod | grep kvm ← モジュールが組み込まれたか確認
kvm_amd                41702  0 
kvm                   316506  1 kvm_amd ← ロードされている

(2)KVMのインストール

[root@ufuso ~]# yum -y install qemu-kvm libvirt python-virtinst bridge-utils virt-manager
 ← kvmとlibvirt をインストール
Installed:
  libvirt.x86_64 0:0.10.2-18.el6_4.5                              
  python-virtinst.noarch 0:0.600.0-15.el6                         
  qemu-kvm.x86_64 2:0.12.1.2-2.355.el6_4.2                        
  virt-manager.x86_64 0:0.9.0-18.el6                              

Dependency Installed:
  augeas-libs.x86_64 0:0.9.0-4.el6                                
  celt051.x86_64 0:0.5.1.3-0.el6                                  
  cyrus-sasl-md5.x86_64 0:2.1.23-13.el6_3.1                       
  ebtables.x86_64 0:2.0.9-6.el6                                   
  gnutls-utils.x86_64 0:2.8.5-10.el6_4.1                          
  gpxe-roms-qemu.noarch 0:0.9.7-6.9.el6                           
  gtk-vnc.x86_64 0:0.3.10-3.el6                                   
  gtk-vnc-python.x86_64 0:0.3.10-3.el6                            
  iscsi-initiator-utils.x86_64 0:6.2.0.873-2.el6                  
  libcacard.x86_64 0:0.15.0-2.el6                                 
  libvirt-client.x86_64 0:0.10.2-18.el6_4.5                       
  libvirt-python.x86_64 0:0.10.2-18.el6_4.5                       
  nc.x86_64 0:1.84-22.el6                                         
  netcf-libs.x86_64 0:0.1.9-3.el6                                 
  numad.x86_64 0:0.5-8.20121015git.el6                            
  qemu-img.x86_64 2:0.12.1.2-2.355.el6_4.2                        
  radvd.x86_64 0:1.6-1.el6                                        
  seabios.x86_64 0:0.6.1.2-26.el6                                 
  sgabios-bin.noarch 0:0-0.3.20110621svn.el6                      
  spice-glib.x86_64 0:0.14-7.el6                                  
  spice-gtk.x86_64 0:0.14-7.el6                                   
  spice-gtk-python.x86_64 0:0.14-7.el6                            
  spice-server.x86_64 0:0.12.0-12.el6                             
  usbredir.x86_64 0:0.5.1-1.el6                                   
  vgabios.noarch 0:0.6b-3.7.el6                                   
  yajl.x86_64 0:1.0.7-3.el6                                       

Complete!

[root@ufuso ~]# /etc/rc.d/init.d/libvirtd start ← ibvirtdの起動
libvirtd デーモンを起動中:                                 [  OK  ]

[root@ufuso ~]# chkconfig libvirtd on ← 自動起動設定

(3)ゲストOSがブリッジ接続できるようにブリッジネットワークを構成
ブリッジ接続は、一歩間違えるとインターネットに繋がらなくなります。仮想PCを自宅のネットワークに参加させてファイルの共有とかをやる必要がなければ、ブリッジ接続はお勧めしません。

[root@ufuso ~]# cd /etc/sysconfig/network-scripts
 ← network-scriptsフォルダへ移動

[root@ufuso network-scripts]# cp ifcfg-eth0 ifcfg-br0 ← eth0をbr0にコピー

[root@ufuso network-scripts]# vi ifcfg-br0 ← br0ファイルの編集
DEVICE="br0" ← 「br0」に変更
TYPE=Bridge ← 「Bridge」に変更
UUID=47d482b3-92fe-4a85-93bd-795944f763e6
ONBOOT=yes
#NM_CONTROLLED="yes" ← 行頭に#を付加してNetworkManagerを無効化
BOOTPROTO=none
IPADDR=192.168.24.240
PREFIX=24
GATEWAY=192.168.24.1
DNS1=192.168.24.240
DOMAIN=ufuso.dip.jp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
DNS2=192.168.24.1
HWADDR=90:E6:BA:C9:DE:B3
LAST_CONNECT=1369406574

[root@ufuso network-scripts]# vi ifcfg-eth0 ← eth0ファイルの編集
DEVICE=eth0
TYPE=Ethernet
UUID=47d482b3-92fe-4a85-93bd-795944f763e6
ONBOOT=yes
#NM_CONTROLLED="yes" ← 行頭に#を付加してNetworkManagerを無効化
BOOTPROTO=none
IPADDR=192.168.24.240
PREFIX=24
GATEWAY=192.168.24.1
DNS1=192.168.24.240
DOMAIN=ufuso.dip.jp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
DNS2=192.168.24.1
HWADDR=90:E6:BA:C9:DE:B3
LAST_CONNECT=1369406574
BRIDGE=br0 ← ブリッジ名「br0」を明記

[root@ufuso network-scripts]# cd ← network-scriptsフォルダから移動

[root@ufuso network-scripts]# service NetworkManager stop ← NetworkManagerの
停止
NetworkManager デーモンを停止中:                           [  OK  ]

[root@ufuso ~]# chkconfig NetworkManager off ← NetworkManagerは使わないので
自動起動を停止
[root@ufuso ~]# chkconfig --list NetworkManager ← 停止できているか確認
NetworkManager 	0:off	1:off	2:off	3:off	4:off	5:off	6:off
 ← すべてOFFならOK

[root@ufuso ~]# /etc/rc.d/init.d/network restart  ← networkの再起動
ループバックインターフェースを終了中                       [  OK  ]
ループバックインターフェイスを呼び込み中                   [  OK  ]
インターフェース eth0 を活性化中:                          [  OK  ]
インターフェース br0 を活性化中:                           [  OK  ]

[root@ufuso ~]# ifconfig  ← br0がIPを取得できているか確認
br0       Link encap:Ethernet  HWaddr 90:E6:BA:C9:DE:B3  
          inet addr:192.168.24.240  Bcast:192.168.24.255  Mask:255.255.255.0
          inet6 addr: 240f:ce:e2a:1:92e6:baff:fec9:deb3/64 Scope:Global
          inet6 addr: fe80::92e6:baff:fec9:deb3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:201 errors:0 dropped:0 overruns:0 frame:0
          TX packets:212 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:47104 (46.0 KiB)  TX bytes:21489 (20.9 KiB)

eth0      Link encap:Ethernet  HWaddr 90:E6:BA:C9:DE:B3  
          inet6 addr: fe80::92e6:baff:fec9:deb3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2779709 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2186823 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1951416968 (1.8 GiB)  TX bytes:289494219 (276.0 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:754468 errors:0 dropped:0 overruns:0 frame:0
          TX packets:754468 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:357134271 (340.5 MiB)  TX bytes:357134271 (340.5 MiB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:5C:A0:14  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:279 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:68122 (66.5 KiB)

(4)WindowsXPをゲストOSとして新規にインストールする場合
1.赤枠1をクリックして表示される一覧から赤枠2をクリックし、表示される一覧から赤枠3をクリックします。

2.赤枠をクリックします。

3.赤枠1に仮想マシン名を入力し、CD又はイメージファイルからインストールする場合で説明を進めるので赤枠2をクリックし、最後に赤枠3をクリックします。

4.赤枠1にチェックが入っていること確認し、赤枠2と3でOSの情報を選択し、終わりましたら赤枠4をクリックします。

5.赤枠1と赤枠2の設定数値を入力して、赤枠3をクリックします。

6.赤枠1は8GBでは足りなくなると思いますので、最低でも例示程度の設定は必要かと思います。赤枠2は逆にチェックを外してハードディスク全体の容量が固定化で無駄になるのを避けます。終わりましたら赤枠3をクリックします。

7.赤枠1の「詳細なオプション」をクリックすると赤枠1内に設定内容が表示されます。赤枠3をクリックするとインストールが始まります。赤枠2にチェックが入っていると7ー2の画面が表示されます。(CentOSの例ですが、手順は変わりません)

7ー1.ブリッジ接続の設定をしていない場合には、赤枠の設定になります。

7ー2.赤枠1のメモリは1024Mがきびしければ、赤枠2内の初期値を512Mまで下げてください。赤枠3をクリックするとインストールが始まります。

8.WindowsXPのインストール画面が表示されましたら、赤枠の指示どおりエンター・キーを押します。

9.赤枠の指示どおりF8キーを押します。

10.赤枠の指示どおり半角・全角キーを押します。

11.赤枠の指示どおりYキーを押します。

12.赤枠1の表示が出ましたら、赤枠2の指示どおりエンター・キーを押します。

13.赤枠1の表示が出ましたら、赤枠2の指示どおりエンター・キーを押します。

14.この画面が出ましたら、赤枠をクリックします。

15.赤枠1にユーザー名を入力して、赤枠2をクリックします。

16.赤枠1にコンピューター名を入力して、赤枠2をクリックします。

17.この画面が出ましたら、日を確認して赤枠をクリックします。

18.赤枠1にチェックが入っていることを確認して、赤枠2をクリックします。

19.この画面がこれまで説明した画面の全体像です。真ん中の黒い画面に表示されているOKボタンをクリックします。背景はScientific Linux 6.2の画面です。

20.Scientific Linuxの画面の上にWindowsXPの画面が表示されています。説明は以上です。最新のWindowsアップデートをしてからお使いください。この状態でインターネットを使うとセキュリティホールだらけですから。

(5)作成済みのゲストOS(WindowsXP)を再インストールする場合
1.赤枠1をクリックして表示される一覧から赤枠2をクリックし、表示される一覧から赤枠3をクリックします。

2.赤枠1にrootのパスワードを入力し、赤枠2の「認証する」をクリックします。
kvm01

3.赤枠をクリックして新規仮想マシンを作成します。
kvm02

4.赤枠1に再インストールする仮想マシン名を入力し、赤枠2で「既存のディスクイメージをインポート」にチェックを入れ、赤枠3の「進む」をクリックします。
kvm03

5.赤枠の「参照」をクリックします。
kvm04

6.赤枠の「ローカルを参照」をクリックします。
kvm05

7.既存のディスクイメージのあるフォルダまでたどり、赤枠の既存ディスクイメージをクリックします。
kvm06

8.赤枠1でOSとバージョンを選び、赤枠2の「進む」をクリックします。
kvm07

9.赤枠1で仮想OSに割り当てるメモリとCPU数を入力し、赤枠2の「進む」をクリックします。
kvm08

10.赤枠1の「インストールの前に設定をカスタマイズする」をクリックし、赤枠2のホストデバイスが「br0」であることを確認し、赤枠3の「完了」をクリックします。
kvm09

11.カスタマイズ画面になるので、例示としてメモリの設定を変えてみます。赤枠1の「Memory」をクリックして、赤枠2の設定を変更し、赤枠3の「適用」をクリックします。カスタマイズが終わりましたら、赤枠4の「インストールの開始」をクリックします。
kvm10

12.インストール作業はありません。すぐさまWindowsXPが起動します。
kvm11

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください