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

啟動進入系統檢視是否支援虛拟化(vmx是intel的cpu svm是AMD)
檢視kvm有哪些包
安裝
yum -y install qemu-kvm qemu-kvm-tools libvirt
啟動libvirtd(用來管理kvm虛拟機的)
systemctl start libvirtd
systemctl enable libvirtd
生成一個橋接網卡
有dns和dhcp的功能
建立一個鏡像
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
下載下傳
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
改成目前是1最大是4
需要重新開機
如果定義的是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
raw轉換成qcow2
qemu-img convert -f raw -O qcow2 CentOS-7-x86_64.raw test.qcow2
qcow2用多少占用多少
PS:qcow2是以cluster為機關的
kvm的網絡
brctl show
預設虛拟機使用nat轉換
生産可以使用橋接實體網卡
建立一個橋接網卡
把建立的和實體網卡橋接
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
修改兩個地方
重新開機虛拟機
virsh shudown CentOS-7-x86_64
viesh start CentOS-7-x86_64
使用vnc連接配接
vi /ect/sysconfig/network-scripts/ifccfg-eth0
改成靜态的和實體網卡同一個網段
重新開機network虛拟機就有網絡了
kvm優化
先找到程序号
kvm隻在cpu 0上面排程 性能能提供不到10%左右
記憶體優化
需要設定記憶體EPT技術在BIOS裡面開通 加快記憶體映射
I/O優化
virtio
I/O排程算法
ssd硬碟一定要設定成noop
cfq完全公平的排程(centos6預設的排程算法)
deadline防止寫操作因為不能被讀取而餓死,不是ssd硬碟可以不設定
修改方法