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

Fedora 10 サーバーでの Enomalism 2 を使用した KVM 仮想化

Fedora 10 サーバーでの Enomalism 2 を使用した KVM 仮想化

バージョン 1.0
著者: Falko Timme

Enomalism ECP (Elastic Computing Platform) は、1 つ以上のホストシステム上で仮想マシンを設計、展開、管理するためのウェブベースのコントロールパネルを提供します (複数のシステムの場合、クラスターまたはクラウドと呼びます)。この記事では、Fedora 10 サーバー上で KVM ゲストを管理するために Enomalism (Enomaly とも呼ばれます) を使用する方法を示します。

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

1 前提条件

ここでは、ホスト名 server1.example.com と IP アドレス 192.168.0.100 を持つ Fedora 10 サーバーを KVM ホストとして使用しています。このサーバーは、DHCP サーバー (ルーター上、IP 192.168.0.1) を持つプライベートネットワークにあります。パブリックネットワークで使用する場合、Enomalism の使用方法は異なる場合があります。

始める前に、次のコマンドを実行してください。

system-config-firewall

ファイアウォールを無効にします。

また、SELinux が無効になっていることを確認してください。/etc/selinux/config を開き…

vi /etc/selinux/config

… SELINUX を disabled に設定します:

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

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

setenforce 0

… 変更を有効にするために。

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 rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch  
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 nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch  
[root@server1 ~]#

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

2 Enomalism 2 のインストール

まず、次のコマンドを実行します:

wget http://downloads.sourceforge.net/enomalism/enomalism.public  
rpm --import enomalism.public
wget http://downloads.sourceforge.net/enomalism/enomalism001.pubkey.asc  
rpm --import enomalism001.pubkey.asc

KVM と Qemu をインストールするために、次のコマンドを実行します。

yum install libvirt libvirt-python kvm qemu
ln -s /usr/bin/qemu-kvm /usr/bin/kvm

次に、libvirt デーモンを起動します:

/etc/init.d/libvirtd start

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

virsh -c qemu:///system list

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

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

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

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

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

yum install bridge-utils

… そしてブリッジを構成します。NetworkManager のシステム起動リンクを削除し、network のシステム起動リンクを作成します:

chkconfig --del NetworkManager  
chkconfig --levels 235 network on

次に、/etc/sysconfig/network-scripts/ifcfg-virbr0 ファイルを作成します (BOOTPROTO、DNS1 (および他の DNS 設定がある場合)、GATEWAY、IPADDR、NETMASK、および SEARCH の値は /etc/sysconfig/network-scripts/ifcfg-eth0 ファイルから取得してください):

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

| DEVICE=virbr0 TYPE=Bridge BOOTPROTO=static DNS1=145.253.2.75 GATEWAY=192.168.0.1 IPADDR=192.168.0.100 NETMASK=255.255.255.0 ONBOOT=yes SEARCH="example.com" |

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

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

| # nVidia Corporation Unknown (0x0760) DEVICE=eth0 #BOOTPROTO=static #DNS1=145.253.2.75 #GATEWAY=192.168.0.1 HWADDR=00:1e:90:f3:f0:02 #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 ONBOOT=yes #SEARCH="example.com" BRIDGE=virbr0 |

次に、システムを再起動します:

reboot

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

ifconfig

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

[root@server1 ~]# ifconfig  
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:1611 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:1986 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:133898 (130.7 KiB)  TX bytes:2092110 (1.9 MiB)  
          Interrupt:22 Base address:0xa000  
  
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:17 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:17 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:1040 (1.0 KiB)  TX bytes:1040 (1.0 KiB)  
  
virbr0    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:1533 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:1936 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:95507 (93.2 KiB)  TX bytes:2076556 (1.9 MiB)  
  
[root@server1 ~]#

また、KVM カーネルモジュールもロードされているはずです:

lsmod | grep -i kvm
[root@server1 ~]# lsmod | grep -i kvm  
kvm_amd                37644  2  
kvm                   137976  1 kvm_amd  
[root@server1 ~]#

(この出力は AMD-V プロセッサを搭載したシステムからのものです。システムが Intel VT CPU を使用している場合、kvm_intel のような出力が表示されるはずです。)

次に、最新の Enomalism.rpm パッケージを http://sourceforge.net/project/showfiles.php?group_id=164855&package_id=186866&release_id=667675 からダウンロードします。例えば、次のように(PY2.5 パッケージを取得することを確認してください。PY2.4 ではありません!):

