前往
大廳
主題

Ubuntu server P2V (一) 實體機轉為hyper-v虛擬機

皓月當空 | 2023-03-27 14:06:04 | 巴幣 0 | 人氣 648

  這個系列文章主要是紀錄將舊版本的ubuntu實體機轉為hyper-v虛擬機,加上縮減虛擬硬碟大小,以及升級ubuntu到新版本遇到的問題及解決方法。算是作業上的雜記加碎碎念。

  工作上所負責的範圍內有一部舊主機,上面安裝了ubuntu desktop 20作為網頁伺服器使用。但那部主機偶爾會出狀況,例如螢幕畫面不正常,或網頁伺服器掛掉。而且那部主機財產是掛在其他單位,是臨時支援的硬體,但一用就用了好幾年。

  我入職時遇到這部主機也很頭大。雖然平常相安無事,但網頁伺服器掛掉要重開時,總是螢幕畫面也剛好不正常而無法操作。每次出問題總是硬體強制重開機也不是辦法。後來單位添購了一部新的伺服器之後,便開始了將這部老機器虛擬化並升級系統的旅程。

  既然是單純的網頁伺服器,所以一開始我打算在伺服器中建一個虛擬機然後安裝網頁伺服器,將網頁程式移過去跑就能完事。但問題在於,明明是單純的網頁伺服器(僅有一隻程式),舊機器卻安裝了Docker的虛擬環境,用虛擬環境去跑正式的服務。用虛擬環境也沒好好規劃設定檔、檔案位置、路徑、金鑰等。一開始要找正確的檔案及資料夾位置就花了好大一番功夫(因為明明只有一個網頁伺服器要跑,上面卻設定了好幾個虛擬環境)。後來總算找齊後,將資料移到建立好的虛擬機中,又因為程式版本及設定的問題沒辦法正常執行。最後決定執行第二個方案,先整機轉為虛擬機,之後再慢慢處理系統的問題。

  將ubuntu的實體機轉為hyper-v虛擬機有一些方法,例如使用軟體直接將硬碟轉為vhd;或是在網路架設ESXi將網路的伺服器轉為虛擬機再轉為hyper-v格式。但這兩個方法在現有環境跟條件下都有執行上的困難,如多數轉換vhd軟體對Windows系統支援較好,可能不支援Linux或需要額外的處理;ESXi則需要搭建相對應的網路及服務環境。後來我嘗試用備份軟體將實體機硬碟備份,再還原到事先建立空的虛擬機上。因為沒有什麼人用這個方法,但經過實作確實成功了。我是用中研院開發的Clonezilla,過程則依照一般主機硬碟製作映像檔的備份還原邏輯就可以了。

創作回應

更多創作