Ubuntu搭建開發(fā)支持openchannelssd設(shè)備的qemu的虛擬機(jī)

1.安裝帶有NVMe支持的qemu.

1.1 $:git clone https://github.com/OpenChannelSSD/qemu-nvme.git

1.2 git下載完成后執(zhí)行命令配置,編譯,安裝

$:cd qemu-nvme

$:./configure --enable-linux-aio --target-list=x86_64-softmmu --enable-kvm

$:make

$:make install


2.創(chuàng)建qemu虛擬機(jī)

2.1創(chuàng)建空白磁盤

$:qemu-img create -f raw ubuntu.raw 50G


(有空間就建大點,如何你想在虛擬機(jī)內(nèi)部編譯內(nèi)核,磁盤一定要建大點)棕兼;

2.2, 檢查KVM是否可用

QEMU使用KVM來提升虛擬機(jī)性能上陕,如果不啟用KVM會導(dǎo)致性能損失。要使用KVM,首先要檢查硬件是否有虛擬化支持:

$:grep -E 'vmx|svm' /proc/cpuinfo`

如果有輸出則表示硬件有虛擬化支持衷快。其次要檢查kvm模塊是否已經(jīng)加載:

$:lsmod | grep kvm

kvm_intel 142999 0

kvm 444314 1 kvm_intel

如果kvm_intel/kvm_amd买喧、kvm模塊被顯示出來傍睹,則kvm模塊已經(jīng)加載简逮。最好要確保qemu在編譯的時候使能了KVM,即在執(zhí)行configure腳本的時候加入了--enable-kvm選項今缚。

2.3裝系統(tǒng)

啟動虛擬機(jī)安裝操作系統(tǒng)消别。

執(zhí)行下面的命令啟動帶有cdrom的虛擬機(jī):

$:qemu-system-x86_64 -m 2048 -enable-kvm ubuntu.raw -cdrom ~/ubuntu.iso ?

-m 指定虛擬機(jī)內(nèi)存大小抛蚤,默認(rèn)單位是MB, -enable-kvm使用KVM進(jìn)行加速,-cdrom添加fedora的安裝鏡像寻狂∷昃可在彈出的窗口中操作虛擬機(jī),安裝操作系統(tǒng), ubuntu.raw為之前用qemu-img創(chuàng)建的的空白磁盤,安裝完成后重起虛擬機(jī)便會從硬盤(ubuntu.raw)啟動蛇券。之后再啟動虛擬機(jī)只需要執(zhí)行:

$:qemu-system-x86_64 -m 2048 -enable-kvm ubuntu.raw

3.給虛擬機(jī)換內(nèi)核

開發(fā)需在上帶有nvme的支持的內(nèi)核,執(zhí)行下列命令

$:git clone https://github.com/OpenChannelSSD/linux.git

$:cd linux

$:git checkout pblk-cnex

$:make menuconfig ?//執(zhí)行命令后,會出現(xiàn)圖形界面的內(nèi)核配置選項,需進(jìn)入device drive中將nvme支持模塊選項,并保存,可參考http://blog.csdn.net/trochiluses/article/details/9663743?編譯內(nèi)核

$:make bzImage?

$:make modules

$:make modules_install

$:make install


4.創(chuàng)建一個空白文件充當(dāng)nvme設(shè)備

$:dd if=/dev/zero of=blknvme bs=1M count=1024


5.ssh登入虛擬機(jī)(非必須)

宿主機(jī)需要用ssh登入訪問虛擬機(jī)缀壤,可以采取兩種方式

5.1: 端口映射

把虛擬機(jī)的22端口映射到宿主機(jī)的其他還未使用的端口(ex:2223),方法就是在虛擬機(jī)啟動命令中添加參數(shù)-redir tcp:2223::22

這時宿主機(jī)通過命令

$:ssh -p 2223 用戶名@127.0.0.1

就可以ssh登入訪問虛擬機(jī)了。

5.2:建立網(wǎng)橋:

首先在宿主機(jī)上執(zhí)行下列命令纠亚,安裝含有建立虛擬網(wǎng)絡(luò)設(shè)備 ( TAP interfaces ) 的工具 uml-utilities 和橋接工具 bridge-utils:

$:sudo apt-get? install uml-utilities

$:sudo apt-get? install bridge-utils

$:lsmod | grep tun #查看是否加載tun模塊

$:modprobe tun #加載tun模塊

然后執(zhí)行下列命令編輯 /etc/network/interfaces文件,(請先備份),建立一個名叫 "br0" 的橋:

$:sudo vim /etc/network/interfaces

#添加如下內(nèi)容


auto br0

iface br0 inet static ? ? ?#在這里網(wǎng)橋我用的靜態(tài)IP塘慕,使用靜態(tài)的話,就需要把你宿主機(jī)的ip地址菜枷,當(dāng)前網(wǎng)絡(luò)的網(wǎng)關(guān)等信息設(shè)置到這個網(wǎng)橋上

address 192.168.1.2 ? #ip地址需根據(jù)本機(jī)所在的網(wǎng)絡(luò)修改設(shè)置

netmask 255.255.255.0? #ip地址需根據(jù)本機(jī)所在的網(wǎng)絡(luò)修改設(shè)置

network 192.168.1.0? #ip地址需根據(jù)本機(jī)所在的網(wǎng)絡(luò)修改設(shè)置

broadcast 192.168.1.255? #ip地址需根據(jù)本機(jī)所在的網(wǎng)絡(luò)修改設(shè)置

gateway 192.168.1.1? #ip地址需根據(jù)本機(jī)所在的網(wǎng)絡(luò)修改設(shè)置

bridge_ports? eth0? #然后讓eth0網(wǎng)卡上的端口都通過這個橋苍糠。


保持后重啟網(wǎng)絡(luò)服務(wù),或者重啟宿主機(jī)啤誊。


重啟后執(zhí)行下列命令/etc/ 文件夾下新建一個qemu-ifup腳本

$:sudo vim /etc/qemu-ifup

內(nèi)容如下:


#!/bin/bash

#This is a qemu-ifup script for bridging.

#You can use it when starting a KVM guest with bridge mode network.

#set your bridge name

switch=br0

if [ -n "$1" ]; then

#create a TAP interface; qemu will handle it automatically.

#tunctl -u $(whoami) -t $1

#start up the TAP interface

ip link set $1 up

sleep 1

#add TAP interface to the bridge

brctl addif ${switch} $1

exit 0

else

echo "Error: no interface specified"

exit 1

fi


并且執(zhí)行下列命令給以可執(zhí)行權(quán)限岳瞭。

$:sudo chmod 777 /etc/qemu-ifup

然后在啟動命令中添加參數(shù)? -net nic -net tap,script=/etc/qemu-ifup 啟動虛擬機(jī)? 這樣啟動的虛擬機(jī)就有一個和宿主機(jī)同一個網(wǎng)段的ip地址,直接訪問就可以了蚊锹。

出現(xiàn)錯誤可以參考http://www.361way.com/qemu-kvm-bridge-net/4760.html


配置好后就可以執(zhí)行下列命令啟動虛擬機(jī).


$:sudo qemu-system-x86_64 -m 4096 -smp 4? -enable-kvm -hda ubuntu.raw ?-drive file=blknvme,if=none,id=blknvme -device nvme,drive=./blknvme,serial=deadbeef,namespaces=1,lver=1,nlbaf=5,lba_index=3,mdts=10,lnum_lun=4,lnum_pln=1 -net nic,macaddr=54:52:d5:ab:83:10 -net tap,script=/etc/qemu-ifup


-m 指定虛擬機(jī)內(nèi)存大小,默認(rèn)單位是MB, -smp 是設(shè)置虛擬機(jī)的cpu核數(shù), -enable-kvm 是使用KVM進(jìn)行加速瞳筏,-hda 是指定磁盤(用qemu-img創(chuàng)建的) -drive 設(shè)置設(shè)備(用dd創(chuàng)建的充當(dāng)nvme設(shè)備的文件) -device 設(shè)置設(shè)備的屬性 -net 設(shè)置mac地址 以及網(wǎng)卡啟動腳本(/etc/qemu-ifup)?


6.建立宿主機(jī)和虛擬機(jī)間的共享文件夾(非必須)

采用的是Samba這種方式

6.1在宿主機(jī)上執(zhí)行下列命令安裝samba

$:sudo apt-get install samba

$:sudo apt-get install cifs-utils

6.2 在宿主機(jī)上執(zhí)行下列命令創(chuàng)建共享目錄

$:mkdir /home/raohui/share? (這個目錄自定義名字和路徑)

$:sudo chmod 777 /home/raohui/share

6.3 在宿主機(jī)上執(zhí)行下列命令創(chuàng)建Ubuntu samba配置文件

(1)保存現(xiàn)有的配置文件

$:sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

(2)修改現(xiàn)配置文件

$:sudo gedit /etc/samba/smb.conf

(3)在smb.conf最后添加


[share]

path = /home/raohui/share ?

available = yes

browsealbe = yes

public = yes

writable = yes


6.4 創(chuàng)建Ubuntu samba帳戶

$:sudo touch /etc/samba/smbpasswd

$:sudo smbpasswd 用戶名 ? ?(然后根據(jù)提示輸入密碼)

6.5虛擬機(jī)中執(zhí)行下列命令,mount宿主機(jī)中的共享文件夾

$:mkdir shareDir #創(chuàng)建掛在點

$:sudo mount -t cifs -o username=用戶名,password=密碼? //宿主機(jī)IP地址/share? ./shareDir

可以參考這個鏈接把上面命令設(shè)置為開機(jī)運(yùn)行

http://jackqdyulei.github.io/2016/03/06/linux-auto-script/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市牡昆,隨后出現(xiàn)的幾起案子姚炕,更是在濱河造成了極大的恐慌摊欠,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柱宦,死亡現(xiàn)場離奇詭異些椒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)掸刊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門免糕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人忧侧,你說我怎么就攤上這事石窑。” “怎么了蚓炬?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵松逊,是天一觀的道長。 經(jīng)常有香客問我肯夏,道長经宏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任熄捍,我火速辦了婚禮烛恤,結(jié)果婚禮上母怜,老公的妹妹穿的比我還像新娘余耽。我一直安慰自己,他們只是感情好苹熏,可當(dāng)我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布碟贾。 她就那樣靜靜地躺著,像睡著了一般轨域。 火紅的嫁衣襯著肌膚如雪袱耽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天干发,我揣著相機(jī)與錄音朱巨,去河邊找鬼。 笑死枉长,一個胖子當(dāng)著我的面吹牛冀续,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播必峰,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼洪唐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吼蚁?” 一聲冷哼從身側(cè)響起凭需,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后粒蜈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顺献,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年枯怖,在試婚紗的時候發(fā)現(xiàn)自己被綠了滚澜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡嫁怀,死狀恐怖设捐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情塘淑,我是刑警寧澤萝招,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站存捺,受9級特大地震影響槐沼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捌治,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一岗钩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肖油,春花似錦兼吓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至县袱,卻和暖如春浑娜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背式散。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工筋遭, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人暴拄。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓漓滔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親揍移。 傳聞我的和親對象是個殘疾皇子次和,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容