接触学习数据库管理往往需要用到主从复制等操作,而实现操作需要三台ip地址互不相同的虚拟机,分享一下创建和实现互通的过程。
首先当你接触到数据库管理的时候一定用到了一台虚拟机,并且做了某些配置,我这里用的是CentOS , 点击右键直接克隆,这样可以保留我们之前学习用到过的一些配置。
克隆得到两台虚拟机(注意想要保留配置是【完整克隆】,其他选项默认就可以),我命名为CentOS-A,CentOS-B。
同时进入三台虚拟机后发现了一个问题,我们实现操作需要用到的三台服务器ip地址需要不同,但是我们使用【ifconfig】查看ip地址发现这三台虚拟机都是一样的ip地址。
因为当克隆虚拟机时,克隆得到的虚拟机会保留原始虚拟机的网络配置,包括 IP 地址。这就是为什么会发现两台克隆虚拟机与原始虚拟机的 IP 地址相同的原因。
不过问题不大,我们可以修改虚拟机的网络配置,调整另外两台虚拟机的ip地址与原始虚拟机ip地址相区分,但在那之前,我们需要修改一下三台虚拟机的hostname
//原始虚拟机
su //进入root用户
hostnamectl set-hostname master
//CentOS-A
su
hostnamectl set-hostname slave1
//CentOS-B
su
hostnamectl set-hostname slave2
OK,修改完hostname,我们开始调整slave1和slave2的网络配置。
编辑网络配置文件(我的网络端口是ens33,即显示ip地址的那一块):
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
点击“i”进行文件修改,修改设备的IP地址,确保与master的ip地址相区分(ipaddr):
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.110.1 #设备的ip地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.110.1 #默认网关的ip地址
对slave1和slave2分别进行上述操作后,别忘了重启网络配置,然后再尝试使用ip地址进行互ping
sudo systemctl restart network
出现下述情况即ping成功(Ctrl+C退出):
互ping全部成功后,我们来尝试主机名互ping,首先进入文件夹,将ip地址及对应的主机名录入:
vim /etc/hosts
在最后加上各个ip地址及对应的主机名(三台虚拟机皆是如此):
OK,完成配置后,我们尝试使用主机名进行互ping:
成功!
后续可能出现的问题:
如果出现修改后的ip地址,主机可以ping通,但却无法SSH连接上的,可能是修改后的ip地址被不知名进程占用,在排除掉SSH连接是否开启和防火墙的问题以及相关配置等一系列问题后,可以考虑再次对无法进行SSH连接的虚拟机IP地址进行修改,看修改后能够连接成功。
如果发现我的实现过程有错误,欢迎评论区交流!