配置鏈路聚合中極小錯誤——失之毫厘謬以千裏
敲了以下命令配置team的鏈路聚合,
nmcli con add type team con-name team0 ifname team0 config "{"runner":{"name":"activebackup"}}"
nmcli con modify team0 ipv4.addresses 192.168.10.2/24 ipv4.method ma
nmcli con add type team-slave con-name team0-eth1 ifname eth1 master team0
nmcli con add type team-slave con-name team0-eth2 ifname eth2 master team0
奈何奇怪的事總是發生?
[root@desktop0 ~]# teamdctl team0 state
Device "team0" does not exist
總是告訴我沒有這個設備,什麽情況呢?查詢各種資料,又不停的重復做,上述命令都成功執行,卻總是提示沒有這個設備?苦思憫想,奈何也發現不了。不得已用圖形配成功,然後我發現了一個奇怪的事,之前我命令配的此句{"runner":{"name":"activebackup"}}在圖形化中顯示這樣{runner:{name:activebackup}}。仿佛突然間獲得了上帝的青睞,靈機一動,頓時發現錯誤之所在,肯定是此句有毛病"{"runner":{"name":"activebackup"}}"
翻書越度娘,答案明朗。
原來是 " " 和‘ ‘的區別!!
" " 這個叫雙引號,意思是保留其中的變量屬性,不進行轉義處理。人話就是雙引號裏面有變量,就把這個變量給翻譯成這個變量所代表的值。
‘ ‘ 這個叫單引號,意思是轉義其中所有變量為單純的字符串。人話就是如果單引號裏面有變量,就不翻譯這個變量的值。
可是這些解釋和上述有關嗎?這個雙引號裏又沒有變量,裏面只是夾雜著雙引號,所以你只能理解裏面夾雜的雙引號被刪除,所謂同性相斥吧!
所以你想打出裏面的單引號,只能異性相吸呢!‘{"runner":{"name":"activebackup"}}‘ 可以這樣打出,就完美呢!
或者你不怕麻煩的話,用\這個可以把任何符號變成其真實模樣"{\"runner\":{\"name\":\"activebackup\"}}" 這樣也OK。
好啦,實踐我的猜想!
[root@server0 ~]# teamdctl team0 state
setup:
runner: activebackup
ports:
eth2
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
runner:
active port: eth2
總算找到我的設備呢!浪費了我一下午。。。。。。
不由感嘆,真是失之毫厘,謬以千裏啊!
任何細微差錯在服務器上都不能通過。
配置鏈路聚合中極小錯誤——失之毫厘謬以千裏