7-1-1-3
兩台 proxmox 主機間的直接手動設定複製
- 方式:把兩台 proxmox 主機以 scp 方式直接複製虛擬機至另一台 proxmox 主機 做為備援使用,且可立即執行。
- 兩台獨立 proxmox 主機/建立 叢集管理的主機 ==> 都可以使用這個方式.
- 兩台獨立 proxmox主機: VMID 可以建立相同的 VMID,或是不同的 VMID 皆可。
建立 叢集管理 的主機:VMID 在叢集裡是唯一的,不可以相同,所以必須更改為不同的 VMID.
- 實作:兩台獨立 proxmox 主機的作法:
主機 |
proxmox2 |
proxmox3 |
Storage |
VM2 |
VM3 |
Storage目錄 |
/VM_proxmox2_320G |
VM_proxmox3_500G |
原來的VMID |
100 |
105 |
變更後的 VMID |
123 |
123 |
變更後的設定檔 |
123.conf |
123.conf |
- 前置作業:
- 兩台獨立 proxmox 主機的作法:直接在兩台 proxmox 主機分別以指令列修改設定檔,兩台都改成一樣的即可。
- proxmox2主機:
設定檔位置:/etc/pve/qemu-img/
# cd /etc/pve/qemu-img/
# mv 100.conf 123.conf --->可以直接把檔名改掉(檔名變更,就是直接變更 VMID
# pico 123.conf ---> 修改 VMID 123 的設定檔內容, 下方紅字就是要修改的部份
---> AA:AA:AA:AA:A1:23 -> 網卡mac , 只要不重複即可,其實重複也沒關係,
只要mac一樣的VM不要同時啟動即可。
---> VM2 ---> 依照主機的Storage 修改.
---> 123 ---> 與該虛擬機的 VMID 一樣的數字,這是相對應的目錄,位置在 Storage目錄/images/123
修改後記得把原來虛擬機的目錄改成123,
# mv /VM_proxmox2_320G/images/100 /VM_proxmox2_320G/images/123
其實不用改也沒關係,
這個數字只是告訴proxmox 到 /VM_proxmox2_320G/images/ 底下的那一個目錄找檔案
如 sata0: VM2:123/STP-1-ACFS1204.qcow2,format=qcow2,size=12G 這一行裡就表示
VM2 -> /VM_proxmox2_320G/ 再加上 123/STP-1-ACFS1204.qcow2 就等於
/VM_proxmox2_320G/123/STP-1-ACFS1204.qcow2 這樣瞭解了吧!
所以,在設定檔裡面的那個數字有改沒改沒關係,只要搞清楚就好,但一旦搞不清楚就…
所以,改成與 VMID 一樣的數字(目錄名稱也要同步改)就能清楚明白這是那一個 VM.
# cat 123.conf
balloon: 512
bootdisk: sata0
cores: 2
ide2: none,media=cdrom
memory: 864
name: STP
net0: e1000=AA:AA:AA:AA:A1:23,bridge=vmbr0
ostype: l26
sata0: VM2:123/STP-1-ACFS1204.qcow2,format=qcow2,size=12G
sata1: VM2:123/STP-2-mysql.qcow2,format=qcow2,size=512M
sata2: VM2:123/STP-3-gallery2.qcow2,format=qcow2,size=20G
sata3: VM2:123/STP-4-gallery3.qcow2,format=qcow2,size=20G
sockets: 1
-
proxmox3主機:
# cd /etc/pve/qemu-img/
# mv 105.conf 123.conf --->可以直接把檔名改掉(檔名變更,就是直接變更 VMID
# pico 123.conf
# cat 123.conf
balloon: 512
bootdisk: sata0
cores: 2
ide2: none,media=cdrom
memory: 864
name: STP
net0: e1000=AA:AA:AA:AA:A2:23,bridge=vmbr0
ostype: l26
sata0: VM3:123/STP-1-ACFS1204.qcow2,format=qcow2,size=12G
sata1: VM3:123/STP-2-mysql.qcow2,format=qcow2,size=512M
sata2: VM3:123/STP-3-gallery2.qcow2,format=qcow2,size=20G
sata3: VM3:123/STP-4-gallery3.qcow2,format=qcow2,size=20G
sockets: 1
有沒有發現,兩台主機上的VMID是相同的,設定檔的名稱(也就是VMID)也要改成一樣,不同的只有 VM2 / VM3 , 還有網卡的 mac 不同而已。
總結:只要把其中一台的設定檔設定好,直接把內容 copy ->paste ,在另一台上改一下 VMID及網卡MAC,再變更虛擬機目錄名稱就OK了。
- 建立 叢集管理 的主機:
- 與獨立proxmox不同之處:叢集主機之間的所以主機,在這個例子裡有兩部主機 proxmox2 與 proxmox3
這二部主機可以想像成是一個家庭,家裡不會有同名同姓的另外一個賽,所以,所有的VM的VMID是唯一的
不能重複,另外也可以說,所以的 VM 分別放在叢集所屬的主機中。
- 前置作業:
主機 |
proxmox2 |
proxmox3 |
Storage |
VM2 |
VM3 |
Storage目錄 |
/VM_proxmox2_320G |
VM_proxmox3_500G |
原來的VMID |
100 |
105 |
變更後的 VMID |
123 |
133 |
變更後的設定檔 |
123.conf |
133.conf |
VM目錄 |
/VM_proxmox2_320G/images/123 |
VM_proxmox3_500G/images/133 |
- 叢集管理的虛擬機設定檔位於 /etc/pve/node/ 底下,
與獨立主機的設定檔位置 /etc/pve/qemu-img/ 不太一樣,
但本機的設定檔會被連結指向到 /etc/pve/nodes/ 目錄下的本機主機名稱目錄下
# ls -alF /etc/pve/nodes/
drwxr-x--- 2 root www-data 0 Sep 19 20:26 proxmox2/
drwxr-x--- 2 root www-data 0 Sep 19 20:31 proxmox3/
經實作後發現,在以 ssh 登入叢集群組的任一台主機後,每一台proxmox主機 /etc/pve/nodes/目錄下都會同步所有叢集主機的設定檔,也就是說,在任一台主機修改任一台主機裡的proxmox VM 的設定檔,其它台的主機裡的設定檔也會立即同步。 ==> 只有設定檔會同步,而目錄名稱的變更還是要分別登入各自的主機變更。
-
先來看看設定檔的位置

-
再來觀察設定檔的內容與編寫

-
接下來再分別登入 proxmox2 與 proxmox3 主機變更 該虛擬機的目錄名稱

-
其它的 虛擬機也可以按照這個程序製做。

-
到這裡完成 在不同叢集管理主機間的虛擬主機 ->設定/備份
裡面的檔案當然是利用 scp 的方式傳到另一台主機,到這裡懂了嗎?
接下來下一章節我們再來介紹利用 scp 的方式把虛擬機直接 傳到另一台 proxmox 主機。