仮想化 · 4 min read · Jan 07, 2026

Fedora 17 サーバーでの KVM を使用した仮想化

Fedora 17 サーバーでの KVM を使用した仮想化

バージョン 1.0
著者: Falko Timme
Twitter でフォローしてください

このガイドでは、Fedora 17 サーバー上で仮想マシンを作成し、実行するために KVM をインストールして使用する方法を説明します。イメージベースの仮想マシンと論理ボリューム (LVM) を使用する仮想マシンの作成方法を示します。KVM は Kernel-based Virtual Machine の略で、ハードウェア仮想化を利用します。つまり、ハードウェア仮想化をサポートする CPU が必要です。例: Intel VT または AMD-V。

これがあなたにとって機能するという保証はありません!

1 予備ノート

ここでは、ホスト名 server1.example.com と IP アドレス 192.168.0.100 を持つ Fedora 17 サーバーを KVM ホストとして使用しています。

私の Fedora 17 システムでは SELinux を無効にしていました。SELinux を有効にした状態ではテストしていませんが、動作するかもしれません。しかし、動作しない場合は SELinux を無効にする方が良いでしょう:

vi /etc/selinux/config

SELINUX=disabled…

| # このファイルはシステム上の SELinux の状態を制御します。 # SELINUX= は次の 3 つの値のいずれかを取ることができます: # enforcing - SELinux セキュリティポリシーが強制されます。 # permissive - SELinux は強制する代わりに警告を表示します。 # disabled - SELinux ポリシーは読み込まれません。 SELINUX=disabled # SELINUXTYPE= は次の 2 つの値のいずれかを取ることができます: # targeted - 対象プロセスが保護されます、 # mls - マルチレベルセキュリティ保護。 SELINUXTYPE=targeted |

… そして再起動します:

reboot

また、インストールした仮想マシンのグラフィカルコンソールに接続するために virt-manager をインストールするデスクトップシステムが必要です。ここでは Fedora 17 デスクトップを使用しています。

2 KVM のインストール

Fedora 17 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 デーモンのシステム起動リンクを作成し、起動します:

systemctl enable libvirtd.service  
systemctl start libvirtd.service

KVM が正常にインストールされたか確認するには、次のコマンドを実行します:

virsh -c qemu:///system list

次のような出力が表示されるはずです:

[root@server1 ~]# virsh -c qemu:///system list  
 Id Name                 State  
----------------------------------  
  
[root@server1 ~]#

エラーが表示される場合は、何かがうまくいかなかったことになります。

次に、サーバー上にネットワークブリッジを設定する必要があります。これにより、仮想マシンは他のホストから物理システムのようにアクセスできるようになります。

これを行うために、bridge-utils パッケージをインストールします…

yum install bridge-utils

… そしてブリッジを構成します。

私は Fedora の NetworkManager を無効にし、「通常の」ネットワーキングを有効にします。NetworkManager は、ネットワーク接続が変更されるデスクトップには適していますが、サーバーでは通常ネットワーク接続を変更しません:

systemctl disable NetworkManager.service  
systemctl enable network.service  
systemctl restart network.service  
systemctl stop NetworkManager.service

/etc/resolv.conf を確認して、以前に構成したすべてのネームサーバーがリストされているか確認します:

cat /etc/resolv.conf

ネームサーバーが欠けている場合は、次のコマンドを実行します:

system-config-network

そして、欠けているネームサーバーを再度追加します。

次に、次のコマンドを実行してプライマリネットワークインターフェースを特定します:

ifconfig

私の場合、それは em1 と呼ばれます - これは正しいネットワーク構成ファイルを編集するために重要です - 私の場合は /etc/sysconfig/network-scripts/ifcfg-em1 です。

ブリッジを構成するには、/etc/sysconfig/network-scripts/ifcfg-br0 というファイルを作成します (DNS1 (および他の DNS 設定がある場合はそれら) 、GATEWAY、IPADDR、NETMASK、および SEARCH の値を /etc/sysconfig/network-scripts/ifcfg-em1 ファイルから使用してください):

vi /etc/sysconfig/network-scripts/ifcfg-br0

