乙個lxc網路無法啟動問題的描述及解決

2021-10-07 21:22:16 字數 1067 閱讀 8872

作者利用lxc進行了大規模集群的部署,在昨天的測試過程中發生了乙個不大不小的問題:lxc網路無法啟動。

具體表現為:

重啟裝置後,lxcbr0網橋消失,ifconfig命令和brctl命令均無法返回有效結果;

利用 service lxc-net restart 命令無法重啟網路,由於作者比較懶惰,忘記了截圖,模糊記得具體表現為提示重啟lxc網路失敗,並提示執行 systemctl status lxc-net.service(加班太晚,腦子漿糊了,不一定完全準確,但是大概是這麼個意思);

輸入提示要求的命令 systemctl status lxc-net.service(...大概吧...),返回結果顯示 restart failed ,執行記錄執行到讀取dnsmasq.conf檔案的第34行,然後後面就時 code exit 了。

仔細梳理一下,顯然當前問題是伺服器重啟後lxc重新啟動lxc網路服務,即為lxc配置網路,具體的來說就是配置乙個名為lxcbr0的網橋,啟動的lxc容器都將虛擬網絡卡接到lxcbr0網橋上。而目前通過ifconfig和brctl查詢得到的返回結果來看,lxcbr0網橋並沒有成功啟動。

再來講講這個dnsmasq.conf檔案,重啟lxc網路失敗,failed前執行的最後乙個動作是讀取dnsmasq.conf檔案,這個檔案路徑為 /etc/lxc/dnsmasq.conf ,dnsmasq能夠快取外部dns記錄,同時提供本地dns解析或者作為外部dns的**,即dnsmasq會首先查詢 /etc/hosts 等本地解析檔案,然後再查詢 /etc/resolv.conf 等外部nameserver配置檔案中定義的外部dns。檢視dnsmasq.conf檔案,裡面是之前執行時配置產生的各容器對應的ip位址,由於實在數目龐大,作者沒法仔細查驗具體問題,盲猜是多次實驗測試中配置的ip位址產生了衝突。

問題的解決:直接將 /etc/lxc/ 路徑下的dnsmasq.conf檔案開啟,將裡面的內容全部刪除,重啟伺服器。

由於專案對接的需要,作者不得不使用dhcp進行lxc網路配置,否則這個問題可以用直接注釋了 /etc/network/lxc-net 檔案中的dhcp和dnsmasq相關行,再使用靜態配置直接跳過這個問題。

cdh的mysql無法啟動問題

root spark01 etc init.d mysqld start starting mysqld via systemctl job for mysqld.service failed because the control process exited with error code.se...

解決sonar的ES無法啟動問題

在安裝sonarqube7.8社群版的時候,啟動不起來,檢視日誌,發現是es沒啟動起來。進入sonar中的es目錄,單獨啟動sonarqube自帶的elasticsearch報錯 解決方法 開啟sonar elasticsearch config資料夾,修改資料夾下的jvm.option,將jdk ...

mongodb無法啟動問題一 處理

投稿 junjie 字型 增加 這篇文章主要介紹了ubuntu中安裝mongodb及執行一些簡單操作筆記,本文同時給出了檢視已有資料庫 刪除資料庫 建立資料庫等操作命令例項,需要的朋友可以參考下 首先安裝mongodb,在終端輸入 複製 如下 sudo apt get install mongodb...