天天看點

KVM虛拟化

想要VM虛拟機支援KVM需要設定

KVM虛拟化

啟動進入系統檢視是否支援虛拟化(vmx是intel的cpu svm是AMD)

KVM虛拟化

 檢視kvm有哪些包

KVM虛拟化

安裝

yum -y install qemu-kvm qemu-kvm-tools libvirt

啟動libvirtd(用來管理kvm虛拟機的)

systemctl start libvirtd

systemctl enable libvirtd

生成一個橋接網卡

有dns和dhcp的功能

KVM虛拟化

建立一個鏡像

qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10G

安裝virt-install(用于虛拟機安裝)

yum -y install virt-install

安裝(鏡像先拷貝到目錄/opt下)

virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 2048 --cdrom=/opt/CentOS-7.0-1406-x86_64-DVD.iso --disk path=/opt/CentOS-7-x86_64.raw network --network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

KVM虛拟化

下載下傳

 Tightvnc連接配接預設使用5900端口 需要快速連接配接

列出那些虛拟機

virsh list --all

啟動虛拟機

virsh start 虛拟機名稱

徹底删除虛拟機

1, 删除虛拟機   virsh destroy +域名

2,解除标記     virsh undefine +域名

3,删除虛拟機檔案  

虛拟機資訊在以下目錄

/etc/libvirt/qemu

cat CentOS-7-x86_64.xml

virsh重要指令

導出xml

virsh dumpxml  CentOS-7-x86_64 >backup.xml

删除虛拟機

virsh undefine

從備份中恢複

virsh define backup.xml

暫停

virsh suspend

恢複

virsh resume

cpu記憶體動态擴容

編輯xml檔案(不能vim直接修改)

virsh edit CentOS-7-x86_64

KVM虛拟化

改成目前是1最大是4

KVM虛拟化

需要重新開機

如果定義的是auto的可以使用以下指令生效

virsh setvcpus CentOS-7-x86_64 2 --live

修改記憶體

 virsh qemu-monitor-command CentOS-7-x86_64  --hmp --cmd balloon 512

存儲也可以擴容,但是不建議擴充如果硬碟不夠最好是直接加一塊新硬碟即可。

kvm磁盤和網絡管理

qcow2 鏡像格式是 QEMU 模拟器支援的一種磁盤鏡像。它也是可以用一個檔案的形式來表示一塊固定大小的塊裝置磁盤。與普通的 raw 格式的鏡像相比,有以下特性:

更小的空間占用,即使檔案系統不支援空洞(holes);

支援寫時拷貝(COW, copy-on-write),鏡像檔案隻反映底層磁盤的變化;

支援快照(snapshot),鏡像檔案能夠包含多個快照的曆史;

可選擇基于 zlib 的壓縮方式

可以選擇 AES 加密

qcow2 鏡像可以用來儲存另一個鏡像檔案的變化,它并不去修改原始鏡像檔案,隻記錄與原始鏡像檔案的不同即可,這種鏡像檔案就叫做 copy-on-write 鏡像。雖然是一個單獨的檔案,但它的大部分的資料都來自原始鏡像,隻有跟原始鏡像檔案相比有變化的 cluster 才會被記錄下來。

這很容易去實作,在頭部資訊中記錄原始檔案路徑即可。當需要從一個 copy-on-write 鏡像檔案中讀取一個 cluster 的時候,首先檢查這塊區域是否已經在該鏡像檔案中被配置設定,如果沒有就從原始檔案讀取

檢視虛拟機檔案大小

qemu-img info CentOS-7-x86_64.raw 

KVM虛拟化

raw轉換成qcow2

qemu-img convert -f raw -O qcow2 CentOS-7-x86_64.raw test.qcow2

KVM虛拟化

qcow2用多少占用多少

KVM虛拟化

PS:qcow2是以cluster為機關的

kvm的網絡

brctl show

KVM虛拟化
KVM虛拟化

預設虛拟機使用nat轉換

生産可以使用橋接實體網卡

建立一個橋接網卡

KVM虛拟化

把建立的和實體網卡橋接

brctl addif br0 eth0

PS:網卡會斷,不能使用遠端的主機進行這樣的操作需要使用本地VM

删除實體網卡的ip

ip addr del dev eth0 172.16.30.60/24

開啟

ifconfig br0 172.16.30.60/24 up

 還無法上網

添加網關

route add default gw 172.16.30.1

PS:橋接網卡有位址了,eth0實體網卡就沒有位址了,生成要做成一個腳本否則容易斷了網絡

虛拟機無法上網了

編輯

virsh edit CentOS-7-x86_64

修改兩個地方

KVM虛拟化

重新開機虛拟機

virsh shudown  CentOS-7-x86_64

viesh start  CentOS-7-x86_64

使用vnc連接配接

vi /ect/sysconfig/network-scripts/ifccfg-eth0

改成靜态的和實體網卡同一個網段

KVM虛拟化

重新開機network虛拟機就有網絡了

kvm優化

先找到程序号

KVM虛拟化
KVM虛拟化

kvm隻在cpu 0上面排程 性能能提供不到10%左右

記憶體優化

需要設定記憶體EPT技術在BIOS裡面開通 加快記憶體映射

I/O優化

virtio

I/O排程算法

KVM虛拟化

ssd硬碟一定要設定成noop

cfq完全公平的排程(centos6預設的排程算法)

deadline防止寫操作因為不能被讀取而餓死,不是ssd硬碟可以不設定

修改方法

KVM虛拟化
上一篇: 初識虛拟化
下一篇: VMware虛拟化

繼續閱讀