vmware 下虚拟机的批量复制并配置网络
来源:互联网 发布:ubuntu ssh 长连接 编辑:程序博客网 时间:2024/06/08 06:14
由于公司的特殊需求,经常需要在一台服务器上安装大量的虚拟机,并且虚拟机必须使用静态IP地址。总是一台台虚拟机的开机-登录-修改ip会特别麻烦。所以查了些资料,通过shell脚调用vmrun命令来减少这种无聊单调的工作。
先介绍下工作环境。服务器是dell的,上面装的是OL6.5的操作系统,不熟悉的朋友可以简单的理解成RHEL6.5或者Centos6.5.虚拟机软件使用的是 VMware Workstation 11.
下面进入正题。里面安装的虚拟机是centos 6.5的。在下面,按照约定,我们将OL系统的服务器称为主机,centos6.5的虚拟机称为客户机。
大体思路 如下:
虚拟机的复制不多说了,就是关了虚拟机直接 cp就好了。如果少的话直接cp,多的话用个for循环什么的就好。
开启虚拟机的话,可以在主机中使用如下命令
vmrun start $PATH/$NAME.vmx
这里貌似只有在图形界面下才有用,如果不是图形界面,应该还要加什么参数什么的。反正我用ssh连接的时候不能用,用vnc连接就没什么问题。
开启虚拟机之后,还要在里面执行命令来配置IP,网关,DNS等等。在主机使用下面命令可以执行客户机中的命令或脚本。
vmrun -gu root -gp $passwd runProgramInGuest /home/vm/whois/whoisbak.vmx $cmd $argc //将其中的$passwd 换成你客户机中的密码,将后面<span style="font-family: Arial, Helvetica, sans-serif;">/home/vm/whois/whoisbak.vmx</span><span style="font-family: Arial, Helvetica, sans-serif;"></span>换成你的虚拟机的全路径,$cmd 换成你要执行的命令,argc换成命令的参数。
下面说下我做的具体的过程。
我是在/home/vm目录下,有个虚拟机whois0,现在需要将其复制20份,并分配不同的地址。
我们公司内网网段为192.168.100.0,网关为100.254 。 为了更改ip方便,我在虚拟机中写了脚本setip.sh,内容如下。使用时参数为ip地址最后三位。
#!/bin/bash#auth:zhao xl#date:2014/12/19#usage: setip.sh 123echo "DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=yesIPADDR=192.168.100.$1NETMASK=255.255.255.0GATWAY=192.168.100.254" >/etc/sysconfig/network-scripts/ifcfg-eth0service network restart这里要保证虚拟机中,启动的网卡接口名称为eth0.如果是从别的主机上复制来的虚拟机,网卡名可能会变成eth1.再复制到其它主机上时,网卡名可能就会变成eth2.这时需要修改/etc/udev/rules.d/70-persistent-net.rules 文件,删除其中的内容后重启机器就好了。
之后关闭虚拟机,将虚拟机复制20份。即将whois0目录复制20份。如果写到脚本中运行,所有命令和文件名都一定要使用绝对路径,不然不一定出什么问题。查找命令的绝对路径可以使用which 命令。如which vmrun。
for i in `/usr/bin/seq 20`;do /bin/cp -r /home/vm/whois0 /home/vm/whois$i done;
然后将每个虚拟机都开启一遍。这时会询问你你是复制的还是移动的虚拟机,选择i copy it。这部一定要做,不然虚拟机无法启动,下面的命令也就无法执行。
之后设置虚拟机的ip,我是将他们设置为160到179.使用脚本setvmip.sh如下。
#!/bin/bashPATH=/home/vmfor i in `/usr/bin/seq 20`;do/usr/bin/vmrun -gu root -gp passwd runProgramInGuest /home/vm/whois$i/whoisbak.vmx /bin/setip.sh $[160+$i]done这个就不需要使用图形界面了。用ssh连接就可以了。。
这些脚本都是临时使用的,所以写的不太讲究。有时间的话会再改改。对参数进行下验证,把起始ip和数量都作为命令行参数。总之细节方面还有很多需要完善的,各位可以根据自己的需要来修改
- vmware 下虚拟机的批量复制并配置网络
- linus下复制虚拟机的网络配置,静态网络配置
- 虚拟机VMware的网络配置
- Vmware复制虚拟机的网卡配置
- VMware 虚拟机下网络配置基础
- VMware 虚拟机下网络参数配置
- vmware虚拟机NAT模式下网络配置
- VMware虚拟机网络配置
- vmware 虚拟机网络配置
- vmware 虚拟机网络配置
- VMWare虚拟机网络配置
- VMWare虚拟机网络配置
- 理解VMware虚拟机下网络连接的三种模式(如何配置虚拟机上网)
- VMware虚拟机中centos的网络配置
- VMWare虚拟机配置网络的那些事儿~
- vmware虚拟机redhat6.5的网络配置
- VMWare 虚拟机安装CentOS 并配置网络连接
- 在VMware中为CentOS配置静态ip并可访问网络-windows下的VMware
- Android 验证码:数字序列、计算结果
- Tomcat内存设置详解
- 关于android性能优化问题
- X5 获取前台所有data数据 和后台的 table 使用
- 气象局天气预报信息接口
- vmware 下虚拟机的批量复制并配置网络
- 怎么样才叫软件团队开发
- iPhone 6/6 Plus 出现后,如何改进工作流以实现一份设计稿支持多个尺寸?
- IOCP模型与网络编程
- jquery.cookie的完整使用教程
- 产品管理
- Core Data
- 独立开发者:新手做2D手游该用哪些工具?
- Android自定义属性