最近經歷了一次服務器跨地域遷移,對服務器的分區有一些感想。
因爲以前已經經歷過了兩次服務器架構調整,第一次是把物理機虛擬化成ESXi虛擬機,這個過程比較簡單,基本上都有圖形工具,用了一段時間以後發現免費版本的限制比較多,並且沒有web管理端有點不方便。第二次調整是直接把ESXi虛擬機換成了Proxmox pve的KVM虛擬機,這個過程稍微複雜一些,須要用到比較多的指令,可是完成遷移以後用起來簡直太方便了。
通過兩次架構調整以後,我在兩個城市分別搭建了兩個Proxmox集羣,每一個集羣都只是2到3臺物理機,上面跑了四五臺虛擬機。爲了使虛擬機能夠在集羣中各個主機之間進行熱遷移,我把每臺物理機的大部分硬盤空間都劃出來搭建了NFS存儲,所以個人一個典型的集羣配置是這樣子的:有3臺物理機,上面都安裝了proxmox固件,主機名分別爲pve一、pve二、pve3,上面的硬盤空間劃分出來搭建了3個NFS服務器,分別名爲nfs-pve一、nfs-pve二、nfs-pve3,而後把這些nfs掛載到proxmox的storage中,這樣子每臺主機均可以看到這三個NFS存儲,所以存儲在這三個NFS存儲上的客戶機是能夠在各個主機之間進行熱遷移的。
此次須要把一個城市中的集羣中全部虛擬機遷移到另一個城市,用網絡傳輸是不太靠譜的方案,由於數據量太大。比較好的方案是利用proxmox提供的備份功能,把每一個個虛擬機都打包成tar包,放到硬盤中帶到目的城市,把硬盤掛載到proxmox集羣的一主機上,利用恢復功能把虛擬機從新部署上去。
備份過程因爲須要壓縮,若是數據量大的話須要花費大量時間,所以,出於便於遷移和備份的考慮,個人建議是對linux操做系統的分區不須要太大,例如我是直接用一個512M的boot分區加上一個20G的根分區就能夠了。對於須要大量存儲的目錄,好比/var或者/home/ftp,再額外掛載一個新的分區,可是在備份的時間不對這些分區時間備份,只對操做系統進行備份,這些分區直接經過低層複製的方法複製到移動硬盤,速度會慢不少。
在個人例子中我是用了一個西部數據的NAS,開通了其中的NFS功能,再把它掛載到proxmox上,名字爲nfs,而後把虛擬機備份到nfs上,其餘大存儲的分區也移動到這個nfs上,備份過程界面以下圖:
虛擬機備份流程
一、選擇須要備份的虛擬機;
二、選擇backup選項卡;
三、單擊backup now按鍵;
四、在彈出的窗口中選擇保存備份的儲存空間;
五、選擇壓縮方式。
最後按backup便可。
把存放有備份文件的nas拿到目的城市,掛載到proxmox上,名字能夠仍然叫nfs,而後在web界面進行以下操做:
虛擬機恢復流程
一、選擇保存有備份文件的存儲空間(本例中是nfs);
二、選擇content選項卡;
三、選中須要恢復的備份文件;
四、單擊restore按鍵;
五、在彈出的窗口中選擇新的虛擬機硬盤的存儲空間以及新的VM ID,須要注意的是這裏的VM ID不必定須要跟備份的時候同樣,可是不能跟目前該proxmox上已有的虛擬機的VM ID重複。
最後按restore便可。linux