==== Create ESXi VM on Command Line ====
# vi /vmfs/volumes/ESXiVol/mkvm.sh
#!/bin/sh
cd /vmfs/volumes/ESXiVol/
VMNAME=$1
VMMEMM=$2
VMSIZE=$3
CPFROM=$4
if [ "${VMNAME}" == "" -o "${VMMEMM}" == "" -o "${VMSIZE}" == "" ]; then
echo "illegal parameters."
echo "e.g. mkvm.sh NAME MEMMORY DISKSIZE & CopyFrom"
exit 1
fi
mkdir /vmfs/volumes/ESXiVol/${VMNAME}
# First make the disk
SEED=/vmfs/volumes/ESXiVol/${CPFROM}/${CPFROM}.vmdk
if [ -f ${SEED} ]; then
echo "Copy From ${SEED}..."
vmkfstools -i /vmfs/volumes/ESXiVol/${CPFROM}/${CPFROM}.vmdk -d zeroedthick /vmfs/volumes/ESXiVol/${VMNAME}/${VM
else
echo "create new vm image..."
vmkfstools -c ${VMSIZE} -a lsilogic /vmfs/volumes/ESXiVol/${VMNAME}/${VMNAME}.vmdk
fi
# Now output the vmx file
cat << EOT >> ${VMNAME}/${VMNAME}.vmx
.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "8"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
nvram = "${VMNAME}.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "soft"
displayName = "${VMNAME}"
extendedConfigFile = "${VMNAME}.vmxf"
memsize = "${VMMEMM}"
ide1:0.present = "TRUE"
ide1:0.clientDevice = "TRUE"
ide1:0.deviceType = "cdrom-raw"
ide1:0.startConnected = "FALSE"
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.networkName = "VM Network"
ethernet0.addressType = "generated"
guestOS = "centos-64"
scsi0.present = "TRUE"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsilogic"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "${VMNAME}.vmdk"
scsi0:0.deviceType = "scsi-hardDisk"
floppy0.present = "FALSE"
EOT
# Now register our new VM
vnum=`vim-cmd solo/registervm /vmfs/volumes/ESXiVol/${VMNAME}/${VMNAME}.vmx`
vim-cmd vmsvc/power.on $vnum
# MAC
cat /vmfs/volumes/ESXiVol/${VMNAME}/${VMNAME}.vmx | grep generatedAddress
新規作成(vm名称 メモリ HDD)
# /vmfs/volumes/ESXiVol/mkvm.sh taro 1024 15G
コピー作成(vm名称 メモリ HDD(無視される) コピー元)
# /vmfs/volumes/ESXiVol/mkvm.sh hanako 4096 30G CentOS6_Base