VMware
提供: Wikinote
えす・いー もすなる仮想化といふものを、をたく もしてみむとて、するなり。
VMware Server 2.0
DHCP でホストの IP アドレスを固定する
設定ファイルは /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
メモ
# 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
実行すると、電源の状態を末尾に表示してくれる。
[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