QEMU純命令列虛擬機器安裝步驟

2021-08-11 14:23:06 字數 4176 閱讀 1402

一、qemu介紹

最近由於需要配置多台虛擬機器所以初步學習了qemu虛擬機器的安裝步驟

qemu是一款高效而實用的模擬器及虛擬機器監管器(virtual machine monitor, vmm),主要提供兩種功能給使用者使用。一是作為使用者態模擬器,利用動態**翻譯機制來執行不同於主機架構的**。二是作為虛擬機器監管器,模擬全系統,利用其他vmm(xen, kvm, etc)來使用硬體提供的虛擬化支援,建立接近於主機效能的虛擬機器。

二、軟體安裝及系統命令安裝

(1)    在遠端伺服器上安裝qemu軟體

1.首先要確保intelvt技術勾選(虛擬機器中使用的話),然後檢視cpu是否支援,有vmx輸出即可

grep vmx /proc/cpuinfo
2.安裝相關的依賴包,將kvm安裝在ubuntu

sudo apt-get install qemu-kvm libvirt-binvirtinst bridge-utils (virt-manager kvm qemu virt-viewer)
說明:

必須安裝元件是qemu-kvm libvirt-bin

virt-viewer是乙個用於顯示虛擬機器的圖形控制臺的最小工具

virt-manager是乙個虛擬機器管理軟體,含圖形管理介面

3.執行下面這個命令。

sudo virsh -c qemu:///system
輸入list

如果你看到空空如也的虛擬機器列表,這意味著kvm已成功設定完畢。

id   name        state

然後檢查kvm模組是否已經載入

如果kvm_intel/kvm_amd、kvm模組被顯示出來,則kvm模組已經載入。最後要確保qemu在編譯的時候使能了kvm,即在執行configure指令碼的時候加入了–enable-kvm選項。(如果是通過源**安裝的qemu的話要確保)

5.重啟libvirtd

sudo systemctl restart libvirt-bin
(可選操作)將乙個普通的非根使用者(如alice)新增到libvirtd群組,那樣該使用者不需要根使用者許可權,就能啟動虛擬機器。

sudo adduser alice libvirtd
退出,重新以該使用者身份登入,讓群組成員的變更生效。

(2)安裝虛擬機器

1.  安裝好qemu後,自帶qemu-img命令,建立映象,15g,名字為test.qcow2的映象檔案

qemu-img create test.qcow2 -f qcow2 15g
-f指映象格式,虛擬機器映象用來模擬虛擬機器的硬碟,在啟動虛擬機器之前需要建立映象檔案,其中100g是最大的容量,在實際中還未安裝系統時,只有幾百kb

2.  檢視映象資訊

qemu-img info test.qcow2
3.準備作業系統映象。

wget
4.正式安裝帶有cdrom的虛擬機器

a.由於是純命令列安裝,沒有相應的圖形介面,所以需要先提取安裝包iso中的核心和根檔案,首先掛載iso,注意掛載之後的檔案唯讀

mount ubuntu-16.04.1-server-amd64.iso /mnt/temp -o loop
然後將掛載的檔案拷貝到某個資料夾,此處我把檔案拷貝到當前資料夾中

b.準備好上面幾步後就可以進行安裝了

相關說明

-m 指定虛擬機器記憶體ram大小,預設單位是mb,

-boot  -d:啟動順序,哪個裝置先啟動,-d代表先從cd-rom啟動,然後驅動從硬碟映象正常啟動。-c選項從硬碟映象先啟動。

-enable-kvm使用kvm進行加速,如果沒有此選項,那麼虛擬機器將會to你剛剛軟體渲染(這種方式很慢)

-smp 4: 虛擬機器有4個vcpu,設定有幾個核來模擬作業系統

-net nic -net user:預設啟用執行虛擬機器中的乙太網鏈結

-hda testing-image.img:指定使用的硬體驅動的路徑(之前建立的映象路徑)

-cdrom ubuntu-16.04.iso:最後告訴qemu從iso檔案中啟動系統

