網(wǎng)站網(wǎng)站制作服務(wù)/品牌宣傳如何做
- libvirt版本:libvirt-10.0.0
- qemu版本:qemu-8.2.0
在生產(chǎn)環(huán)境中,大多數(shù)的場景是 vmware 虛擬機遷移到 qemu 環(huán)境,一般是通過關(guān)機然后導出、導入磁盤鏡像來實現(xiàn)。
如果要將 qemu 環(huán)境虛擬機遷移到 vmware 怎么辦呢?要求業(yè)務(wù)中斷時間盡可能短。
下面介紹一種思路,來實現(xiàn)類似熱遷移的效果(實際并不是熱遷移,內(nèi)存沒辦法做到熱遷移,只是將業(yè)務(wù)中斷時間縮短到很小間隔)。
1. 實現(xiàn)原理
具體思路是通過對 qcow2 做外部快照,然后 convert 外部快照到 vmdk ,重復 n 次外部快照+convert,同時轉(zhuǎn)換后的 vmdk 也保持著完整快照鏈,最后階段進行停機,將最后的磁盤 convert 到 vmdk,啟動 vmware 虛擬機。
2. 創(chuàng)建測試虛擬機 testvm
首先創(chuàng)建一個虛擬機 testvm, 此虛擬機有 2 塊磁盤:vda 系統(tǒng)盤,vdb 數(shù)據(jù)盤。下面我們以 vdb 數(shù)據(jù)盤為目標來做 vmware vmdk磁盤的遷移(vda系統(tǒng)盤類似)。
3. 操作步驟
(1)啟動虛擬機
(2)進入虛擬機,格式化 vdb磁盤,然后掛載,寫入文件 1.txt
(3)在host上,為 vdb 磁盤創(chuàng)建外部快照 snap1
(4)上一步 data.qcow2 是只讀 backing file 磁盤,現(xiàn)在我們可以安全的對這個磁盤進行轉(zhuǎn)換 ( convert ) 操作了
(5)在進入虛擬機 創(chuàng)建 文件 2.txt
(6)在host上,為 vdb 磁盤創(chuàng)建外部快照 snap2
(7) 對 snap1.qcow2 進行轉(zhuǎn)換 ( convert ) 操作
這里需要指定 backing file 為第4步convert 后的 data.vmdk
(8)至此, 我們 可以重復執(zhí)行 5、 6、 7 步驟 一直創(chuàng)建 vmdk 的快照鏈
(9)最后驗證我們生成的 vmdk快照鏈是否可用
通過 qemu-nbd 掛載到本地,然后再 mount 到指定路徑下,可以看到我們之前創(chuàng)建的文件及寫入文件的內(nèi)容,經(jīng)驗證 vmdk 磁盤完整可用。
參考文檔:
qemu-img 文檔翻譯: https://blog.jcix.top/2018-09-28/qemu_img_doc/
遷移原理整理—VMware納管原理 :https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=117363