wget http://dfn.dl.sourceforge.net/sourceforge/enomalism/enomalism2-2.2.3.noarch.PY2.5.rpm

ダウンロードが完了したら、次のように Enomalism をインストールします:

yum install enomalism2-2.2.3.noarch.PY2.5.rpm

次に、MySQL のシステム起動リンクを作成し (システムが起動するたびに MySQL が自動的に起動するように)、MySQL サーバーを起動します:

chkconfig --levels 235 mysqld on  
/etc/init.d/mysqld start

次のコマンドを実行して、root ユーザーのパスワードを設定します (さもなければ誰でもあなたの MySQL データベースにアクセスできます!)。

mysqladmin -u root password yourrootsqlpassword  
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

最後のコマンドがエラーを返した場合…

[root@server1 named]# mysqladmin -h server1.example.com -u root password yourrootsqlpassword  
mysqladmin: connect to server at 'server1.example.com' failed  
error: 'Access denied for user 'root'@'localhost' (using password: NO)'  
[root@server1 named]#

… 次のようにしてパスワードを設定できます:MySQL に接続します。

mysql -u root -p

MySQL root ユーザーのパスワードを入力します。次に、MySQL シェルで次のコマンドを実行します:

mysql> USE mysql;
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = 'server1.example.com' AND User = 'root';
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = '127.0.0.1' AND User = 'root';

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

mysql> SELECT * FROM user;

すべての行でユーザーが root である場合、パスワードが設定されていることを確認します。

すべてが正常に見える場合、次のコマンドを実行します。

mysql> FLUSH PRIVILEGES;

… そして MySQL シェルを終了します:

mysql> quit;

次に、Enomalism を構成する必要があります。次のコマンドを実行します。

cd /opt/enomalism2  
scripts/init-db.sh yourrootsqlpassword enomalism enomalismpassword

yourrootsqlpassword を MySQL root パスワードに置き換えます。enomalism は Enomalism が MySQL データベースに接続するために使用するデータベースユーザーの名前で、enomalismpassword はユーザー enomalism のデータベースパスワードです。どちらもお好みのユーザー名/パスワードに置き換えてください。

/opt/enomalism2 ディレクトリには server1.example.com.cfg というファイルがあるはずです。そのファイルを /opt/enomalism2/config ディレクトリにコピーします:

cp server1.example.com.cfg config/server1.example.com.cfg

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

uuidgen

生成された ID をメモしておきます (次のステップで /opt/enomalism2/config/server1.example.com.cfg を変更する際に必要です):

[root@server1 enomalism2]# uuidgen  
2d54480f-66c6-4c15-aafc-7242208456e0  
[root@server1 enomalism2]#

次に、/opt/enomalism2/config/server1.example.com.cfg を編集します:

vi config/server1.example.com.cfg

次の 4 つの値を調整してください:

| [...] sqlobject.dburi="mysql://enomalism:enomalismpassword@localhost:3306/enomalism2" [...] enomalism2.baseurl="http://192.168.0.100:8080/rest/" [...] enomalism2.ip_addr="192.168.0.100" [...] enomalism2.self="2d54480f-66c6-4c15-aafc-7242208456e0" [...] |

MySQL データベースの正しいユーザー名とパスワード、次の 2 つの設定の正しい IP アドレスを使用していることを確認してください。enomalism2.self 行には、uuidgen で生成された ID を使用する必要があります。

また、そのファイルには enomalism2.drivestorage=’file’ と enomalism2.storagetarget=’file:///xen/‘ という設定もあります。現在、Enomalism は LVM をサポートしていないため、これらの設定を変更しないでください!

次に、/etc/libvirt/qemu.conf を編集します…

vi /etc/libvirt/qemu.conf

… そして、vnc_listen = “0.0.0.0” の行のコメントを外します:

| [...] vnc_listen = "0.0.0.0" [...] |

(さもなければ、リモートマシンから VNC 経由で KVM ゲストに接続できなくなります!)

その後、libvirtd を再起動します:

/etc/init.d/libvirtd restart

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

chkconfig --levels 235 enomalism2.sh on  
/etc/init.d/enomalism2.sh start

次に、ブラウザを開いて http://192.168.0.100:8080 にアクセスします。これで Enomalism のインストールが完了するはずです:

Click here to use Enomalism2! リンクをクリックします:

Share: X/Twitter LinkedIn

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

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