集群伺服器的業務IP
① 一個集群對應一個IP地址,是這樣的嗎
通常我們提到的集群是指內網集群,這時候對外是一個ip,對內是一個網段;近兩年還有公網集群,這樣的集群各個伺服器ip地址都獨立。
② 一台伺服器 搭建redis 集群的節點ip 為啥是127.0.0.1
所有的設備都使用127.0.0.1這個ip代表本地ip使用,不對外發布
③ 集群伺服器有多少個ip
他們對外的ip地址就只有一個可稱為主ip,集群伺服器是基於後台處理,當數據到達主ip的伺服器之後,這主伺服器會分別把要處理的數據轉交給後面的其它輔集群伺服器進行數據處理,輔助伺服器的ip不一定是外網的,只要能和主伺服器通訊就可以了。這只是其中一種集群方式。
④ 伺服器集群可以直接更改IP嗎
你是要改內網IP還是公網IP?
內網IP你可以自己隨意改,公網IP只要買過來了也可以改啊
對伺服器有沒有影響,這個要看你伺服器上運行的項目了,一般來說,建站的大部分只需要改下域名解析就行了。不過還要具體看你伺服器上的項目。比如discuz還要修改UC通訊。
⑤ shell腳本修改集群IP
程序邏輯有問題。
你的想法是將10.255.0.11改成11.11.11.14,10.255.0.12改成11.11.11.15,
但是你的腳本是在每一台伺服器上都遍歷了11.11.11.14~15,最後修改成的ip(11.11.11.15)才是生效的,之前的修改都被後面的修改覆蓋了。
正確的寫法是建立兩個數組分別表示原來的ip和新的ip,遍歷第一個數組的同時,按照元素序號對應取第二個數組的值,從而達到修改的目的。
兩個數組同步遍歷的寫法如下:
#!/bin/bash
array1=(10.255.0.{11..12})
array2=(11.11.11.{14..15})
i=0
for ip in ${array1[@]}
do
echo ${ip}"->"${array2[i]}
#你的修改
#你的修改
let i++
done
補充一句,你的修改不會使新ip生效,即使生效了,也因為ip生效一瞬間你的ssh連接中斷,會產生無法估計的後果。正確的做法以單引號引用一個後台重啟網卡服務的命令:
ssh $RemoteHost 'service xinetd restart 1>/dev/null 2>&1 &'
當然,不同linux版本重啟命令不一致,但基本寫法是通行的。
⑥ 一個集群中各個伺服器的ip地址一樣嗎
不一樣,在外網連接時是一個固定IP連接到此集群,在集群內是各伺服器有各自IP一般前段一致尾數為順序