# 更換 Proxmox 叢集網路 ## 目標 * 將 proxmox 網段從 `192.168.50.0/24` 更換到 `192.168.61.0/24` ![image](https://hackmd.io/_uploads/ByBSHGrU0.png) #### 原本網路設定 > p1: 192.168.50.100/24 > p2: 192.168.50.101/24 > p3: 192.168.50.102/24 #### 目標網路設定 > p1: 192.168.61.100/24 > p2: 192.168.61.101/24 > p3: 192.168.61.102/24 ## 設定 1. 檢查 corosync 設定檔 ``` $ cat /etc/pve/corosync.conf logging { debug: off to_syslog: yes } nodelist { node { name: p1 nodeid: 1 quorum_votes: 1 ring0_addr: 192.168.50.100 } node { name: p2 nodeid: 2 quorum_votes: 1 ring0_addr: 192.168.50.101 } node { name: p3 nodeid: 3 quorum_votes: 1 ring0_addr: 192.168.50.102 } } quorum { provider: corosync_votequorum } totem { cluster_name: topgun config_version: 4 interface { linknumber: 0 } ip_version: ipv4-6 link_mode: passive secauth: on version: 2 } ``` 2. 更改 corosync 設定檔 * 當第一台做完設定會同步到所有 node 上 ``` $ cp /etc/pve/corosync.conf /etc/pve/corosync.conf.new # config_version 一定要往上增加數字,只要比原本數值大就可以,這個非常重要 $ nano /etc/pve/corosync.conf.new logging { debug: off to_syslog: yes } nodelist { node { name: p1 nodeid: 1 quorum_votes: 1 ring0_addr: 192.168.61.100 # change } node { name: p2 nodeid: 2 quorum_votes: 1 ring0_addr: 192.168.61.101 # change } node { name: p3 nodeid: 3 quorum_votes: 1 ring0_addr: 192.168.61.102 # change } } quorum { provider: corosync_votequorum } totem { cluster_name: topgun config_version: 5 # change interface { linknumber: 0 } ip_version: ipv4-6 link_mode: passive secauth: on version: 2 } $ mv /etc/pve/corosync.conf.new /etc/pve/corosync.conf ``` 3. 更換每一台 Proxmox host `/etc/hosts` & `/etc/network/interfaces` * 設定 p1 ``` $ nano /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.61.100 p1.example.com p1 ``` ``` $ nano /etc/network/interfaces auto lo iface lo inet loopback iface ens32 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.61.100/24 gateway 192.168.61.2 bridge-ports ens32 bridge-stp off bridge-fd 0 source /etc/network/interfaces.d/* ``` * 重啟服務 ``` $ systemctl restart networking $ systemctl restart pve-cluster.service $ systemctl restart corosync.service ``` * 設定 p2 ``` $ nano /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.61.101 p2.example.com p2 ``` ``` $ nano /etc/network/interfaces auto lo iface lo inet loopback iface ens32 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.61.101/24 gateway 192.168.61.2 bridge-ports ens32 bridge-stp off bridge-fd 0 source /etc/network/interfaces.d/* ``` * 重啟服務 ``` $ systemctl restart networking $ systemctl restart pve-cluster.service $ systemctl restart corosync.service ``` * 設定 p3 ``` $ nano /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.61.102 p3.example.com p3 ``` ``` $ nano /etc/network/interfaces auto lo iface lo inet loopback iface ens32 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.61.102/24 gateway 192.168.61.2 bridge-ports ens32 bridge-stp off bridge-fd 0 source /etc/network/interfaces.d/* ``` * 重啟服務 ``` $ systemctl restart networking $ systemctl restart pve-cluster.service $ systemctl restart corosync.service ``` ## 檢查 * 確認已更換到新的網段,並且叢集皆正常 ![image](https://hackmd.io/_uploads/SyFuBzHIA.png) ## 參考文件 https://codingpackets.com/blog/proxmox-cluster-change-ip-addresses/ https://pve.proxmox.com/wiki/Separate_Cluster_Network