仮想化 · 3 min read · Dec 23, 2025

OpenSUSE 12.2 サーバーでの KVM を使用した仮想化

OpenSUSE 12.2 サーバーでの KVM を使用した仮想化

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

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

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

1 前提条件

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

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

2 KVM のインストール

OpenSUSE 12.2 KVM ホスト:

まず、CPU がハードウェア仮想化をサポートしているかどうかを確認します。これが当てはまる場合、コマンド

egrep '(vmx|svm)' --color=always /proc/cpuinfo

は何かを表示するはずです。例えば、次のようになります:

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 rep_good extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv
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
server1:~ #

何も表示されない場合、プロセッサはハードウェア仮想化をサポートしていないため、ここで停止する必要があります。

KVM と virtinst(仮想マシンを作成するためのツール)をインストールするには、次のコマンドを実行します。

zypper install  kvm libvirt libvirt-python qemu virt-manager

残念ながら libvirt-python は package patterns-openSUSE-minimal_base-conflicts と競合します。したがって、そのパッケージをアンインストールすることを選択する必要があります:

問題: libvirt-python-0.9.11.4-1.2.1.x86_64 は python = 2.7 を必要としますが、この要件は提供できません
アンインストール可能なプロバイダー: python-2.7.3-3.6.1.x86_64[openSUSE-12.2-1.6]
python-2.7.3-3.6.1.i586[repo-oss]
python-2.7.3-3.6.1.x86_64[repo-oss]
解決策 1: 次のアクションが実行されます:
libvirt-python-0.9.11.4-1.2.1.x86_64 をインストールしない
virt-manager-0.9.4-1.6.1.x86_64 をインストールしない
解決策 2: 次のアクションが実行されます:
virt-manager-0.9.4-1.6.1.x86_64 をインストールしない
libvirt-python-0.9.11.4-1.2.1.x86_64 をインストールしない
解決策 3: patterns-openSUSE-minimal_base-conflicts-12.2-5.5.1.x86_64 のアンインストール
解決策 4: libvirt-python-0.9.11.4-1.2.1.x86_64 の依存関係の一部を無視して壊す

上記の解決策から番号を選択するか、キャンセルします [1/2/3/4/c] (c): <– 3

次に、libvirtd のシステム起動リンクを作成します…

systemctl enable  libvirtd.service

… そして libvirt デーモンを起動します:

systemctl start libvirtd.service

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

virsh -c qemu:///system list

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

server1:~ # virsh -c qemu:///system list
WARNING: no socket to connect to
Id Name State

———————————-

server1:~ #

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

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

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

zypper install  bridge-utils

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

ブリッジを構成するには、次のように /etc/sysconfig/network/ifcfg-br0 ファイルを作成します(/etc/sysconfig/network/ifcfg-eth0 ファイルの IPADDR 設定を使用してください):

vi /etc/sysconfig/network/ifcfg-br0

| STARTMODE='auto' BOOTPROTO='static' IPADDR='192.168.0.100/24' MTU='' NETMASK='' NETWORK='' BROADCAST='' USERCONTROL=no NAME='Bridge 0' NM_CONTROLLED=no BRIDGE='yes' BRIDGE_PORTS='eth0' BRIDGE_AGEINGTIME='300' BRIDGE_FORWARDDELAY='0' BRIDGE_MAXAGE='20' BRIDGE_PATHCOSTS='19' BRIDGE_PORTPRIORITIES= BRIDGE_PRIORITY= BRIDGE_STP='on' |

(「有効な vim バイナリパッケージがインストールされていません。”vim”、”vim-enhanced”、または “gvim” のいずれかをインストールしてください。」というメッセージが表示された場合は、次のコマンドを実行してください。

zypper install  vim

vi をインストールして再試行してください。)

次に、/etc/sysconfig/network/ifcfg-eth0 を次のように変更します(IPADDR を 0.0.0.0 に設定し、STARTMODE を hotplug に変更します):

vi /etc/sysconfig/network/ifcfg-eth0

| BOOTPROTO='static' BROADCAST='' ETHTOOL_OPTIONS='' IPADDR='0.0.0.0' MTU='' NAME='MCP77 Ethernet' NETMASK='' NETWORK='' REMOTE_IPADDR='' STARTMODE='hotplug' USERCONTROL='no' |

次に、ネットワークを再起動します:

systemctl restart network.service

その後、次のコマンドを実行します。

ifconfig

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

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:92 errors:0 dropped:0 overruns:0 frame:0
TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12716 (12.4 Kb) TX bytes:5961 (5.8 Kb)

eth0 Link encap:Ethernet HWaddr 00:1E:90:F3:F0:02
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:131711 errors:0 dropped:0 overruns:0 frame:0
TX packets:80954 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:185764801 (177.1 Mb) TX bytes:6374023 (6.0 Mb)
Interrupt:41 Base address:0x8000

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:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:860 (860.0 b) TX bytes:860 (860.0 b)

server1:~ #

3 OpenSUSE 12.1 デスクトップに virt-manager をインストール

OpenSUSE 12.2 デスクトップ:

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

root になります…

su

… そして実行します…

zypper install  virt-manager libvirt

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

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

sudo apt-get install virt-manager

)

4 Debian Squeeze ゲスト (イメージベース) の作成

OpenSUSE 12.2 KVM ホスト:

さて、OpenSUSE 12.2 KVM ホストに戻りましょう。

次のコマンドを見てください。

virt-install --help 

使い方を学ぶために。

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

dd if=/dev/cdrom of=/var/lib/libvirt/images/debian-6.0.0-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.0-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm

出力は次のようになります:

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.0-amd64-netinst.iso –vnc –noautoconsole –os-type linux –os-variant debiansqueeze –accelerate –network=bridge:br0 –hvm
WARNING: no socket to connect to

インストールを開始しています…
‘vm10.img’ を割り当てています | 12 GB 00:00
ドメインを作成しています… | 0 B 00:00
ドメインのインストールはまだ進行中です。
コンソールに再接続してインストールプロセスを完了できます。
server1:~ #

Share: X/Twitter LinkedIn

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

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