ページ更新: 2009-11-24 (火) (3309日前)

関連: ソフト/VMware

(2009-11-23 新規作成)

VMware Server 2.0.xを、以下の環境で動かそうとしてみた。

ホストVMware Server結果
linux kernel 32bit + bigmem32bit版成功
linux kernel 64bit32bit版ためしてない
linux kernel 64bit64bit版成功
linux kernel 64bit (i386 用の最小限の AMD64 動作 ※1)64bit版失敗
  • ※1: 32bit版 に linux-image-2.6-amd64, linux-headers-2.6-amd64, amd64-libs, amd64-libs-dev をインストール

目次

[編集]

ハードウェア構成 #

PC/GIGABYTE EP45-UD3P, Linux/cpuinfo#Q6700

  • CPU: Intel Core 2 Quad Q6700
  • メモリ: 8GB (2GB ×4)
  • GPU: nVidia FX5200
  • NIC: Intel Gigabit CT Desktop Adapter
  • CD: DVD (IDE)
  • HDD: SATA 120GB (BIOSでAHCI設定済み)
[編集]

Debian 5.0.3 + VMware Server 2.0.2 #

[編集]

VMware-server-2.0.2-203138.i386 + linux-image-2.6.26-2-686-bigmem #

Debian -- 最小の CD を使って、ネットワークインストールする の debian-503-i386-netinst.iso を用いて、インストールした。パッケージは「標準システム」のみを選択した。

VMware Serverは VMware-server-2.0.2-203138.i386.tar.gz を用いた。

インストール直後のカーネルと、メモリ (約3.5GBが使用可能):

# uname -a
Linux host 2.6.26-2-686 #1 SMP Wed Nov 4 20:45:37 UTC 2009 i686 GNU/Linux

# free -m
             total       used       free     shared    buffers     cached
Mem:          3546        156       3389          0         11        116
-/+ buffers/cache:         28       3517
Swap:         2588          0       2588

bigmemカーネル (Debian -- lenny の linux-image-2.6-686-bigmem パッケージに関する詳細) をインストールして、再起動:

# aptitude install linux-image-2.6-686-bigmem

# shutdown -r now

bigmemカーネルとメモリ (約8GBが使用可能):

# uname -a
Linux host 2.6.26-2-686-bigmem #1 SMP Wed Nov 4 21:12:12 UTC 2009 i686 GNU/Linux

# free -m
             total       used       free     shared    buffers     cached
Mem:          8118        117       8000          0          7         82
-/+ buffers/cache:         28       8090
Swap:         2588          0       2588

VMwareに必要なパッケージをインストール:

# aptitude install psmisc build-essential linux-headsers-`uname -r`

VMware Server 2.0.2 i386 をインストール:

# ls
VMware-server-2.0.2-203138.i386.tar.gz

# tar zxf VMware-server-2.0.2-203138.i386.tar.gz

# ls
VMware-server-2.0.2-203138.i386.tar.gz  vmware-server-distrib/

# cd vmware-server-distrib/

# ./vmware-install.pl --default

# /usr/bin/vmware-config.pl
 :
None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel.  Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes] ^C

# CC=/usr/bin/gcc-4.1 vmware-config.pl --default
 :
The configuration of VMware Server 2.0.2 build-203138 for Linux for this
running kernel completed successfully.
#

VMware Infrastructure Web Access (http://host:8222/) に接続して、rootでログインし、メニューでシリアル番号を設定し、データストアを追加(isoイメージ置き場)、VMを作成してisoからインストール、動作確認OK。

[編集]

VMware-server-2.0.2-203138.x86_64 + linux-image-2.6.26-2-amd64 #

Debian -- 最小の CD を使って、ネットワークインストールする の debian-503-amd64-netinst.iso を用いて、インストールした。パッケージは「標準システム」のみを選択した。

VMware Server は、VMware-server-2.0.2-203138.x86_64.tar.gz を用いた。

それ以外の手順は #linux_2_6_26_2_686_bigmem と同一なので、この節では省略する。

特に問題なく動作した。

[編集]

VMware-server-2.0.2-203138.x86_64 + linux-image-2.6.26-2-amd64 + i386 用の最小限の AMD64 動作 #

失敗。VMware Infrastructure Web Accessにログインできず。

Debian -- 最小の CD を使って、ネットワークインストールする の debian-503-i386-netinst.iso を用いて、インストールした。パッケージは「標準システム」のみを選択した。

VMware Server は、VMware-server-2.0.2-203138.x86_64.tar.gz を用いた。

amd64カーネルをインストール:

# aptitude install linux-image-2.6-amd64
# shutdown -r now

amd64-libsと、VMware Serverで使うパッケージをインストール:

# aptitude install amd64-libs amd64-libs-dev
# aptitude install linux-headers-2.6-amd64
# aptitude install build-essential psmisc

VMware Server 2.0.2 x86_64 をインストールしてみる……エラー:

# tar zxf VMware-server-2.0.2-203138.x86_64.tar.gz
# cd vmware-server-distrib
# ./vmware-install.pl --default
This version of "VMware Server" is incompatible with this operating system.
Please install the "i386" version of this program instead.

Execution aborted.
#

「64bit環境」を判定している部分を探して、書き換え可能にする:

# grep -l is64Bit /usr/bin/vmware*
/usr/bin/vmware-config.pl
/usr/bin/vmware-uninstall.pl

# chmod +w bin/vmware-uninstall.pl
# chmod +w bin/vmware-config.pl

vmware-uninstall.pl と vmware-config.pl の以下の64bit判定部分を書き換えて、常に64bitと見なすようにする:

sub is64BitUserLand {
  if (vmware_product() eq 'tools-for-solaris') {
    if (direct_command(shell_string($gHelper{'isainfo'}) . ' -b') =~ /64/) {
      return 1;
    } else {
      return 0;
    }
  }

  if ($Config::Config{archname} =~ /^(x86_64|amd64)-/) {
    return 1;
  } else {
    return 1;   // 書き換え
  }
}

VMware Serverをインストールする……成功:

# ./vmware-install.pl --default

vmware-config.plを実行して、ライセンス表示を読み終えたら、ctrl-Cで止める (初回は--defaultを付けられないため):

# /usr/bin/vmware-config.pl
 :
Do you accept? (yes/no) yes

Thank you.

None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel.  Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes] ^C

