VMWare下快速CLONE现有VM组建VM测试集群

      楼主最近测试HDFS性能,需要组建一个由3个VM组成的集群,方便搭建Hadoop集群进行测试.如果使用ISO镜像文件在VMWare上折腾三次构建VM集群,这十再是太浪费时间了.幸好VMWare自带了CLONE当前VM的功能,所以只需要安装好一套VM,然后使用CLONE功能克隆出其它两个VM即可.具体方法如下看下面.


环境:
1. VMWare9.0
2. CentOS6.3  2.6.32-279.el6.x86_64
3. VMWare下已经通过iso镜像文件安装好一个vm
注:安装好的VM的一些参数hostname为222host,IP地址为192.168.0.222.希望再CLONE出另外两个VM,hostname分别为223host和224host,IP分别对应223,224.

方法步骤:
1. CLONE现有VM

    右键现在的VM选择clone功能

172317_gmhA_1027054.png

    开始clone向导

172335_tS5b_1027054.png

    从现有VMclone

172352_wql6_1027054.png

    完全clone(区别与上面的引用克隆,ref的clone是共享母本VM硬盘的)

172425_ePt1_1027054.png

    命名并选择clone目录

172425_OUQI_1027054.png

    开始克隆

172425_lfYI_1027054.png

    完成克隆

172426_yKiq_1027054.png



2. 解决网卡冲突问题
    使用VMWare的CLONE功能会有一个问题,就是克隆出来的新VM在启动后宿主机无法ping通,这是因为克隆出的VM的网卡配置出了问题.
    如果原来母本VM(我这里是222)的网卡配置是eth0的话,VMWare在CLONE时会默认将新克隆出来的VM的网卡指定成eth1(见下图ifconfig命令的结果),新的VM中没有eth1这个网卡,导致报如下的网卡找不到的错误(见下图).

172856_CUlV_1027054.png

解决办法如下:
    a. 记录下ifconfig命令中HDWaddr的值(就是MAC地址)

172525_bU58_1027054.png

    b. 修改/etc/udev/rules.d/70-persistent-net.rules

下图是克隆后的原文件内容

172632_gFPE_1027054.png

下图是修改后的内容

172653_o4Cy_1027054.png

    c. 修改/etc/sysconfig/network-scripts/ifcfg-eth0

172717_BAen_1027054.png

    d. 重启网络服务service network restart

172743_IuYb_1027054.png

至此网卡问题解决


3. 修改hostname
    CLONE出的新VM仍然使用的母本的222host,这个需要修改的.方法如下:
    a. 修改/etc/sysconfig/network文件的HOSTNAME的值为你要的值(我这里改成223host)

173058_TwqT_1027054.png

    b. 修改/etc/hosts文件中所有母本中的名称为新的hostname

173148_jADD_1027054.png

    c. 执行hostname命令

        hostname xxxx
    d. 重启linux   shutdown -r now
    
OK大功告成~~

174020_Rz1j_1027054.png

174020_shSn_1027054.png




=======================

后记:使用VMWare对CentOS7做vm克隆时,相对CentOS6来说少了上面的一些麻烦事,比如CentOS7中是没有70-persistent-net.rules这个文件的。这时在启动克隆后的VM时有新的错误出现,如下:

[root@228os network-scripts]# service network stop
Stopping network (via systemctl):                          [  OK  ]
[root@228os network-scripts]# service network start
Starting network (via systemctl):  Job for network.service failed. See 'systemctl status network.service' and 'journalctl -xn' for details.
                                                           [FAILED]

进一步通过systemctl status network.service 命令查看原因如下:

[root@228os network-scripts]# systemctl status network.service
network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network)
   Active: failed (Result: exit-code) since Wed 2015-02-04 15:09:09 CST; 10s ago
  Process: 12619 ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS)
  Process: 13953 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
Feb 04 15:09:09 228os network[13953]: RTNETLINK answers: File exists
Feb 04 15:09:09 228os network[13953]: RTNETLINK answers: File exists
Feb 04 15:09:09 228os network[13953]: RTNETLINK answers: File exists
Feb 04 15:09:09 228os network[13953]: RTNETLINK answers: File exists
Feb 04 15:09:09 228os network[13953]: RTNETLINK answers: File exists
Feb 04 15:09:09 228os network[13953]: RTNETLINK answers: File exists
Feb 04 15:09:09 228os network[13953]: RTNETLINK answers: File exists
Feb 04 15:09:09 228os systemd[1]: network.service: control process exited, code=exited status=1
Feb 04 15:09:09 228os systemd[1]: Failed to start LSB: Bring up/down networking.
Feb 04 15:09:09 228os systemd[1]: Unit network.service entered failed state.


其实最终的原因就是 当前克隆出来的vm的ifcfg-eth0中的MAC地址和ifconfig命令出来的MAC地址不一致所致,所以只需要修改成新的MAC地址即可。

转载于:https://my.oschina.net/u/1027054/blog/313204

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值