Linux

將一個虛擬機的 ip 移動到另一個虛擬機

  • December 16, 2020

我在同一台機器上託管了兩台虛擬機,其中一台在本質上是活動的,即託管服務並連接到客戶端(客戶端直接在主機上執行)。我必須實現容錯服務,即在主虛擬機發生故障時,客戶端會自動連接到輔助虛擬機,因為兩個虛擬機都託管相同的服務。

我在某處讀到關於浮動 IP 的資訊,但當我檢查時,我發現它是一項付費服務。有什麼簡單的方法可以實現這一點,而且不需要花錢嗎?

該機器是基於Linux的,具體來說,主機是ubuntu 20.,VMs有ubuntu 18.

您可以通過以下任一方式實現“浮動 IP”,也稱為 VIP 或虛擬 IP:

僅供參考:您還可以通過讓他從列表中選擇健康的伺服器來實現客戶端的冗餘。

請注意,不建議在同一主機上的虛擬機之間實現冗餘。(主機是單點故障)

我建議您在應用程序/VM 前使用反向代理作為負載均衡器。您可以使用類似nginxhaproxy

nginx 配置將如下所示:

http {
   upstream backend {
       server backend1.example.com;
       server backend2.example.com;
       server 192.0.0.1 backup;
   }
   
   server {
       location / {
           proxy_pass http://backend;
       }
   }
}

它會自動對上游主機進行健康檢查,因此如果任何上游主機出現故障,nginx 會自動檢測到它,從而停止向不健康主機發送請求。

您可以在以下位置閱讀更多資訊: https ://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/

引用自:https://serverfault.com/questions/1046326