虛擬機器轉殖很慢的一種原因

2021-08-22 19:31:04 字數 1103 閱讀 5305

研發部採購了一台新伺服器,將老伺服器上的虛擬機器磁碟映象通過scp拷貝過來,然後用virt-clone的命令轉殖虛擬機器時,發現轉殖速度非常慢,要十幾分鐘,在老伺服器上轉殖只需兩三分鐘。這個虛擬機器磁碟映象的檔案大小是120gb。

經過排查後發現,新機器上的這個虛擬機器映象的實際占用空間是120gb,而老機器上的是5.5gb,新機器上轉殖時每次都會呼叫qemu-img convert對映象進行格式轉換,這個過程非常慢。

使用qemu-img convert把拷貝過來的映象作一次格式轉換,用轉換後的映象檔案來替代它。命令如下:

# qemu-img convert -f qcow2 -o qcow2 /data/template.qcow2 /data/new-template.qcow2

# mv /data/new-template.qcow2 /data/template.qcow2

# virt-clone -o template -n new-host -f /data/new-host.qcow2

安裝sysstat這個rpm包,在轉殖時執行iostat -d 2命令,發現磁碟寫入速度很低。但是將乙個iso光碟映象檔案複製到這個磁碟時,速度是150多mb每秒,說明磁碟io沒問題。

在轉殖時使用top命令,發現記憶體buff/cached非常多,qemu-img程序消耗了較多的cpu,通過ps -ef | grep qemu-img可以看到程序詳情,通過程序的ppid查到這個程序是virt-clone啟動的。

通過在新老機器上執行ls -lh /data/template.qcow2du -sh /data/template.qcow2命令,發現在新老機器上du -sh顯示的檔案實際占用空間分別是120gb和5.5gb,使用qemu-img info /data/template.qcow2也可以檢視映象實際使用的disk size。

使用scp將映象檔案拷貝過來時,將qcow2檔案中的空洞空間也當作了實際內容寫入磁碟,導致磁碟檔案實際大小變得非常大,在轉殖時就非常慢。

虛擬機器的轉殖

轉殖 轉殖的兩種方式 1 手動轉殖 完整轉殖 test01 test02 將test01轉殖為test02 1 複製xml配置檔案 root localhost cd etc libvirt qemu root localhost qemu cp test01.xml test02.xml 或者 r...

linux 虛擬機器的轉殖

本文為了搭建大資料集群,而去轉殖虛擬機器的,即有一台模板虛擬機器已經修改過靜態ip,主機名,主機對映 以root使用者身份操作 vim etc sysconfig network scripts ifcfg ens33 刪除uuid 和 hwaddr修改相應的ip 我的大資料集群3臺電腦的 etc ...

轉殖虛擬機器的網絡卡更改

轉殖虛擬機器的網絡卡更改 由於轉殖虛擬機器,vmware只是修改了虛擬機器的名 字等資訊,並沒有修改虛擬硬碟中的任何 資訊,導致轉殖後網絡卡的mac位址和作業系統中記錄的mac位址不符,導致eth0啟動不起來。作業系統記錄了乙個新網絡卡的新增,新網絡卡的名字eth1,mac位址就是vmware分配給...