| DEVICE=br0 TYPE=Bridge BOOTPROTO=static DNS1=8.8.8.8 GATEWAY=192.168.0.1 IPADDR=192.168.0.100 NETMASK=255.255.255.0 ONBOOT=yes DNS2=8.8.4.4 SEARCH="example.com" |

次に、/etc/sysconfig/network-scripts/ifcfg-em1 を次のように変更します (BOOTPROTO、DNS1 (および他の DNS サーバーがある場合はそれら)、GATEWAY、IPADDR、NETMASK、および SEARCH をコメントアウトし、NM_CONTROLLED を no に設定し、BRIDGE=br0 を追加します):

vi /etc/sysconfig/network-scripts/ifcfg-em1

| UUID="e8a818cc-0e23-47b8-88f3-013567828572" NM_CONTROLLED=no #BOOTPROTO=none HWADDR=00:1e:90:f3:f0:02 ONBOOT=yes #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 #DNS2=8.8.4.4 TYPE=Ethernet #GATEWAY=192.168.0.1 #DNS1=8.8.8.8 IPV6INIT=no USERCTL=no PREFIX=24 BRIDGE=br0 |

その後、システムを再起動します:

reboot

再起動後、次のコマンドを実行します:

ifconfig

これでネットワークブリッジ (br0) が表示されるはずです:

[root@server1 ~]# ifconfig  
br0: flags=4163  mtu 1500  
        inet 192.168.0.100  netmask 255.255.255.0  broadcast 192.168.0.255  
        inet6 fe80::21e:90ff:fef3:f002  prefixlen 64  scopeid 0x20  
        ether 00:1e:90:f3:f0:02  txqueuelen 0  (Ethernet)  
        RX packets 70  bytes 7511 (7.3 KiB)  
        RX errors 0  dropped 0  overruns 0  frame 0  
        TX packets 76  bytes 10847 (10.5 KiB)  
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0  
  
em1: flags=4163  mtu 1500  
        ether 00:1e:90:f3:f0:02  txqueuelen 1000  (Ethernet)  
        RX packets 117  bytes 15163 (14.8 KiB)  
        RX errors 0  dropped 0  overruns 0  frame 0  
        TX packets 92  bytes 12899 (12.5 KiB)  
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0  
  
lo: flags=73  mtu 16436  
        inet 127.0.0.1  netmask 255.0.0.0  
        inet6 ::1  prefixlen 128  scopeid 0x10  
        loop  txqueuelen 0  (Local Loopback)  
        RX packets 0  bytes 0 (0.0 B)  
        RX errors 0  dropped 0  overruns 0  frame 0  
        TX packets 0  bytes 0 (0.0 B)  
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0  
  
virbr0: flags=4099  mtu 1500  
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255  
        ether ce:18:6f:2a:7f:0b  txqueuelen 0  (Ethernet)  
        RX packets 0  bytes 0 (0.0 B)  
        RX errors 0  dropped 0  overruns 0  frame 0  
        TX packets 0  bytes 0 (0.0 B)  
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0  
  
[root@server1 ~]#

3 Fedora 17 デスクトップに virt-viewer または virt-manager をインストール

Fedora 17 デスクトップ:

ゲストのグラフィカルコンソールに接続する手段が必要です - これには virt-manager を使用できます。あなたが Fedora 17 デスクトップを使用していると仮定します。

root になります…

su

… そして実行します…

yum install virt-manager libvirt qemu-system-x86 openssh-askpass

… これで virt-manager がインストールされます。

(もし Ubuntu 12.04 デスクトップを使用している場合、次のように virt-manager をインストールできます:

sudo apt-get install virt-manager

)

4 コマンドラインから Debian Squeeze ゲスト (イメージベース) を作成

Fedora 17 KVM ホスト:

さて、Fedora 17 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 イメージを作成することもできます (これは /var/lib/libvirt/images/ ディレクトリに作成してください。後で Fedora デスクトップから virt-manager を使用して仮想マシンを作成する方法を示しますので、virt-manager は /var/lib/libvirt/images/ ディレクトリ内の ISO イメージを探します)…

dd if=/dev/cdrom of=/var/lib/libvirt/images/debian-6.0.5-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.5-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.5-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 ~]#
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。