#

vmware-config.plを、CCと--defaultを指定して実行する……VIX APIのインストールが失敗:

# CC=/usr/bin/gcc-4.1 /usr/bin/vmware-config.pl --default
 :
This version of "VMware VIX API" is incompatible with this operating system.
Please install the "i386" version of this program instead.

Execution aborted.

The  VMware VIX API failed to install. Please correct the problem and run
vmware-config.pl again.

Starting VMware services:
   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   Virtual ethernet                                                    done
   Bridged networking on /dev/vmnet0                                   done
   Host-only networking on /dev/vmnet1 (background)                    done
   DHCP server on /dev/vmnet1                                          done
   Host-only networking on /dev/vmnet8 (background)                    done
   DHCP server on /dev/vmnet8                                          done
   NAT service on /dev/vmnet8                                          done
   VMware Server Authentication Daemon (background)                    done
   Shared Memory Available                                             done
Starting VMware management services:
   VMware Server Host Agent (background)                               done
   VMware Virtual Infrastructure Web Access
Starting VMware autostart virtual machines:
   Virtual machines                                                    done

The configuration of VMware Server 2.0.2 build-203138 for Linux for this
running kernel completed successfully.
#

VIX APIインストーラの64bit判定部分も同様に書き換える:

# tar zxf /usr/lib/vmware/vmware-vix/vmware-vix.tar.gz
# cd vmware-vix-distrib/
# chmod +w bin/vmware-uninstall-vix.pl
# diff -U3 bin/vmware-uninstall-vix.pl~ bin/vmware-uninstall-vix.pl
--- bin/vmware-uninstall-vix.pl~        2009-10-21 10:46:43.000000000 +0900
+++ bin/vmware-uninstall-vix.pl 2009-11-22 18:05:42.000000000 +0900
@@ -547,7 +547,7 @@
   if ($Config::Config{archname} =~ /^(x86_64|amd64)-/) {
     return 1;
   } else {
-    return 0;
+    return 1;
   }
 }

VIX APIをインストールする:

# ./vmware-install.pl --default
:
The installation of VMware VIX API 1.6.2 build-203138 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/vmware-uninstall-vix.pl".

Enjoy,

--the VMware team
#

VMware Infrastructure Web Access (http://host:8222/) にログインできない。/var/log/vmware/hostd.log を見ると、libpam.so.0が見つからないようだ:

[2009-11-22 18:07:47.541 'App' 1099618640 error] System PAM libraries are unusable: libpam.so.0: cannot open s
hared object file: No such file or directory
[2009-11-22 18:07:47.542 'ha-eventmgr' 1099618640 info] Event 8 : Failed login attempt for root@127.0.0.1
[2009-11-22 18:07:47.542 'PropertyProvider' 1099618640 verbose] RecordOp ASSIGN: latestEvent, ha-eventmgr
[2009-11-22 18:07:47.542 'Vmomi' 1099618640 info] Activation [N5Vmomi10ActivationE:0x4ff1400] : Invoke done [l
ogin] on [vim.SessionManager:ha-sessionmgr]
[2009-11-22 18:07:47.542 'Vmomi' 1099618640 info] Throw vim.fault.InvalidLogin
[2009-11-22 18:07:47.542 'Vmomi' 1099618640 info] Result:
(vim.fault.InvalidLogin) {
   dynamicType = <unset>,
   msg = ""
}

/lib64/ に libpam* が存在しない:

# find /lib -name 'libpam*'
/lib/libpam.so.0.81.12
/lib/libpam_misc.so.0
/lib/libpam_misc.so.0.81.3
/lib/libpamc.so.0
/lib/libpam.so.0
/lib/libpamc.so.0.81.0

# find /lib64/ -name 'libpam*'
#

そこで、amd64機の /lib/libpam* (こちらは64bit版) を、このPCの/lib64/にコピーして、再度VMware Infrastructure Web Accessにログインしてみる…失敗。

/var/log/vmware/hostd.log を見ると、PAM はロードできたが、まだログインに失敗している:

[2009-11-22 19:54:25.105 'App' 140479011849952 info] PAM symbols loaded.
[2009-11-22 19:54:25.140 'ha-eventmgr' 140479011849952 info] Event 1 : Failed login attempt for root@127.0.0.1
[2009-11-22 19:54:25.140 'PropertyProvider' 140479011849952 verbose] RecordOp ASSIGN: latestEvent, ha-eventmgr
[2009-11-22 19:54:25.232 'Vmomi' 140479011849952 info] Activation [N5Vmomi10ActivationE:0x4e19220] : Invoke do
ne [login] on [vim.SessionManager:ha-sessionmgr]
[2009-11-22 19:54:25.232 'Vmomi' 140479011849952 info] Throw vim.fault.InvalidLogin
[2009-11-22 19:54:25.232 'Vmomi' 140479011849952 info] Result:
(vim.fault.InvalidLogin) {
   dynamicType = <unset>,
   msg = ""
}

これを直すにはPAMを64bit用にちゃんと一式揃えればよいと思うが、調べるのが面倒になったので、あきらめた。