新建虚拟机之后,安装完操作系统之后就可以作为母版备用,直接从母版复制多个集群来搭建集群。
在 VM 中复制虚拟机
在这个命名框的下面有个不起眼的勾选框“重新初始化所有网卡的 MAC 地址(R)”。我们要多个机器来构建集群。如果要同时开启2个及以上的副本,它们在同一个网络中。在同一个网络中的多个电脑拥有相同的 MAC 地址就会引起混乱。
修改新副本中的网络设置
在上面勾选了“重新初始化所有网卡的 MAC 地址(R)”,VirtualBox 会给新复制这个虚拟电脑的网卡重新生成 MAC 地址。启动虚拟机的话,系统在启动中在原来网卡的基础上增加新的网卡(Mac 地址)需要自己配置网络。
输入ifconfig
查看网卡
只有 lo 这个网络,因为 CentOS 使用 udev 动态管理设备文件(实际上很多 Linux 发行版都是这样),并根据设备的信息对其进行命名。在 CentOS 中,udev 会在系统引导的过程中识别网卡,将 MAC 地址和网络名称对应起来记录在 udev 的脚本中。
查看 Mac 地址:vi /etc/udev/rules.d/70-persistent-net.rules
我原来的服务器有两个网卡 eth0和 eth1,但是多出来了两个 eth3和 eth4
解决办法
1.编辑 /etc/udev/rules.d/70-persistent-net.rules,将原来的网卡的 MAC 地址改成对应的新网卡的,并将新网卡的配置文件删除(删除 eth0和 eth1),记住 ATTR 后面的 mac 地址。
2.修改原来的网络配置/etc/sysconfig/network-scripts/ifcfg-eth0 和 /etc/sysconfig/network-scripts/ifcfg-eth1 中的 HWADDR 行,使用新网卡的 MAC 地址对应替换到原来的。
3.需要重启虚拟机 reboot,输入命令 service network restart 命令并不可以。