![]() |
インストールメモ VMware編 |
Windows OS上に、無償であるVMware Playerをインストールし、その上でCentOS 5.xを動かす環境の構築メモです。
2009.3.1現在のVMware Player最新バージョンは、2.5.1です。が、VMware Toolsが添付されなくなってしまったので、一つ前のバージョン系列である、2.0.5をインストールします。
2009.11.23現在、VMware Player 3.0が最新バージョンです。以下の機能が付加され、随分と制約がなくなりました。これからVMware playerを使うならば、3.0系を推奨します。
- VMware Toolsをネットワークインストール(ダウンロードも可)
- ゼロからOSをインストールする機能
- ハードディスクの容量増減
- CPU数が4つまで対応
VMware Playerは、あらかじめ用意された仮想マシン環境を実行する機能のみなので、ゼロからOSをインストールするにはちょっとした手間と外部ツールが必要になります。そこで、無償で公開されているCentOS 5.2の仮想マシン環境のファイルを入手して、これをベースに環境を作っていくことにします。
CentOS 5.2のインストールメディアからインストールする方法もありますが、ここではCentOS 5.2のVMware用イメージファイルを無償で公開しているSymbioSoft社のサイト(以下URL)から最低限のインストール済みイメージファイル(CentOS5MinimalVirtualAppliance-1.3.7z)を使用します。
上記URLから、"Virtual Appliances"のリンクを辿り、"CentOS 5.2 Minimal Virtual Appliance 1.3"のリンクを辿ります。そして、以下のファイルをダウンロードします。
ダウンロード後、上記ファイルを7zipツール(日本語版インストーラ置き場)を使って展開すると、以下ファイルが生成されます。
CentOSMinimalVirtualAppliance-1.3.vmx CentOSMinimalVirtualAppliance-1.3.vmdk CentOSMinimalVirtualAppliance-1.3-f001.vmdk : CentOSMinimalVirtualAppliance-1.3-f006.vmdk
vmdkファイル(テキスト)を見ると、ディスク設定が分かります。この場合は、2GBのディスクが5本(f001〜f005)になっています。
# Extent description RW 4193792 FLAT "CentOSMinimalVirtualAppliance-1.3-f001.vmdk" 0 RW 4193792 FLAT "CentOSMinimalVirtualAppliance-1.3-f002.vmdk" 0 RW 4193792 FLAT "CentOSMinimalVirtualAppliance-1.3-f003.vmdk" 0 RW 4193792 FLAT "CentOSMinimalVirtualAppliance-1.3-f004.vmdk" 0 RW 4193792 FLAT "CentOSMinimalVirtualAppliance-1.3-f005.vmdk" 0 RW 2560 FLAT "CentOSMinimalVirtualAppliance-1.3-f006.vmdk" 0
RWの次の数値は、512バイト単位です。
# The Disk Data Base #DDB ddb.encoding = "windows-1252" ddb.toolsVersion = "7240" ddb.adapterType = "lsilogic" ddb.geometry.sectors = "63" ddb.geometry.heads = "255" ddb.geometry.cylinders = "1305" ddb.virtualHWVersion = "4"
SCSIディスクとして認識し、SCSIドライバはLSI Logic相当です。
展開した中にある以下のファイルをダブルクリックすると、VMware playerが起動します。以後、このファイルのショートカットをデスクトップやスタートメニュー内に作成すると便利でしょう。
VMware Playerが起動し、Linuxが立ち上がると、コンソールログイン待ちとなります。コンソールには、この仮想マシンのIPアドレス、rootのパスワードが表示されています。まずはrootで、表示されたパスワードを用いてログインします。
この状態で、ファイルのパーティション構成は以下のとおりです。
Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 9014656 1040104 7509248 13% / /dev/sda1 101086 11705 84162 13% /boot tmpfs 257764 0 257764 0% /dev/shm
カーネルは、2.6.18-53.1.4.el5vm というVMware用バージョンとなっています。クロックティックは100Hzとなっており、VMware用に最適化されています。メモリは512MB割り当てられており、CPUは1個となっています。
VMwareを起動する設定ファイルCentOSMinimalVirtualAppliance-1.3.vmxの記述をカスタマイズします。VMwareを起動するマシンによって値を調整します。
memsize = "1024" VMwareが使用するメモリ(MB) numvcpus = "2" VMwareが使用するCPU数 mainMem.useNamedFile = "FALSE" VMware独自の仮想メモリファイル(*.vmem)を使わない
VMware Player (Workstation)では、CPU数は1か2かのどちらかしか選択できません。
デフォルトでは、英語配列キーボードの設定になっているので、JIS配列キーボードを使用していると記号の位置が違ってとまどいます。そこで、JIS配列キーボードを使用している場合、設定を変更します。
/etc/sysconfig/keyboard ファイルを修正します。
KEYBOARDTYPE="pc" KEYTABLE="jp106" ← デフォルトの"us"を"jp106"に変更する
/etc/yum.repo.d/ディレクトリに、デフォルトではCentOS-Base.repo、CentOS-Media.repo、VMware.repoの3つのファイルがあります。CentOS関係はこれから大量のパッケージをダウンロードすることになります。CentOS-Base.repoの中のサーバーを最寄りの応答のよい場所に変更しておきます。
デフォルトではmirrorlistから自動検索するのですが、遅いサーバーにあたることもあってしばしばエラーとなります。日本国内だとrikenを設定する記述をよく見かけますが、使用しているプロバイダーによって異なるので、tracertコマンド(Windows)などで調べるとよいでしょう。
[base] name=CentOS-$releasever - Base baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://ftp.riken.jp/Linux/centos/RPM-GPG-KEY-CentOS-5
[base]以外も、同様にmirrorlistから最寄りのサーバーに変更しておくとよいでしょう。
デフォルトでインストールされているカーネルは、kernel-vm-2.6.18-53.1.4.el5です。一方、VMwareのリポジトリには新しいカーネルが存在しています。
2009/3/7現在、以下が最新カーネルパッケージです。
kernel-2.6.18-92.1.22.el5.centos.plus.VMware.i686.rpm kernel-devel-2.6.18-92.1.22.el5.centos.plus.VMware.i686.rpm kernel-headers-2.6.18-92.1.22.el5.centos.plus.VMware.i686.rpm
このうちkernel-headersだけはなぜかデフォルトでインストール済みなので、kernelとkernel-develをインストールすることにします。
# yum install --disablerepo=* --enablerepo=vmware kernel :(中略) ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: kernel i686 2.6.18-92.1.22.el5.centos.plus.VMware vmware 16 M :(中略) # yum install kernel-devel :
再起動して、カーネルのバージョンを確認します。
# uname -r 2.6.18-92-1.22.el5.centos.plus.VMware #
Minimal Virtual Applianceは最小限のパッケージしかインストールされていません。そこで、追加パッケージをインストールします。ここでは、GNOME Desktopが起動し一式ツール類が入る環境をまずはインストールします。数百パッケージになるので、yumのgroupinstallコマンドでインストールします。
# yum groupinstall "System Tools" :(中略) Transaction Summary ============================================================================= Install 80 Package(s) Update 1 Package(s) Remove 0 Package(s) Total download size: 43 M Is this ok [y/N]:y :(中略) # yum groupinstall "Development Tools" :(中略) Transaction Summary ============================================================================= Install 81 Package(s) Update 11 Package(s) Remove 0 Package(s) Total download size: 70 M Is this ok [y/N]:y :(中略) # yum groupinstall "X Window System" :(中略) Transaction Summary ============================================================================= Install 140 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 72 M Is this ok [y/N]: y :(中略) #
GNOME Desktop Environmentを入れる際にCentOSの問題があるため、先に回避策を実行します。
# rpm -Uvh --nodeps http://ftp.riken.jp/Linux/centos/5/os/i386/CentOS/nautilus-sendto-0.7-5.fc6.i386.rpm : # yum groupinstall "GNOME Desktop Environment" :(中略) Transaction Summary ============================================================================= Install 114 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 152 M Is this ok [y/N]:y :(中略) #
ここで再起動します。次に起動すると、ログイン前に"Setup Agent"がCUI画面に現れます。認証方法、サービス、ネットワークなどの各種設定ができます。しばらく放っておくと、ログイン画面が現れます。
仮想マシン上のホストOSにVMware Toolsをインストールすることにより、ホストOSとゲストOS上のマウスポインタのスムーズな移動や時刻の同期、ファイル共有、描画速度向上などの機能が入ります。
VMware 2.0.5の場合、VMwareをインストールしたディレクトリ内に、Linux用のVMwareToolsを収めたISOイメージファイルがあります。
以下は、Windows Vista (64bit)上のD:ドライブにVMware Playerをインストールした場合の例です。
D:\Program Files (x86)\VMware\VMware Player\linux.iso
これを、CDドライブとしてホストOSのLinuxにマウントしてインストールします。
VMwareを起動する設定ファイルCentOSMinimalVirtualAppliance-1.3.vmxの記述をカスタマイズします。
ide1:0.fileName = "D:\Program Files (x86)\VMware\VMware Player\linux.iso"
デフォルトで、IDEバス1に、CD-ROMイメージを接続する設定がvmxファイルにあったので、
ide1:0.fileName = "cdrom.iso" : ide1:0.present = "FALSE" ide1:0.deviceType = "cdrom-image" ide1:0.autodetect = "FALSE" ide1:0.startConnected = "FALSE"
CD-ROMイメージファイル名を指定するide1:0.fileNameの設定と、IDE1:0を有効にする設定を以下の記述に修正します。
ide1:0.fileName = "D:\Program Files (x86)\VMware\VMware Player\linux.iso" ide1:0.present = "TRUE"
VMwareを起動し、VMware自体のウィンドウタイトル上にあるデバイスのリストでCD-ROM(IDE 1:0)をクリックし選択状態にします。
Linuxにログインし、
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom mount: block device /dev/cdrom is write-protected, mounting read-only [root@localhost ~]# df :(中略) /dev/hdc 104672 104672 0 100% /mnt/cdrom [root@localhost ~]# ls /mnt/cdrom VMwareTools-6.0.4-93057.i386.rpm VMwareTools-6.0.4-93057.tar.gz crpm -ivh /mnt/cdrom/VMwareTools-6.0.4-93057.i386.rpm Preparing... ########################################### [100%] 1:VMwareTools ########################################### [100%] [root@localhost ~]#
再起動します。(念のため)
インストール後最初に1回実行します。ただし、VMware Toolsは、カーネルに依存するので、カーネルを更新した場合、再度実行します。
# vmware-config-tools.pl Stopping VMware Tools services in the virtual machine: Guest operating system daemon: [ OK ] Trying to find a suitable vmmemctl module for your running kernel. None of the pre-built vmmemctl modules for VMware Tools is suitable for your running kernel. Do you want this program to try to build the vmmemctl module for your system (you need to have a C compiler installed on your system)? [yes] Using compiler "/usr/bin/gcc". Use Environment variable CC to override. What is the location of the directory of C header files that match your running kernel? [/lib/modules/2.6.18-92.1.22.el5.centos.plus.VMware/build/include] :(中略) None of the pre-built vmhgfs modules for VMware Tools is suitable for your running kernel. Do you want this program to try to build the vmhgfs module for your system (you need to have a C compiler installed on your system)? [yes] :(中略) None of the pre-built vmxnet modules for VMware Tools is suitable for your running kernel. Do you want this program to try to build the vmxnet module for your system (you need to have a C compiler installed on your system)? [yes] :(中略) None of the pre-built vmblock modules for VMware Tools is suitable for your running kernel. Do you want this program to try to build the vmblock module for your system (you need to have a C compiler installed on your system)? [yes] :(中略) [EXPERIMENTAL] The Virtual Machine Communication Interface (VMCI) service provides a new communication capability with the Host, primarily for development at the momemnt. Would you like to enable this feature? [no] Detected X.org version 7.1. Please choose one of the following display size that X will start with (1 - 15): [1] "640x480" [2] "800x600" [3] "1024x768" [4] "1152x864" [5] "1280x800" [6] "1152x900" [7] "1280x1024" [8] "1376x1032" [9]< "1400x900" [10] "1400x1050" [11] "1440x900" [12] "1680x1050" [13] "1600x1200" [14] "1920x1200" [15] "2364x1773" Please enter a number between 1 and 15: [9] 3 :(中略) The configuration of VMware Tools 6.0.4 build-93057 for Linux for this running kernel completed successfully. :(中略) #
再起動します。
vmhgfsは、環境などによって使えないことがあります。
ユーザ管理は、「CentOS 5インストールメモ」ページのユーザーアカウント設定を参照
ログイン後、startxコマンドでGNOMEデスクトップが起動します。デフォルトでは英語なので、日本語で起動するための追加パッケージのインストールと設定を行います。
日本語フォント(固定フォント各種、TrueTypeのさざなみ)をインストールします。
# yum install fonts-japanese
日本語入力メソッド SCIM+Anthyをインストールします。
# yum install scim-anthy
システムの言語設定を日本語にします。CUIの画面が出るので、[Japanese]を選択します。
# system-config-language :
再起動してXを起動します。
$ startx
10GBでは、容量が不足するので、追加のディスクを設定します。VMware用のディスクイメージファイルを生成するツールは無償のVMware Playerにはないので、別途フリーのツールを利用します。
本記事では、NHCツールをつかってディスクイメージファイルを作成します。
上記NHCのリンクから、2009年3月1日現在の最新版である、NHC0A31A.LZH をダウンロードします。
LHA圧縮形式を解凍できるツールで展開します。すると、中にNHC.exeが入っているので、これを実行します。(GUIプログラム)
NHCツールを実行し(Windows Vistaの場合、右クリックしてポップアップメニューの[管理者として実行]で)、以下手順を実行します。
AdditionalSCSI-1.vmdk
というファイルを生成したとします。
ブロックタイプがフラットの場合、最初から容量分のファイルサイズが確保され、ノーマルだと最初は小容量だけ確保されます。
大容量のディスクを作成する場合、ブロックタイプがノーマルだと徐々にファイルサイズが増えるため、ホストOS上でフラグメントが発生する可能性があります。一定サイズで分割するか(NHCの「VMware VMDK形式への変換」画面で[分割セクタ数]にサイズを入力)、ブロックタイプをフラットにするとよいと思われます。
VMwareの仮想マシン設定ファイルに、作成したディスクイメージファイルをSCSIディスクとして接続する設定を記述します。
CentOSMinimalVirtualAppliance-1.3.vmxには、初期設定で以下のSCSI接続が記述されています。
scsi0:0.fileName = "CentOSMinimalVirtualAppliance-1.3.vmdk" scsi0.present = "TRUE" scsi0.virtualdev = "lsilogic" scsi0:0.present = "TRUE" scsi0:0.deviceType = "disk" scsi0:0.mode = "independent-persistent" scsi0:0.redo = "" scsi0:0.writeThrough = "TRUE" scsi0:0.startConnected = "FALSE"
ここに、以下を追記します。基本はscsi0:0と同じで、fileNameだけ変えた内容です。
scsi0:1.fileName = "AdditionalSCSI-1.vmdk" scsi0:1.present = "TRUE" scsi0:1.deviceType = "disk" scsi0:1.mode = "independent-persistent" scsi0:1.redo = "" scsi0:1.writeThrough = "TRUE" scsi0:1.startConnected = "FALSE"
設定ファイル記述後、仮想マシンを起動します。SCSIで2番目のディスクになるので、/dev/sdb で扱われます。
起動後、fdiskコマンドで新たに接続したSCSIディスクにパーティションを作成します。
VMwareの仮想マシン設定ファイル(*.vmx)に以下を追記します。
mks.noBeep = "TRUE"