Pocket

以前、ESXi上の仮想マシンが持つMACアドレス一覧を取得するスクリプトを作成したが今回はそのシリアルナンバー(UUID)版。

サーバの大量構築を行うにあたり、手法はいくつかあるがそのうちの一つとしてマザーボード(というかBIOS?)のシリアルコードを元に個別の設定を行うというものがある。

この仕組みをそのまま使いまわせるよう、ESXi上に存在しているシリアルナンバーの一覧を取得させるシェルスクリプトが以下。

Sponsored Links

●VM_SerialList.sh

#!/bin/sh
#Get VM List
VimCmdList=`vim-cmd vmsvc/getallvms | grep "vmx-" | grep ".vmx" | awk '{print $2,$3,$4}'`
IFS=$'\n'
echo "VM Name,Serial"
for i in $VimCmdList; do
  #Get VM Name
  VMName=`echo "$i" | awk '{print $1}'` 
  
  #Get vmx file place
  VMXFolder=`echo "$i" | awk '{print $2}' | cut -d"[" -f2 | cut -d"]" -f1`
  VMXFile=`echo "$i" | awk '{print $3}'`
  
  #Get VM Ethernet Info
  VMEthernetInfo=`cat /vmfs/volumes/$VMXFolder/$VMXFile | sort | grep "uuid.bios" | cut -d"\"" -f2 | cut -d"\"" -f1 | sed ':loop; N; $!b loop; ;s/\n/,/g' | \
  sed 'y/abcdefghjiklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' | sed -e 's/ //g' | sed -e 's/-//g'`
  for i in $VMEthernetInfo; do
    echo "$VMName,$i"
  done
done

MACアドレスでのIP設定よりも、シリアルナンバーでの設定の方が扱いやすいかも?

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 1 comments

  1. Pingback: サーバ大量構築時のキモ ~Kickstart によるLinux 自動インストール時のネットワーク設定~ | 俺的備忘録 〜なんかいろいろ〜

Leave a Comment

メールアドレスが公開されることはありません。