qemu kvm 建立虛擬機器並虛擬網絡卡

2021-08-13 21:29:55 字數 3182 閱讀 1784

linux目前流行的開源虛擬化技術解決方案:

主機虛擬化:xen, kvm, virtualbox

容器級:lxc, libcontainer, runc, openvz

模擬器:qemu

kvm模組load進記憶體之後,系統的執行模式:

核心模式:guestos執行io類的操作時,或其它的特殊指令操作時的模式;它也被稱為「guest-kernel」模式;

使用者模式:host os的使用者空間,用於代為guestos發出io請求;

來賓模式:guestos的使用者模式;所有的非io類請求;

qemu:

處理器模擬器

**各種io裝置

將**裝置連線至主機的物理裝置

提供使用者介面

qemu-kvm 可以完成虛擬機器建立,安裝,啟動執行

qemu-img 輔助對磁碟映象的管理

qemu-io 對io使用情況管理

執行中的乙個kvm虛擬機器就是乙個qemu-kvm程序,執行qemu-kvm程式並傳遞給它合適的選項及引數即能完成虛擬機器啟動,終止此程序即能關閉虛擬機器;

安裝使用kvm:

判斷cpu是否支援硬體虛擬化:

grep -i -e '(vmx|svm|lm)' /proc/cpuinfo

modprobe kvm

yum install qemu-kvm

ln -sv /usr/libexec/qemu-kvm /usr/bin

mkdir /vms/c -pv

cp cirros-no_cloud-i386.img /vms/c1/ ## cirros 是乙個微型映象檔案 用來測試

brctl addbr br-and ##建立虛擬網橋

ip link set br-and up ##啟動網橋

編寫啟動虛擬機器時要執行的指令碼,預設為/etc/qemu-ifup

vim /etc/qemu-ifup

#!/bin/bash

bridge=br0

if [ -n "$1" ];then

ip link set $1 up

sleep 1

brctl addif $bridge $1

[ $? -eq 0 ] && exit 0 || exit 1

else

echo "error: no inte***ce specified."

exit 2

fi

chmod +x /etc/qemu-ifup

建立虛擬機器並虛擬網絡卡網橋

qemu-kvm -smp 1 -m 32 -name c2 -drive file=/data/img/c1.img,if=virtio,media=disk,format=qcow2 -vnc :1 -net nic,

model=e1000,macaddr=52:54:00:00:00:01 -net tap,script=/etc/qemu-ifup -daemonize

#######

-smp n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]:指明虛擬機器上vcpu的數量及拓撲;

-name name:當前虛擬機器的名稱,要惟一;

-drive [file=file][,if=type][,media=d][,index=i] [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]:

file=/path/to/some_image_file:映像檔案路徑;

if=type:塊裝置匯流排型別,ide, scsi, sd, floppy, virtio,

media=type:介質型別,cdrom和disk;

format=f:磁碟映像檔案的格式;

-net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v] 為虛擬機器建立乙個網路介面,並將其新增至指定的vlan;

-net nic,model=? model=type:指明模擬出的網絡卡的型號,ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio;

macaddr=mac:指明mac位址;52:54:00:

-net tap[,vlan=n][,name=str][,fd=h][,fds=x:y:...:z][,ifname=name][,script=file][,downscript=dfile]:

通過物理的tap網路介面連線至vlan n;

script=file:啟動虛擬機器時要執行的指令碼,預設為/etc/qemu-ifup

#########

-vnc :1 通過vncserver終端1 鏈結可以在圖形化介面登入

yum install tigervnc-server

圖形化介面執行vncviewer

在出現的登入介面輸入提示的登入

user:cirros

password:cubswin:)

讓虛擬機器通訊

為建立的虛擬主機新增ip位址 內網位址 可隨意建立

ifconfig add eth0 10.1.0.1/16

讓虛擬主機可以和網橋通訊,在宿主機上執行

ip addr add 10.1.0.222/16 br-and ##給虛擬網橋新增位址

echo 1 > /proc/sys/net/ipv4/ip_forward ## 開啟路由**

讓虛擬主機可以和宿主機僅主機通訊

iptables -t nat -a postrouting -s 10.1.0.0/16 -j snat --to-source 172.16.250.200

讓虛擬主機可以被訪問到

iptables -t nat -a prerouting -d 172.16.250.200 -p tcp --dport 22022 -j dnat --to-destination 10.1.0.1:22

建立並安裝KVM虛擬機器

沿用練習 一 二 三,在kvm伺服器上新建一台虛擬機器,並且以pxe方式裝好rhel6作業系統。使用的工具為virt manager 圖形化的 虛擬系統管理器 新建虛擬機器的配置要求如下 名稱 rh6 n1 記憶體 1024m 網絡卡連線 virbr1 磁碟 data images node1.im...

建立虛擬機器

建立虛擬機器時難點在於安裝作業系統上,其他地方沒難度我就不一步一步說了。要點 1 硬體相容性一般情況下選最高的那個,但有時候,最高的那個會存在不穩定的現象。儘管我是道聽途說,但保險起見,我選擇workstation 12.x。這個相容性可在後面隨時調整,不影響虛擬機器內的資料。2 主要難點在於安裝作...

建立虛擬機器

第一步點選新建虛擬機器,選擇自定義 高階 第二步預設選項,進入下一步。第三步,選擇稍後安裝作業系統。進入下一步。第四步,選擇安裝linux系統,下面版本選項選擇oracle liunx 7 64位。第五步,虛擬機器名稱自己命名。檔案位置,建議建立在自己能找到的磁碟裡。第六步,處理器數量推薦選擇2個,...