「VMware」の版間の差分

提供: Wikinote
移動: 案内検索
(DHCP でホストの IP アドレスを固定する)
(メモ)
 
(同じ利用者による、間の2版が非表示)
行2: 行2:
  
 
== VMware Server 2.0 ==
 
== VMware Server 2.0 ==
 
=== DHCP でホストの IP アドレスを固定する ===
 
 
古いメモ <toggledisplay>
 
設定ファイルは /etc/vmware/vmnet?/dhcpd/dhcpd.conf であるが、書き込み権限がない。
 
  [root@lab ~]# ll /etc/vmware/vmnet8/dhcpd/
 
  合計 12
 
★-r--r--r-- 1 root root  765  3月 28 01:42 dhcpd.conf
 
  -rw-r--r-- 1 root root  539  4月  2 20:39 dhcpd.leases
 
  -rw-r--r-- 1 root root 1271  4月  2 20:39 dhcpd.leases~
 
これは、勝手に書き換えない方が良いということだろうか?
 
設定スクリプトとかがあるのかもしれない。
 
 
だがやる。
 
 
まず、VM の MAC アドレスを確認する。ゲスト OS で <code>ifconfig</code> を実行してもよいが、
 
立ち上げていない場合などは面倒なので、vmx ファイルを見ればよい。
 
[root@lab ~]# grep Address /vmware/vms/centos52/centos52.vmx
 
ethernet0.generatedAddress = "00:0c:29:cb:d4:aa"★
 
ethernet0.generatedAddressOffset = "0"
 
 
上述の設定ファイルを編集する。
 
[root@lab ~]# vi /etc/vmware/vmnet8/dhcpd/dhcpd.conf
 
                    :
 
subnet 192.168.8.0 netmask 255.255.255.0 {
 
    range 192.168.8.128 192.168.8.254;
 
    option broadcast-address 192.168.8.255;
 
    option domain-name-servers 192.168.8.2;
 
    option domain-name "localdomain";
 
    option routers 192.168.8.2;
 
 
    host centos52 { ★追加する
 
        hardware ethernet 00:0c:29:cb:d4:aa;
 
        fixed-address 192.168.8.52;
 
    }
 
}
 
 
VMware を再起動する。(もちろん、ゲストも終了しておく。)
 
# /etc/init.d/vmware restart
 
</toggledisplay>
 
  
 
=== メモ ===
 
=== メモ ===
 +
