1. 程式人生 > 實用技巧 >centos7下ifconfig內容與/etc/sysconfig/network-scripts下的檔名不匹配

centos7下ifconfig內容與/etc/sysconfig/network-scripts下的檔名不匹配

超微伺服器,centos7.2系統

接到維修後伺服器,開機到設定IP的一個記錄:

1. 開機後卡在了一個地方,螢幕一直迴圈提示如下資訊:

INFO: rcu_shed detected stalls on CPUs/tasks: {} (detected by 0, t=600017 jiffies, g=18446744***442, c=***, q=0)
INFO: Stall ended before state dump start

諮詢之後,是因為linux kernal版本和IPMI FW版本不匹配導致的(不知道具體是神馬)。解決辦法如下:

在作業系統boot介面,也就是開機時選擇啟動哪個作業系統的介面,按TAB,然後按e鍵,進入grub編輯介面,如圖

在箭頭位置加上 "nomodeset blacklist=ast xdriver=vesa brokenmodules=ast"然後重啟順利進入登陸介面。加上的這段引數好像是禁用顯示卡的意思。

2. 登入系統後,第一件事就是把上面這段加到grub檔案中:

centos7中是/etc/default/grub檔案,加在“GRUB_CMDLINE_LINUX”專案內,然後執行grub2-mkconfig -o /boot/grub2/grub.cfg。之後再重啟,就沒問題了。

3. 接著就是配置ip地址,好遠端登陸進行操作。

插上網絡卡之後遇到了兩個問題:a)ifconfig內容與/etc/sysconfig/network-scripts下的檔名不匹配。b)4個千兆網口只有一個在插上網線後會亮燈(其實網口都是好的,就是配置的問題)。

主要還是a)的問題,配置對了,其他的會都正常。

先調查了一下linux網絡卡命名規則,網上有說修改/etc/udev/rules.d/70-persistent-net.rules,也有說在grub檔案的GRUB_CMDLINE_LINUX中加入“net.ifnames=0”項恢復原始命名規則,但是嘗試之後都沒成功。(linux網絡卡命名規則介紹參考 https://blog.csdn.net/maomao5945/article/details/79354204)

回到現實情況,在ifconfig中,4個網口的名字分別是enp59s0f0~enp59s0f3,而在network-scripts目錄下則是eno1~eno4。

先檢視下b)問題,

先嚐試ip addr命令:結果4個網絡卡都是<BROADCAST,MULTICAST>,之前的經驗是如果沒插網線,會顯示<NO-CARRIER,BROADCAST,MULTICAST>,NO-CARRIER應該表示沒接網線。接上網線顯示<BROADCAST,MULTICAST,UP,LOWER_UP>。

使用ethtool工具,ethtool -penp59s0f0,網口正常的情況下,enp59s0f0對應的網絡卡會亮燈,結果確實也亮了燈,說明網絡卡網線都是正常的。

把網線接在enp59s0f0對應網口,ethoolenp59s0f0檢視網口資訊,其中speed項顯示1000Mb/s,但是Link detected項顯示no。

用ifup命令也不成功,所以推測還是檔案不匹配原因,回到a):

在/etc/sysconfig/network-scripts目錄下,直接把ifcfg-eno1檔案重新命名為ifcfg-enp59s0f0,然後修改檔案內容:

NAME=enp59s0f0
DEVICE=enp59s0f0
UUID=***  ("nmcli con"命令檢視)
HWADDR=*** (mac地址,用ifconfig裡的內容填上)

主要的專案如上,其餘專案按一般規則填寫。

然後嘗試ifupenp59s0f0,成功啟動,再ifconfig發現出現了IP地址,到這裡問題解決。