CentOS8拷贝虚拟机、修改ip、主机
两大步直接拷贝一份新的虚拟机,从此再也不用一个一个地创建虚拟机了。第一步,拷贝虚拟机;第二步,修改ip。
目录
一、拷贝虚拟机
右键点击虚拟机——管理——克隆——下一页——下一页——创建完整克隆——克隆向导填写虚拟机名称和安装目录——完成
等待一会就好了。
说明:
通过创建完整克隆的方式,等于说是完全拷贝了一份原来的虚拟机,创建之后就和原来的虚拟机没什么关系了。
这种方式创建的虚拟机,里面的东西和原虚拟机完全一样,包括虚拟机的用户及其密码。
不过,这种方式创建的虚拟机的ip和原虚拟机也是一样的,这就违背了我们的初衷。
二、解决ip冲突
2.1 方式一(失败)
我们参考这篇文章:克隆虚拟机后的IP、路由配置以及mac地址冲突解决
首先说明,这种方式在我这里失败了,在下面的第五步,添加路由的时候失败了。
# 1.查看ip
ifconfig
# 2.删除旧ip
ip addr del 192.168.247.128/24 dev ens160
# 3.添加新ip(我是在原ip基础上加1)
ip addr del 192.168.247.128/24 dev ens160
# 4.再次查看ip
ifconfig
# 5.添加路由
route add –net IP netmask MASK gw IP
看上面最后一张图,添加路由的时候失败了。
到这里我就停下来了,没时间搞就放下了。过了一天接着回来,查看这台虚拟机的ip,竟然恢复了原状。
那今天我们换一种方式。
2.2 方式二(半成功)
我们参考这篇文章:VMware下克隆centos7后的IP相同问题
需要说明的是,我的虚拟机是基于centos8的,所以导致有一些命令是不通的,下文遇到时我们会说到。
1、修改IP地址、删除UUID和HWADDR两行
# 进入该目录
cd /etc/sysconfig/network-scripts
# 查看该目录下的网卡配置文件
ll
# 编辑第二步查看到的网卡文件
vim ifcfg-ens160
可以看到我们的这个网卡文件名称为:ifcfg-ens160,其中ens160是我的网卡名。该文件中并没有IPADDR和HWADDR这两行,我们添加IPADDR,同时删除UUID即可。
2、重启网络
重启网络,该步骤一定不可以忘记!
service network restart
但是该命令在centos8上是不支持的,我更换一个
systemctl restart network
# 或者
systemctl restart network.service
还是不行。
原因我们参考这篇文章,然后继续下面的操作。
centos8的网卡服务与centos7有所不同,无法通过systemctl或者service命令重启网卡。centos8网卡服务由nmcli进行管理。
我们更换命令:
# 重载网卡配置
nmcli c reload ens160
# 重启网卡
nmcli c up ens160
但是我们现在查看ip还是128,没有修改。
# 添加一个IP(IPADDR)
nmcli connection modify ens160 ipv4.addresses 192.168.247.129
再重载与重启网卡,再查看还是不行。
那我们先跳过这一步,按照之前的文章继续。
3、修改主机名
方法一
# master为新主机名
hostnamectl set-hostname master
方法二
vi /etc/hostname
将原来的主机名修改成新的主机名。
此时我们查看我们的主机名(我修改成了dake01)。
4、修改虚拟机IP地址与主机名的映射
# 获取主机名
hostname
# 获取ip
ip addr
# 查看映射关系
cat /etc/hosts
#修改映射关系
vim /etc/hosts
由于之前我们添加了一个129的ip,现在我们要删除128的,因为128的是和上一个虚拟机ip冲突了。
ip addr del 192.168.247.128 ens160
既然删除不行,那我们清空该网卡下的所有ip
ip addr flush dev ens160
再添加一个ip
ip addr add 192.168.247.129/24 dev ens160
至此,貌似我们已经修改成功了。
但是如果我们执行重载网卡和重启网络的命令又恢复了。
我们重新执行上面的清空ens160的ip并重新添加ip的命令,又好了。此时,我们通过ssh工具连接这个虚拟机是OK的。
接下来,我们重启一下虚拟机再试试。
但是重启之后通过ifconfig命令查看还是128,但是通过ip addr命令,发现既有128也有129。那这个效果就是和我们之前通过
# 重载网卡配置
nmcli c reload ens160
# 重启网卡
nmcli c up ens160
再重新添加的效果是一样的。但是通过ssh工具确实是可以连接的。
我emo了。
2.3 方式三(成功)
我们换一台虚拟机,再简单搞一搞。
参考这篇文章:VMware克隆虚拟机后修改UUID、MAC地址、IP和主机名
1.生成mac
一般克隆完成后,虚拟机的网卡MAC地址会自动改变的,如果没有自动改变,可以手动修改。
copy下刚才生成的mac地址,记不住也没关系,可以通过命令 ip addr查看。
上图红框的就是mac地址
2.生成UUID
# 生成UUID
uuidgen
3.修改ip等
vim /etc/sysconfig/network-scripts/ifcfg-ens160
修改内容有:
# 这个是将ip修改为固定ip
BOOTPROTO=static
UUID=刚才生成的uuid
IPADDR=192.168.1.118
NETMASK=255.255.255.0
GATEWAY=192.168.222.2
DNS1=8.8.8.8HWADDR=刚才生成的mac地址
4.修改主机
4.1 临时修改主机名
hostnamectl set-hostname master
4.2 永久修改主机名
vim /etc/sysconfig/network
设置值为:
HOSTNAME=redis-master01
vim /etc/hostname
直接输入你想要的主机名即可。
并不是所有版本的主机名都存在于/etc/hostname文件,如Fedora发行版将主机名存放在/etc/sysconfig/network文件中。所以,修改主机名时应注意区分是哪种linux发行版。
因此,如果两个文件都存在的话,我们最好都修改。
4.3 修改主机ip映射关系
vim /etc/hosts
添加如下映射关系:
192.168.222.300 redis-master01
192.168.222.301 redis-master02
192.168.222.302 redis-master03
5. 重启网络
我们参考的文章中给的命令是
systemctl restart network
在我们的centos8中是不支持的。我们可以使用一下命令:
# 重载网卡配置
nmcli c reload ens160
# 重启网卡
nmcli c up ens160
其中ens160是我的,你的不一定是这个名字。
6.测试
我们检测一下:
说明我们成功了。上一种方式不知道算不算成功。但是我们这个是成功了的。我们通过ssh工具连接试试。
注意:
上面修改的网关也就是3里面的 GATEWAY=192.168.222.2 不可以随便修改,必须保证和你的虚拟机在同一个网段中。当然也可以去VMWare中去查看。
编辑——虚拟网络编辑器
一般都是NAT模式。
将3中的 GATEWAY=192.168.222.2修改到你电脑对应的这个网关即可。
如果网关设置错误,会导致虚拟机不能联网。
我就深受其害,而且问题不好排查,结果竟然是网关配置错误。可惜,可惜!
如果报错:未知的链接ens160,可以参考我另外一篇文章:
2.4 直接修改网卡
我们简化2.3的方案如下:
#查看网络设备名称,一般名称都是ens+数字,或者eth+数字
ip a
# 或者
ifconfig
# 修改网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens160
# 修改IPADDR的ip取值,无则添加
# 重启网卡:CentOS8以下
systemctl restart network
# 重启网卡:CentOS8(含)以上
# 重载网卡配置
nmcli c reload ens160
# 重启网卡
nmcli c up ens160
----------------------------------------------------本文完----------------------------------------------------------------
与君共勉,砥砺前行,不负此生!
祝好运!
更多推荐
所有评论(0)