天天看點

【CI】系列三.主控端KVM配置及vdi與vmdk格式轉換等

前提:主控端需要支援虛拟化,如果未打開,則需要重新開機機器,在bois中打開該項;

一.官方提供的辦法:

1.首先檢查機器是否支援虛拟化:

haochuang@Server-CI:~$ grep vmx /proc/cpuinfo

2.安裝KVM

haochuang@Server-CI:~$ sudo apt-get install kvm qemu

3.引導kvm子產品

如果是intel CPU

FAQ:

如果發生如下錯誤,則說明主機未開啟虛拟化:

$ sudo modprobe kvm-intel

FATAL: Error inserting kvm_intel (/lib/modules/2.6.20-15-generic/kernel/drivers/kvm/kvm-intel.ko): Operation not supported

Typing dmesg you may find the following at the end:-

 kvm: disabled by bios

這時候的解決辦法自然就是去bois中打開虛拟化。

4.将目前使用者添加到組中

sudo addgroup `whoami` kvm

5.建立一個KVM鏡像

cd 到你要儲存鏡像的位置

6.啟動模拟器

先cd 到你要儲存鏡像的位置

1

2

<code>kvm -hda virtualdisk.img -cdrom cdrom.iso -m 256 -net nic -net user -soundhw all</code>

<code>kvm -drive file=xxxx.img -cdrom /path/to/boot-media.iso -boot d -m 1024</code>

7.永久加載子產品

在 /etc/modules中添加如下兩行

或者AMD CPU的話添加如下:

二.我的土辦法:

當然你也可以這麼做:

1.在windows環境下面建立虛拟機,使用VirtualBox或者Vmware都可以。但是要注意,如果使用VirtualBox建立的vdi格式的話,需要轉換一下,轉換成vmdk,然後ftp上傳至主控端中;

2.在主控端中,執行辦法一的1~4步驟,然後通過如下指令啟動:

haochuang@Server-CI:/opt/VMS$ kvm -drive file=Ubuntu_x86-64_14.04_50GB.vmdk

如我們所願,即可啟動相應的虛拟機。

如果你的沒起得來,可以參考如下指令檢查參數問題:

<code>kvm -m 1024 -drive file=Ubuntu_x86-64_14.04_50GB.vmdk</code>

<code>kvm -m 1024 -drive file=xp.img -cdrom /home/cat650/linux/kvm/NETKVM-20081229.iso  -enable-kvm -net nic,model=virtio -net user</code>

注意點:

1.以後建立虛拟機盡量使用vmdk,更通用;

vhd能在windows7 旗艦版下打開無需工具

vmdk 是vm虛拟機的格式 可以被支援

vdi是virtualbox自己的格式

2.vdi 轉換為 vmdk格式:

1.進入 VirtualBox 安裝目錄

2.執行指令:

<code>VBoxManage.exe clonehd </code><code>"D:\VirtualBox VMs\Ubuntu_x86-64_14.04_Template\Ubuntu_x86-64_14.04_50GB.vdi"</code> <code>"D:\VirtualBox VMs\Ubuntu_x86-64_14.04_Template\Ubuntu_x86-64_14.04_50GB.vmdk "</code> <code>-format VMDK</code>

結果出現UUID沖突問題:

異常資訊:

<a></a>

3.很明顯,這時候需要我們修改UUID:

參考如下方法:

(1).進入 VirtualBox 安裝目錄

D:\Program Files (x86)\WorkTools\Oracle\VirtualBox

(2).執行指令:

<code>VBoxManage.exe clonehd </code><code>"D:\VirtualBox VMs\VM_VMDK\Ubuntu_x86-64_14.04_50GB.vdi"</code> <code>"D:\VirtualBox VMs\VM_VMDK\Ubuntu_x86-64_14.04_50GB.vmdk "</code> <code>-format VMDK</code>

不過嘗試失敗,後來在網絡上找了不少都沒有解決。

4.最終想到了一種解決辦法:

步驟一:使用VirtualBox複制虛拟機;

輸入新的虛拟機名稱,最好選擇重新初始化網卡MAC位址,以免後續出現位址沖突問題。

步驟二:使用指令轉換格式;

(1)進入 VirtualBox 安裝目錄

<code>cd D:\Program Files (x86)\WorkTools\Oracle\VirtualBox</code>

(2)執行轉換指令:

<code>VBoxManage.exe clonehd </code><code>"C:\Users\HaoChuang\VirtualBox VMs\Ubuntu_x86-64_14.04_50GB\Ubuntu_x86-64_14.04_50GB.vdi"</code> <code>"C:\Users\HaoChuang\VirtualBox VMs\Ubuntu_x86-64_14.04_50GB.vmdk "</code> <code>-format VMDK</code>

解釋一下:cloneHhd是複制為vmdk,也可轉成vhd,vdi,raw,還有個convertformraw指令,不過因為虛拟機比較大,是以轉換過程略微有點慢,需要耐心等待。

看如下截圖,OK。

轉換結束,即可在如下目錄中看到轉換完成的vmdk格式虛拟機:

C:\Users\HaoChuang\VirtualBox VMs\Ubuntu_x86-64_14.04_50GB

5.另外在網上(http://www.itshanghai.net/technology/2010/1101/article_879.html)有看到有人使用指令來解決,腳本如下:

3

4

5

6

7

8

9

10

<code>set</code> <code>x=vhi</code>

<code>set</code> <code>y=vmdk</code>

<code>echo off &amp; cls</code>

<code>for</code> <code>/f </code><code>"delims="</code> <code>%%a </code><code>in</code> <code>(</code><code>'dir /b/a-d %~dp0'</code><code>) </code><code>do</code> <code>(</code>

<code>setlocal enabledelayedexpansion</code>

<code>set</code> <code>source=%%a</code>

<code>if</code> <code>/i </code><code>"!source:~-4!"</code><code>==</code><code>".%x%"</code> <code>(</code>

<code>set</code> <code>target=!source:~0,-4!.%y%</code>

<code>"%VBOX_INSTALL_PATH%VBoxManage.exe"</code> <code>clonehd </code><code>"%~dp0!source!"</code> <code>"%~dp0!target!"</code> <code>--format %y%</code>

<code>))</code>

使用辦法很簡單,将上面的代碼儲存為vdi2vmdk.bat 放在vdi檔案同目錄下執行,即可在vdi檔案同目錄下生成同名vmdk檔案,vdi轉vhd等隻需把前兩行改成對應的參數即可。

部分步驟有參考如下文章:

==========================================================================================

vmware導入vmdk格式檔案

如果你已經有了一個vmdk格式的虛拟機檔案,或者你不希望在重裝一次系統,而是從别的機器上面直接copy一個過來,那麼可以參考這篇文章(http://gh801.blog.163.com/blog/static/88832814201261582612/)導入vmdk格式檔案,其中部分步驟,自己注意一下就不會錯,詳細細節就不描述了。

轉載請注明出處:http://www.cnblogs.com/haochuang/ 8年IT工作經驗,5年測試技術與管理,2年産品與項目管理,曾參與過雲計算\雲存儲\車聯網産品研發工作; 業餘自媒體人,有技術類垂直微信公衆号;如有招聘或求職方面需求,請Mail to [email protected] ;或通過 QQ:363573922 微網誌:@念槐聚 聯系;