仮想化 · 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/configSELINUX=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-kvmlibvirt デーモンのシステム起動リンクを作成し、起動します:
systemctl enable libvirtd.service
systemctl start libvirtd.serviceKVM が正常にインストールされたか確認するには、次のコマンドを実行します:
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-installvirt-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 ~]#新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。