环境: VirtualBox 5.0.14 + RHEL 6.5
需求: 个人实验搭建一套Standby RAC时,为了节约时间,直接复制之前安装RAC的主机模板。
但复制之后发现网卡名称不一致:
我这里的环境,Primary RAC的Public IP和Private IP分别对应的网卡名称是eth2,eth3。
而复制Standby RAC的其中一台网卡名称是eth6,eth7;另一台是eth4,eth5.为了保持一致方便后续管理维护,需要将Standby RAC的两台机器的网卡都统一改为eth2,eth3.
同样的,复制的主机主机名是和之前一样的,所以把主机名也修改一下。
以其中一台为例: 首先查看主机目前的网络情况,如下图:
确认eth7的MAC地址是:08:00:27:62:CC:7B
确认eth6的MAC地址是:08:00:27:BC:1B:9F
然后在VirtualBox的设置中,
根据MAC地址确认eth6对应的是内部网络(Private IP);而eth7对应的是公有网络(Public IP)。
所以我们正确的做法应该是将eth6的名称修改为eth3,将eth7的名称修改为eth2.
注意:可能有些同学直接想当然的不确认MAC地址直接修改错了,这里一定要确认清楚,对于DBA来说,任何做事情的细节都很重要。
1.首先修改/etc/udev/rules.d/70-persistent-net.rules文件:
将无关的网卡信息都删除掉(如果怕误操作也可不删除,个人建议删除,清楚且方便管理)
然后将eth6的名称修改为eth3,将eth7的名称修改为eth2。最终修改如下:
[root@jyrac1 ~]# cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:bc:1b:9f", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:62:cc:7b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
2.确认网络ifcfg-ethN配置文件,并修改信息:
[root@jyrac1 network-scripts]# cat ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.61
NETMASK=255.255.255.0
[root@jyrac1 network-scripts]# cat ifcfg-eth3
DEVICE=eth3
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.10.10.61
NETMASK=255.255.255.0
3.reboot重启主机,网络名称成功修改并启动正常,如下:
[root@jyrac1 ~]# ifconfig -a
eth2 Link encap:Ethernet HWaddr 08:00:27:62:CC:7B
inet addr:192.168.1.61 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe62:cc7b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:377 errors:0 dropped:0 overruns:0 frame:0
TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28101 (27.4 KiB) TX bytes:6495 (6.3 KiB)
eth3 Link encap:Ethernet HWaddr 08:00:27:BC:1B:9F
inet addr:10.10.10.61 Bcast:10.10.10.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:febc:1b9f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:511 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:46118 (45.0 KiB) TX bytes:816 (816.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:340 (340.0 b) TX bytes:340 (340.0 b)
这样,就可以通过SecureCRT连接到主机方便操作了。
下一步把主机名和/etc/hosts改一下:
主机名修改:
hostname jystdrac1 (临时生效)
[root@jyrac1 network-scripts]# hostname jystdrac1
vi /etc/sysconfig/network (重启生效)
[root@jyrac1 network-scripts]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=jystdrac1
vi /etc/hosts (按照Standby RAC的规划)
#public ip
192.168.1.61 jystdrac1
192.168.1.63 jystdrac2
#virtual ip
192.168.1.62 jystdrac1-vip
192.168.1.64 jystdrac2-vip
#scan ip
192.168.1.65 jystdrac-scan
#private ip
10.10.10.61 jystdrac1-priv
10.10.10.63 jystdrac2-priv
重新登录SHELL即可看到正确的主机名配置:
Last login: Wed Aug 2 20:37:13 2017 from 192.168.1.88
[root@jystdrac1 ~]#
[root@jystdrac1 ~]# hostname -i
192.168.1.61
[root@jystdrac1 ~]#
至此,这个节点修改网卡名称和主机名的工作就已经全部完成,另一个节点同样方法修改即可。