Linux修改网卡名称、主机名

环境: 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 ~]# 

至此,这个节点修改网卡名称和主机名的工作就已经全部完成,另一个节点同样方法修改即可。

This entry was posted in VirtualBox and tagged , , . Bookmark the permalink.