首頁 > 軟體

Linux修改網絡卡名稱、主機名

2020-06-16 17:09:37

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

至此,這個節點修改網絡卡名稱和主機名的工作就已經全部完成,另一個節點同樣方法修改即可。

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-08/146101.htm


IT145.com E-mail:sddin#qq.com