介紹了centos7系統,網絡卡啟動失敗的兩種情況,和對應的分析解決方法。
情景一:ifconfig
檢視不到網絡卡ip配置,網絡卡沒有正常啟動。
處理過程:
1、啟動網絡卡
systemctl start network
嘗試啟動網絡卡,不能正常啟動,提示需要執行 "systemctl status network"
2、執行
systemctl status network
提示錯誤資訊failed to start lsb: bring up/down networking.
報錯提示的不夠明確,不能直接判定是什麼問題。google 了一圈這個報錯,發現大多都是網絡卡配置檔案配置錯誤,或者mac位址不對。
檢視ecs的網絡卡配置檔案內容都正確,網絡卡配置檔案中原先也是沒有配置mac位址,所以排除了網絡卡配置檔案的問題。
3、繼續尋找更詳細一些的錯誤,檢視了/var/log/messages
系統日誌,在伺服器啟動的message資訊中,發現網絡卡啟動失敗的錯誤,找到了真實的報錯。
錯誤顯示是 ifup 這個命令沒有許可權執行。
4、ifup
這個命令,是在/etc/sysconfig/network-scripts/
目錄中,是乙個軟連線,實際的檔案是/usr/sbin/ifup
檢視這個檔案的許可權,果然沒有執行許可權,
加上許可權後,重啟網絡卡恢復正常。
情景二: 啟動網絡卡報錯:device eth1 does not seem to be present,delaying initialization
處理過程:
1、device eth1 does not seem to be present,delaying initialization
這個報錯,是缺少網絡卡驅動virtio_net
導致。
lsmod
檢視系統載入的驅動中,沒有virtio_net
用modprobe virtio_net
嘗試新增網絡卡驅動,重啟網絡卡systemctl restart network
還是報錯,網絡卡驅動沒有載入成功。
2、驅動檔案都是在/lib/modules/
目錄下對應核心版本中存放的, 檢視伺服器中竟然沒有/lib/modules/
這個目錄,/lib
目錄中沒有系統的庫檔案,而是一些指令碼檔案, 肯定是被改過了。
3、把原目錄/lib
備份一下,然後ln -s /usr/lib /lib
重新軟鏈/lib
目錄。
4、執行modprobe virtio_net
新增網絡卡驅動,這次正常載入了。
最後重啟網絡卡恢復正常。
centos 7 x編寫開機啟動服務
在系統服務目錄裡建立nginx.service檔案 vi lib systemd system nginx.service內容如下 unit description nginx after network.target service type forking execstart usr local...
centos7 x設定nginx開機自啟動
1 在 lib systemd system 下新建nginx.service檔案,內容如下 unit description nginx service after network.target service type forking execstart sbin nginx execreloa...
Centos7 x開機自啟動指令碼
1 因為在centos7中 etc rc.d rc.local的許可權被降低了,所以需要賦予其可執行權 chmod x etc rc.d rc.local2 賦予指令碼可執行許可權 假設 usr local script autostart.sh是你的指令碼路徑,給予執行許可權 chmod x us...