複製完整的 XEN LVM 伺服器,包括所有 VM

複製完整的 XEN LVM 伺服器,包括所有 VM

我訂購了一台更快的 Hetzner 根伺服器,將我的 XEN 機器以及所有捲組、lvm 捲和虛擬機移至那裡。

我已經開始在那裡創建相同的 xen 虛擬機,複製設定檔和用戶資料並安裝與舊虛擬機中相同的軟體包,但那就是很多工作

有沒有一種簡單的方法可以真正實現複製 一切在基本根級別上,包括raid 1 上的所有分區,這樣我就可以獲得舊伺服器的精確副本?

然後我只需要從根控制台調整 IP 就可以了

答案1

xenA:您以前的伺服器

xenB:您的新伺服器

第 1 步:使用即時 Linux 發行版啟動兩台伺服器(Ubuntu、Fedaora、CentOS)

步驟2:在新伺服器中啟動 ssh 服務

Step3:在xenA執行以下指令

dd if=/dev/sdX bs=16M | pv |  ssh user@xenB dd of=/dev/sdX

其中 X 表示連接到伺服器的本機磁碟。您可以使用“lsblk”命令找到它們。

註:pv用於監控數據。

第四步:修改IP位址以及其他所有更改的參數。

使用此方法,您無需擔心分割區、lvm 捲和上面的檔案系統。

希望這個方法能解決您的問題。

1. 步驟:透過使用 linux single 變更引導參數:“vga=785splash”,將引導至單一模式。您可以從下面的連結找到螢幕截圖。

https://support.citrix.com/article/CTX116019#Resetting%20Password%20in%20XenServer%20Versions%205.0%20and%20Later

  1. 步驟:在您的主機上以單一使用者模式啟動網路服務,並將確切的區塊裝置傳輸到另一台機器。
 dd if=/dev/sda bs=16M |  ssh user@backuphost dd of=backup.img 

您可以在下面找到有關壓縮的詳細資訊:

有多種方法可以實現這一目標。

  1. dd 和 netcat警告:此方法會暴露您在網路上交易的時間消耗資料。

如果您能夠使用單一使用者或另一個即時映像啟動系統,您可以使用 dd 方法來取得伺服器的精確副本,必須停止所有服務和虛擬機器以確保資料完整性:

  • 透過執行下列命令來準備備份主機(如果您正在使用遠端備份主機以避免 ssh 逾時,請使用 screen 或 tmux 或使用命令來 fork 後台)
nc -l RANDOMPORTNUMBER|bzip2 -d|dd bs=16M of=backup.img
  • 在您的虛擬機器主機上,您可以執行以下命令以複製您的確切主機
dd bs=16M if=/dev/sda|bzip2 -c|nc ipaddressofbackuphost RANDOMPORTNUMBER
  1. 焦油和 ssh我個人更喜歡這種方法,而不是在需要時備份我的遠端電腦。此方法不會直接將您的資料公開到公共網絡,因為它使用 ssh。

我更喜歡這種方法的另一個原因是,備份將在檔案層級完成,不需要備份的空白空間和區塊裝置被排除在外,這樣我們就可以節省儲存和流量。既然你聲明你想要一個精確的克隆,我不得不談論第一種方法。

請不要忘記根據您的發行版和應用程式修改排除的掛載點。您必須考慮是否按儲存和流量收費。

cd / # THIS CD IS IMPORTANT THE FOLLOWING LONG COMMAND IS RUN FROM /
tar -cvpzf backup.tar.gz \
--exclude=/backup.tar.gz \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/run \ 
--exclude=/media \ 
--exclude=/var/log \
--exclude=/var/cache/apt/archives \
--exclude=/usr/src/linux-headers* \ 
--exclude=/home/*/.gvfs \
--exclude=/home/*/.cache \ 
--exclude=/home/*/.local/share/Trash / | ssh <backuphost> "( cat > ssh_backup.tar.gz )"

您可以在這裡找到有關該主題的更多詳細資訊:

相關內容