之前看大数据的时候,需要操作linux虚拟机集群,就需要克隆虚拟机,比较好的步骤是先创建一个虚拟机模板,然后直接克隆。这篇记录下操作的细节,备忘。
原理(基于centOS):
创建模板机需要删除一些文件,以防止出现克隆虚拟机之后出现网卡eth0不可用等情况,便于后续操作。
1.修改网卡文件(ifcfg-eth0)
路径:/etc/sysconfig/network-scripts/ifcfg-eth0
网卡原始内容:
DEVICE=eth0
HWADDR=00:0C:29:95:87:DC
TYPE=Ethernet
UUID=xxxxxxxxxxxxxxxxxxxx
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp
修改为:
DEVICE=eth0
#HWADDR=xxxxxxxxxxxxxxxxx
TYPE=Ethernet
UUID=xxxxxxxxxxxxxxxxxxxx
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=xx:xx:xx:xx
NETMASK=255.255.255.0
GETEWAY=192.168.25.2
DNS1=114.114.114.114
1.注释掉硬件地址,使得克隆后的机器开机后使用自动分配的地址
2.ONBOOT改为yes,默认启用网卡
3.BOOTPROTO改为static,采用静态ip地址
4.添加ip地址和子网掩码,设置网关,DNS服务器
修改完成,保存退出。
2.关闭防火墙
这个模板机是学习用的,所以选择直接将防火墙关闭,生产环境需要根据需要设计防火墙策略。
service iptables stop
此命令是本次操作关闭,重启机器之后会再次开启。
永久关闭:
chkconfig iptables off
3.关闭selinux
路径:/etc/selinux
修改config文件,设置为:
SELINUX=disabled
4.修改hosts文件
路径:/etc/hosts
hosts文件中添加集群机器列表,便于集群之间通信:
192.168.25.151 node01
192.168.25.152 node02
192.168.25.153 node03
5.删除文件
路径:/etc/udev/rules.d
删除“70-persistent-net.rules”文件,然后poweroff,关机。
然后一个模板机就做好了,每次需要新的机器的时候就在这个机器上面克隆就好了。模板机不要重启,因为重启之后就会创建“70-persisitent-rules”文件,克隆出来的机器就会出现一些问题。
over。