研發部採購了一台新伺服器,將老伺服器上的虛擬機器磁碟映象通過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.qcow2
和du -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分配給...