-cdrom新增fedora的安裝映象。可在彈出的視窗中操作虛擬機器(如果有圖形介面),安裝作業系統,安裝完成後重起虛擬機器便會從硬碟(test.qcow2)啟動。

重定向輸出引數,如果不指定ttys0則將無法在當前視窗看到安裝過程,當然,有時候需要調整console引數才能在當前視窗檢視到資訊。為了使使用者能以root身份通過串列埠登入,需要在該檔案中新增「ttys0」,說明系統認為這裡的com1是安全的

--kernel    使用哪個核心

--initrd    使用哪個initrd

5.通過-vnc連線遠端主機來安裝虛擬機器

a.  首先需要確定安裝qemu的宿主機器上是否有vnc伺服器(因為是遠端主機連線該宿主機,所以宿主機上需要執行服務),如果沒有,則需要先安裝

ubuntu安裝方法

apt-get install vnc4server

centos安裝方法

yum install vnc-server tigervnc #centos 5.x

$ yum install tigervnc-server tigervnc #centos6.x

b.  檢視宿主機的ip位址,本人的ip是168.123.6.34

檢視vnc埠

sudo virsh vncdisplay ubuntu c.

最後在宿主機器上執行下列命令

qemu-system-x86_64 -m 512m -smp 2,sockets=2,cores=1,threads=1 -boot c -cpu host -hda vf4.img --enable-kvm --nographic  -cdrom ubuntu-16.04.1-server-amd64.iso -vnc :1 -k en-us
c.在遠端主機上安裝vnc viewer之類的客戶端軟體,linux系統可以通過tigervnc來登陸

訪問:<5900+port_index> (168.123.6.34:5901 ) 位址,即可連線上遠端主機執行的虛擬機器

6.系統安裝後,由於安裝程式會再次跳轉到安裝介面(或者通過方法5安裝後需要關閉計算機),所以需要在宿主機上使用kill命令殺死qemu-system-x86_64程序:

killall qemu-system-x86_64
通過若通過telnet訪問虛擬機器,由於是遠端主機所以啟動程式有以下兩個步驟

a.先在視窗1輸入以下命令登陸vm

qemu-system-x86_64 -m 512 -smp 2 -boot c -cpu host -hda test1.qcow2 --enable-kvm -curses -monitor telnet:127.0.0.1:5566,server,nowait
b.然後重新開啟乙個視窗2,輸入以下**

telnet 127.0.0.1 5566

sendkey ctrl-alt-f1

如圖

c.最後返回視窗1,即可看到vm登陸介面

7.不同架構來測試系統

使用以下命令來檢視可用的架構安裝命令

ls /usr/bin | grep qemu-system*
根據不同系統使用不同的開頭命令,如:

qemu-system-x86_64 -m 1024 -boot d -enable-kvm -smp 3-net nic -net user -hda testing-image.img -cdrom /dev/cdrom
三、相關拓展

系統虛擬化最主要是虛擬出cpu、記憶體及i/o裝置。虛擬出的cpu稱之為vcpu,qemu為了提公升效率,借用kvm、xen等虛擬化技術,直接利用硬體對虛擬化的支援,在主機上安全地執行虛擬機器**(需要硬體支援)。

由於對qemu接觸不深,如果有更好的純命令列安裝方法,請多加指導

QEMU命令列引數啟動虛擬機器

使用virt manager和libvirtd管理虛擬機器,有方便的地方,但是不像直接使用 qemu命令列引數啟動來的直觀和方便。usr libexec qemu kvm m 2048 enable kvm home w7qemu.qcow2 spice port 5900,addr 0.0.0.0...

QEMU命令列引數啟動虛擬機器

使用virt manager和libvirtd管理虛擬機器,有方便的地方,但是不像直接使用 qemu命令列引數啟動來的直觀和方便。usr libexec qemu kvm m 2048 enable kvm home w7qemu.qcow2 spice port 5900,addr 0.0.0.0...

小白ubuntu安裝qemu虛擬機器

ubuntu搭建開發openchannelssd的qemu的虛擬機器 1 clone the qemu source from git clone 注意未安裝git 的先安裝git,sudo apt get install git 2 qemu nvme的版本要用master分支的這個commit ...