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
#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
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 ~]#