Proxmox VE 單節點 重建系統&還原
2025-04-17 彭俊源分享
系統
原系統: PVE 8.3.0
新系統: PVE 8.4.0硬體:
PVE系統碟: 100GB
PVE datastore : 200GB (ZFS)虛擬機
VM 100: rocky1 > PVE datastore
VM 101: rocky9-minimal > PVE datastore流程說明:
- 將PVE 8.3.0 配置設定檔案 /etc/pve 打包備份至 /datastore
- pve8-3_config.tar.bz2 放置在 /datastore 備存。
- 將PVE 8.3.0 系統碟使用 PVE8.4 ISO重新安裝。
- 掛上ZFS datastore。
- 還原PVE 8.3配置檔案至 /etc/pve/
備份系統配置檔
點選pve8-3節點,執行 “命令列”

執行備份指令
1 | root@pve8-3:~# tar jcvf /datastore/pve8-3_config.tar.bz2 /etc/pve |

- 檢視備份檔案是否完成
1 | root@pve8-3:~# ls -al /datastore/ |
![[Pasted image 20250417064147.png]]
- 將VM 100 VM101 進行關機
1 | root@pve8-3:~# qm list |

1 | root@pve8-3:~# qm stop 100 |

重新安裝Proxmox 8.4
安裝/dev/sda 100GB
PVE統碟<安裝過程 略>
已重新安裝完成
新系統 PVE 8.4
匯入ZFS Pool
- 先查看磁碟分配,確認datastore硬碟代號
1 | root@pve:~# lsblk |

- 查看/dev/sdb1 ZFS pool
1 | root@pve:~# zpool import -d /dev/sdb1 |

- 匯入zfs pool
1 | root@pve:~# zpool import -f datastore |

重新加入ZFS datastore

新增 ZFS


- 這時確認Datacenter已加入datastore

1 | root@pve:~# pvesm status |

還原PVE Config
- 移動至/datastore 確認pve config 備份檔
1 | root@pve:~# cd /datastore/ |
1 | root@pve:~# cd /datastore/ |

- 解壓縮備份檔
1 | root@pve:/datastore# tar jxvf pve8-3_config.tar.bz2 |

==因停用服務,Web GUI將暫停離線,這時可使用putty或其他ssh軟體連入PVE==
- 先行停用系統服務 pvedaemon 、pveproxy
1 | root@pve:/datastore/etc/pve# systemctl stop pvedaemon.service pveproxy.service |

- 移動至/datastore/etc/pve 目錄 及確認
當前目錄pwd
1 | root@pve:~# cd /datastore/etc/pve/ |

- 依實際需求還原以下檔案 (此例將演示還原橘色字部分config)
| 路徑 | 說明 |
|---|---|
/etc/pve/qemu-server/ |
KVM 虛擬機(VM)的設定檔(每台 VM 一個 .conf 檔) |
| /etc/pve/lxc/ | LXC 容器的設定檔(每個 container 一個 .conf檔) |
/etc/pve/storage.cfg |
儲存空間(Storage)的設定檔 |
/etc/pve/datacenter.cfg |
整個資料中心的全域設定 |
/etc/pve/user.cfg |
使用者、群組、角色與權限設定 |
| /etc/pve/priv/ | 包含 SSH 金鑰與加密的私人設定資料(例如:憑證、使用者私鑰等) |
/etc/pve/nodes/nodename/ |
節點相關設定(如網路設定備份等) |
| /etc/pve/firewall/ | 防火牆規則設定(如果有啟用 Proxmox 防火牆) |
| /etc/pve/ha/ | 高可用性(HA)設定(如果有使用) |
| 6. 還原設定檔 |
1 | root@pve:/datastore/etc/pve# cp -r qemu-server/* /etc/pve/ |

- 啟用系統服務 pvedaemon 、pveproxy
1 | root@pve:/datastore/etc/pve# systemctl start pvedaemon.service pveproxy.service |

啟動虛擬機 100(rocky)、101(rocky-minimal)
回到Web GUI介面,可看到虛擬機config已恢復

因先前我們/etc/pve備份檔是放在 /datastore上,
所以當時必須要手動先掛上ZFS讀取資料
但因還原/etc/pve/storage.cfg時,Datacenter下的datastore會消失,需要在手動掛上一次
左方Datacentor沒有datastore,需要重新Remove再次加入一次

點選 datasotre 後 按下
Remove> yes
重新點選Add > 加入ZFS

輸入ID後按下Add

此時左方datastore 已恢復

啟動虛擬機100(rocky)
1 | root@pve:~# qm start 100 |
==這時會發現虛擬機無法開機,因當時未正確移除iso安裝檔==
- 修改 /etc/pve/qemu-server/100.conf 及 /etc/pve/qemu-server/101.conf
1 | root@pve:/etc/pve/qemu-server# nano /etc/pve/qemu-server/100.conf |
1 | root@pve:/etc/pve/qemu-server# nano /etc/pve/qemu-server/100.conf |
游標移至此行,將其刪除

刪除後 按下 ctrl +O 寫入存檔

ctrl+X > Y > Enter 離開編輯

==虛擬機101也請依照上方步驟修正==
- 啟動虛擬機100(rocky)、101(rocky-minimal)
1 | root@pve:~# qm start 100 |

- 虛擬機已正常啟動運作

#proxmox
Proxmox VE 單節點 重建系統&還原