一、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 ...