* [http://www.vmware.com/support/pubs/server_pubs.html VMware Server Documentation]
 +
* [http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427 Timekeeping best practices for Linux guests] これはいい情報
 
* [http://d.hatena.ne.jp/pyopyopyo/20081011/p1 VMware Server 2.0 をコマンドラインから操作する方法]
 
* [http://d.hatena.ne.jp/pyopyopyo/20081011/p1 VMware Server 2.0 をコマンドラインから操作する方法]
 
* 電源 ON
 
* 電源 ON
行89: 行51:
 
  48    centos39  [standard] centos39/centos39.vmx  rhel3Guest    vmx-07              off
 
  48    centos39  [standard] centos39/centos39.vmx  rhel3Guest    vmx-07              off
 
  64    suse103    [standard] suse103/suse103.vmx    sles10Guest  vmx-07              on
 
  64    suse103    [standard] suse103/suse103.vmx    sles10Guest  vmx-07              on
 +
 +
=== ホストの IP アドレスを固定する ===
 +
 +
vmnet の dhcpd.conf を書き換える方法をとっていたが、VMware をバージョンアップした際に書き換えられてしまった。
 +
アクセス権からも、自分で書き換えることは想定されていない可能性が高いので、この方法はよろしくないようだ。
 +
 +
ここに書くのはどうかと思うが、いちおうゲスト側で固定 IP にする方法を書いておく。。
 +
 +
/etc/sysconfig/network-scripts/ifcfg-ethX を以下のように書き換えればよい。
 +
 +
DEVICE=eth0
 +
#BOOTPROTO=dhcp ★コメントアウト
 +
BOOTPROTO=none  ★追記
 +
HWADDR=00:0C:29:AE:5A:CE
 +
IPADDR=192.168.8.47  ★追記
 +
NETMASK=255.255.255.0 ★追記
 +
ONBOOT=yes
 +
TYPE=Ethernet
 +
 +
ちなみに、NETMASK は書かなくてもよい (IPADDR から推測される)。
 +
NETWORK、BROADCAST は書かない方がよい。
 +
それぞれ、IPADDR と NETMASK から自動的に計算されるからである。
 +
(参照:[[Linux/ネットワーク]])
 +
 +
古いメモ <toggledisplay>
 +
設定ファイルは /etc/vmware/vmnet?/dhcpd/dhcpd.conf であるが、書き込み権限がない。
 +
  [root@lab ~]# ll /etc/vmware/vmnet8/dhcpd/
 +
  合計 12
 +
★-r--r--r-- 1 root root  765  3月 28 01:42 dhcpd.conf
 +
  -rw-r--r-- 1 root root  539  4月  2 20:39 dhcpd.leases
 +
  -rw-r--r-- 1 root root 1271  4月  2 20:39 dhcpd.leases~
 +
これは、勝手に書き換えない方が良いということだろうか?
 +
設定スクリプトとかがあるのかもしれない。
 +
 +
だがやる。
 +
 +
まず、VM の MAC アドレスを確認する。ゲスト OS で <code>ifconfig</code> を実行してもよいが、
 +
立ち上げていない場合などは面倒なので、vmx ファイルを見ればよい。
 +
[root@lab ~]# grep Address /vmware/vms/centos52/centos52.vmx
 +
ethernet0.generatedAddress = "00:0c:29:cb:d4:aa"★
 +
ethernet0.generatedAddressOffset = "0"
 +
 +
上述の設定ファイルを編集する。
 +
[root@lab ~]# vi /etc/vmware/vmnet8/dhcpd/dhcpd.conf
 +
                    :
 +
subnet 192.168.8.0 netmask 255.255.255.0 {
 +
    range 192.168.8.128 192.168.8.254;
 +
    option broadcast-address 192.168.8.255;
 +
    option domain-name-servers 192.168.8.2;
 +
    option domain-name "localdomain";
 +
    option routers 192.168.8.2;
 +
 +
    host centos52 { ★追加する
 +
        hardware ethernet 00:0c:29:cb:d4:aa;
 +
        fixed-address 192.168.8.52;
 +
    }
 +
}
 +
 +
VMware を再起動する。(もちろん、ゲストも終了しておく。)
 +
# /etc/init.d/vmware restart
 +
</toggledisplay>

2011年4月21日 (木) 18:27時点における最新版

えす・いー もすなる仮想化といふものを、をたく もしてみむとて、するなり。

VMware Server 2.0

メモ

# vmware-vim-cmd vmsvc/power.on 16
  • VM リスト
# vmware-vim-cmd vmsvc/getallvms
Vmid     Name                   File                  Guest OS     Version   Annotation
16     centos52   [standard] centos52/centos52.vmx   rhel5Guest    vmx-07
32     centos47   [standard] centos47/centos47.vmx   rhel4Guest    vmx-07
48     centos39   [standard] centos39/centos39.vmx   rhel3Guest    vmx-07
64     suse103    [standard] suse103/suse103.vmx     sles10Guest   vmx-07

これらを簡単なコマンドにしておく。

[hagio@lab hagi_utils]$ cat vmlist
#! /bin/bash
/usr/bin/vmware-vim-cmd vmsvc/getallvms
[hagio@lab hagi_utils]$ cat vmon
#! /bin/bash
if [ $# -ne 1 ]; then
    echo "Usage: vmon VMID"
    exit
fi 
vmware-vim-cmd vmsvc/power.on $1

機能を追加して、VM リストに電源の状態を表示するようにしてみた。

#! /bin/bash
IFS=$'\n'
VMLIST=($(vmware-vim-cmd vmsvc/getallvms))
VMS=$(echo "${VMLIST[*]}" | awk '/vmx/{print $1}')
POWER=("Power")
for vm in $VMS; do
    POWER=("${POWER[@]}" "$(vmware-vim-cmd vmsvc/power.getstate $vm | awk 'NR==2{print $2}')")
done

for i in $(seq 1 ${#VMLIST[@]}); do
    i=$((i - 1))
    echo "${VMLIST[$i]}" "${POWER[$i]}"
done

bash の配列が難しくて苦労した・・

[root@lab ~]# vmlist
Vmid     Name                   File                  Guest OS     Version   Annotation Power
16     centos52   [standard] centos52/centos52.vmx   rhel5Guest    vmx-07               off
32     centos47   [standard] centos47/centos47.vmx   rhel4Guest    vmx-07               off
48     centos39   [standard] centos39/centos39.vmx   rhel3Guest    vmx-07               off
64     suse103    [standard] suse103/suse103.vmx     sles10Guest   vmx-07               on

ホストの IP アドレスを固定する

vmnet の dhcpd.conf を書き換える方法をとっていたが、VMware をバージョンアップした際に書き換えられてしまった。 アクセス権からも、自分で書き換えることは想定されていない可能性が高いので、この方法はよろしくないようだ。

ここに書くのはどうかと思うが、いちおうゲスト側で固定 IP にする方法を書いておく。。

/etc/sysconfig/network-scripts/ifcfg-ethX を以下のように書き換えればよい。

DEVICE=eth0
#BOOTPROTO=dhcp ★コメントアウト
BOOTPROTO=none  ★追記
HWADDR=00:0C:29:AE:5A:CE
IPADDR=192.168.8.47   ★追記
NETMASK=255.255.255.0 ★追記
ONBOOT=yes
TYPE=Ethernet

ちなみに、NETMASK は書かなくてもよい (IPADDR から推測される)。 NETWORK、BROADCAST は書かない方がよい。 それぞれ、IPADDR と NETMASK から自動的に計算されるからである。 (参照:Linux/ネットワーク)

古いメモ <toggledisplay> 設定ファイルは /etc/vmware/vmnet?/dhcpd/dhcpd.conf であるが、書き込み権限がない。

  [root@lab ~]# ll /etc/vmware/vmnet8/dhcpd/
  合計 12
★-r--r--r-- 1 root root  765  3月 28 01:42 dhcpd.conf
  -rw-r--r-- 1 root root  539  4月  2 20:39 dhcpd.leases
  -rw-r--r-- 1 root root 1271  4月  2 20:39 dhcpd.leases~

これは、勝手に書き換えない方が良いということだろうか? 設定スクリプトとかがあるのかもしれない。

だがやる。

まず、VM の MAC アドレスを確認する。ゲスト OS で ifconfig を実行してもよいが、 立ち上げていない場合などは面倒なので、vmx ファイルを見ればよい。

[root@lab ~]# grep Address /vmware/vms/centos52/centos52.vmx
ethernet0.generatedAddress = "00:0c:29:cb:d4:aa"★
ethernet0.generatedAddressOffset = "0"

上述の設定ファイルを編集する。

[root@lab ~]# vi /etc/vmware/vmnet8/dhcpd/dhcpd.conf
                   :
subnet 192.168.8.0 netmask 255.255.255.0 {
    range 192.168.8.128 192.168.8.254;
    option broadcast-address 192.168.8.255;
    option domain-name-servers 192.168.8.2;
    option domain-name "localdomain";
    option routers 192.168.8.2;

    host centos52 { ★追加する
        hardware ethernet 00:0c:29:cb:d4:aa;
        fixed-address 192.168.8.52;
    }
}

VMware を再起動する。(もちろん、ゲストも終了しておく。)

# /etc/init.d/vmware restart

</toggledisplay>