帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  Linux Shell脚本创建VMware ESX虚拟主机

Linux Shell脚本创建VMware ESX虚拟主机

2016-11-24 00:58:39 12745

IAAS中最基础的服务是为用户提供虚拟主机,对于用户通过自助服务门户提交过来的申请,当管理员审核批准后,在收集用户提供的配置信息后,会自动创建虚拟主机,并且安装操作系统。

在基于VMware的虚拟主机创建,通过可视化的界面并不难实现,如果通过命令行以及脚本刚需要一些方法。这里演示在接受到前台指令后,如何通过调用脚本创建一台虚拟主机。(本案例来源于《云计算:从基础架构到最佳实践》第五章)

● 案例分析

创建虚拟主机涉及到几个环节:

(1)在vmfs空闲空间中创建虚拟主机所属的目录;

(2)创建虚拟主机的配置文件.vmx,对虚拟主机的电源、磁盘、网络、内存、版本等信息进行填充;

(3)创建虚拟主机磁盘文件,并关?到虚拟主机配置文件中;

● 脚本编写

这里演示了创建一个名为New_1虚拟主机的脚本,具体流程为:

(1)获取vmfs中存放路径,并创建New_1目录;

(2)在New_1目录中创建,New_1.vmx文件,写入虚拟主机版本、内存、客户机操作系统、vmdk磁盘所在路径、以太网信息等,具体的其他配置项可以自定义添加;

(3)通过vmkfstools命令,创建一块容量为1G的磁盘;

(4)注册创建好的虚拟主机,并启动虚拟主机;

具体的代码如下。

[root@vsx9 home]# vi NewVM.sh

#!/bin/sh

VMName="New_1"

DIR="/vmfs/volumes/4c31371a-65f53b42-9db2-0025900253f4"

VMDIR=$DIR/New_1

VMFile=$VMDIR/$VMName

GuestOS="rhel5"

mkdir $VMDIR

touch $VMFile.vmx

cat >> $VMFile.vmx<<EOF

config.version = "8"

virtualHW.version = "7"

memsize = "1024"

displayName = "$VMName"

guestOS = "$GuestOS"

powerType.powerOff = "soft"

powerType.powerOn = "default"

powerType.suspend = "hard"

powerType.reset = "soft"

ide0:0.present = "TRUE"

ide0:0.fileName = "$VMName.vmdk"

ide1:0.present = "TRUE"

ide1:0.fileName = ""

ide1:0.deviceType = "atapi-cdrom"

ethernet0.present = "TRUE"

ethernet0.networkName = "VM Network"

ethernet0.addressType = "vpx"

EOF

chmod 755 $VMFile.vmx

vmkfstools -c 100M -a lsilogic -d thin $VMFile.vmdk

vmware-cmd -s register $VMFile.vmx

vmware-cmd $VMName start trysoft

输入sh NewVM.sh执行脚本,输入vmware-cmd及进入New_1所在的目录查看创建成功后的虚拟主机信息。

[root@vsx9 home]# sh NewVM.sh

Creating disk 'test_1.vmdk' and zeroing it out...

Create: 100% done.

start(trysoft) = 1

[root@vsx9 home]# vmware-cmd -l

/vmfs/volumes/4c31371a-65f53b42-9db2-0025900253f4/Linux_Test_A/Linux_Test_A.vmx

/vmfs/volumes/4c31371a-65f53b42-9db2-0025900253f4/New_1/New_1.vmx

/vmfs/volumes/4c8f1720-c3e98166-730a-0025900253b4/vCenter_Server_A/vCenter_Server_A.vmx

[root@vsx9 home]# cd /vmfs/volumes/4c31371a-65f53b42-9db2-0025900253f4/New_1/

[root@vsx9 New_1]# ll

total 1048896

-rw------- 1 root root 1073741824 Sep 12 21:25 New_1-64423be6.vswp

-rw------- 1 root root 104857600 Sep 12 21:24 New_1-flat.vmdk

-rw------- 1 root root 466 Sep 12 21:24 New_1.vmdk

-rw------- 1 root root 0 Sep 12 21:24 New_1.vmsd

-rwxr-xr-x 1 root root 1828 Sep 12 21:26 New_1.vmx

-rw------- 1 root root 260 Sep 12 21:26 New_1.vmxf

-rw------- 1 root root 8684 Sep 12 21:25 nvram

-rw-r--r-- 1 root root 56473 Sep 12 21:27 vmware.log

对比vsphere客户端工具,可以查看执行效果。

Linux Shell脚本创建VMware ESX虚拟主机


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: