仮想化 · 3 min read · Nov 04, 2025
CentOS 6.2 サーバーでの KVM を使用した仮想化
CentOS 6.2 サーバーでの KVM を使用した仮想化
バージョン 1.0
著者: Falko Timme
Twitterでフォローしてください
このガイドでは、CentOS 6.2 サーバー上で仮想マシンを作成および実行するために KVM をインストールして使用する方法を説明します。イメージベースの仮想マシンと論理ボリューム (LVM) を使用する仮想マシンの作成方法を示します。KVM は Kernel-based Virtual Machine の略で、ハードウェア仮想化を利用します。つまり、ハードウェア仮想化をサポートする CPU(例: Intel VT または AMD-V)が必要です。
これがあなたにとって機能するという保証はありません!
1 前提条件
ここでは、ホスト名 server1.example.com と IP アドレス 192.168.0.100 を持つ CentOS 6.2 サーバーを KVM ホストとして使用しています。
CentOS 6.2 システムで SELinux を無効にしました。SELinux を有効にした状態でテストしていませんが、動作するかもしれません。しかし、動作しない場合は、SELinux をオフにした方が良いでしょう:
vi /etc/selinux/configSELINUX=disabled に設定…
| # このファイルは、システム上の SELinux の状態を制御します。 # SELINUX= は次の 3 つの値のいずれかを取ることができます: # enforcing - SELinux セキュリティポリシーが強制されます。 # permissive - SELinux は強制する代わりに警告を表示します。 # disabled - SELinux ポリシーは読み込まれません。 SELINUX=disabled # SELINUXTYPE= は次の 2 つの値のいずれかを取ることができます: # targeted - 対象プロセスが保護されます。 # mls - マルチレベルセキュリティ保護。 SELINUXTYPE=targeted |
… そして再起動:
rebootまた、インストールした仮想マシンのグラフィカルコンソールに接続するために virt-manager をインストールするデスクトップシステムが必要です。ここでは Fedora 16 デスクトップを使用しています。
2 KVM のインストール
CentOS 6.2 KVM ホスト:
まず、CPU がハードウェア仮想化をサポートしているかどうかを確認します。これが当てはまる場合、コマンド
egrep '(vmx|svm)' --color=always /proc/cpuinfoは何かを表示するはずです。例えば、次のように:
[root@server1 ~]# egrep '(vmx|svm)' --color=always /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 ht syscall
nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse
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 pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse
[root@server1 ~]#何も表示されない場合、プロセッサはハードウェア仮想化をサポートしていないため、ここで停止する必要があります。
次に、ソフトウェアパッケージの GPG キーをインポートします:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*KVM と virtinst (仮想マシンを作成するためのツール) をインストールするには、次のコマンドを実行します:
yum install kvm libvirt python-virtinst qemu-kvm次に、libvirt デーモンを起動します:
/etc/init.d/libvirtd startKVM が正常にインストールされたかどうかを確認するには、次のコマンドを実行します:
virsh -c qemu:///system list次のような出力が表示されるはずです:
[root@server1 ~]# virsh -c qemu:///system list
Id Name State
----------------------------------
[root@server1 ~]#エラーが表示される場合は、何かがうまくいかなかったことになります。
次に、サーバー上にネットワークブリッジを設定する必要があります。これにより、仮想マシンはネットワーク内の物理システムのように他のホストからアクセスできるようになります。
これを行うには、bridge-utils パッケージをインストールします…
yum install bridge-utils… そしてブリッジを構成します。ファイル /etc/sysconfig/network-scripts/ifcfg-br0 を作成します(/etc/sysconfig/network-scripts/ifcfg-eth0 ファイルから IPADDR、PREFIX、GATEWAY、DNS1、DNS2 の値を使用してください)。TYPE=Bridge を使用することを確認してください。TYPE=Ethernet ではありません:
vi /etc/sysconfig/network-scripts/ifcfg-br0| DEVICE="br0" NM_CONTROLLED="yes" ONBOOT=yes TYPE=Bridge BOOTPROTO=none IPADDR=192.168.0.100 PREFIX=24 GATEWAY=192.168.0.1 DNS1=8.8.8.8 DNS2=8.8.4.4 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System br0" |
/etc/sysconfig/network-scripts/ifcfg-eth0 を次のように変更します(BOOTPROTO、IPADDR、PREFIX、GATEWAY、DNS1、および DNS2 をコメントアウトし、BRIDGE=br0 を追加します):
vi /etc/sysconfig/network-scripts/ifcfg-eth0| DEVICE="eth0" NM_CONTROLLED="yes" ONBOOT=yes HWADDR=00:1E:90:F3:F0:02 TYPE=Ethernet #BOOTPROTO=none #IPADDR=192.168.0.100 #PREFIX=24 #GATEWAY=192.168.0.1 #DNS1=8.8.8.8 #DNS2=8.8.4.4 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 BRIDGE=br0 |
ネットワークを再起動します…
/etc/init.d/network restart… そして実行します
ifconfigこれでネットワークブリッジ (br0) が表示されるはずです:
[root@server1 ~]# ifconfig
br0 Link encap:Ethernet HWaddr 00:1E:90:F3:F0:02
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:103 errors:0 dropped:0 overruns:0 frame:0
TX packets:79 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:7434 (7.2 KiB) TX bytes:21398 (20.8 KiB)
eth0 Link encap:Ethernet HWaddr 00:1E:90:F3:F0:02
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:19511 errors:0 dropped:0 overruns:0 frame:0
TX packets:11592 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25980124 (24.7 MiB) TX bytes:1104371 (1.0 MiB)
Interrupt:28 Base address:0x6000
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:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3608 (3.5 KiB) TX bytes:3608 (3.5 KiB)
virbr0 Link encap:Ethernet HWaddr 6A:12:69:18:2B:05
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:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@server1 ~]#3 Fedora 16 デスクトップに virt-viewer または virt-manager をインストールする
Fedora 16 デスクトップ:
ゲストのグラフィカルコンソールに接続する手段が必要です。これには virt-manager を使用できます。Fedora 16 デスクトップを使用していると仮定します。
root になります…
su… そして実行します…
yum install virt-manager libvirt qemu-system-x86 openssh-askpass… で virt-manager をインストールします。
(Ubuntu 11.10 デスクトップを使用している場合、次のように virt-manager をインストールできます:
sudo apt-get install virt-manager)
4 コマンドラインから Debian Squeeze ゲスト (イメージベース) を作成する
CentOs 6.2 KVM ホスト:
さて、CentOS 6.2 KVM ホストに戻りましょう。
man virt-installを見て、virt-install の使い方を学びます。
イメージベースの仮想マシンは、KVM をインストールしたときに自動的に作成された /var/lib/libvirt/images/ ディレクトリに作成します。
名前 vm10、512MB の RAM、2 つの仮想 CPU、およびディスクイメージ /var/lib/libvirt/images/vm10.img(サイズ 12GB)の Debian Squeeze ゲストを作成するには、Debian Squeeze Netinstall CD を CD ドライブに挿入し、次のコマンドを実行します:
virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 --disk path=/var/lib/libvirt/images/vm10.img,size=12 -c /dev/cdrom --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvmもちろん、Debian Squeeze Netinstall CD の ISO イメージを作成することもできます(後で Fedora デスクトップから virt-manager を使用して仮想マシンを作成する方法を示すため、/var/lib/libvirt/images/ ディレクトリに作成してください)。
dd if=/dev/cdrom of=/var/lib/libvirt/images/debian-6.0.2.1-amd64-netinst.iso… そして virt-install コマンドで ISO イメージを使用します:
virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 --disk path=/var/lib/libvirt/images/vm10.img,size=12 -c /var/lib/libvirt/images/debian-6.0.2.1-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm出力は次のようになります:
[root@server1 ~]# virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 --disk path=/var/lib/libvirt/images/vm10.img,size=12 -c /var/lib/libvirt/images/debian-6.0.2.1-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm
インストールを開始しています...
'vm10.img' を割り当てています | 12 GB 00:00
ドメインを作成しています... | 0 B 00:00
ドメインのインストールはまだ進行中です。
コンソールに再接続して、インストールプロセスを完了できます。
[root@server1 ~]#新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。