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