kvm 安裝和配置
主控端環境:Centos 6.6
最近在玩kvm,小小總結一下。
1、檢查CPU是否支援
KVM 需要有 CPU 的支援(Intel VT 或 AMD SVM),在安裝 KVM 之前檢查一下 CPU 是否提供了虛拟技術的支援:
# egrep 'vmx|svm' /proc/cpuinfo
# modprobe -ls | grep kvm #檢視核心是否開啟
kernel/arch/x86/kvm/kvm.ko
kernel/arch/x86/kvm/kvm-intel.ko
kernel/arch/x86/kvm/kvm-amd.ko
# /usr/libexec/qemu-kvm -cpu ? #檢視kvm可以虛拟的CPU
注:VMware安裝的話,需要開啟處理器Intel VT 或 AMD SVM,具體方法google一下
2、确認關閉selinux
# vi /etc/sysconfig/selinux
SELINUX=disabled
3、安裝KVM
# yum -y install qemu-kvm libvirt python-virtinst bridge-utils
4、确認KVM安裝成功
# lsmod | grep kvm
# stat /dev/kvm
5、啟動libvirtd(虛拟化工具包服務)
/etc/init.d/libvirtd start
6、建立硬碟檔案(找了很多網上資料都沒有這一步)
# qemu-img create -f qcow2 /opt/guest01.qcow2 20G
7、安裝虛拟機
首先,修改 qemu.conf 配置,把下面幾個地方的注釋去掉,然後把 dynamic_ownership 的值改成0,禁止 libvirtd 動态修改檔案的歸屬,不然會報錯“Permission denied”
# vi /etc/libvirt/qemu.conf
...
user = "root"
group = "root"
dynamic_ownership = 0
預設網絡方式安裝
# virt-install --virt-type=kvm --name=guest01 --os-type=linux --ram=2048 --vcpus=2 --disk path=/opt/guest01.qcow2,format=qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --cdrom=/root/CentOS-6.7-x86_64-bin-DVD1.iso --noautoconsole
橋接網絡方式安裝
參考連接配接:https://www.chenyudong.com/archives/libvirt-kvm-bridge-network.html
# virt-install --virt-type=kvm --name=guest01 --os-type=linux --ram=2048 --vcpus=2 --disk path=/opt/guest01.qcow2,format=qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --cdrom=/root/CentOS-6.7-x86_64-bin-DVD1.iso --noautoconsole
8、vnc用戶端登入伺服器,安裝系統即可
通路:IP:5900(一般第一台虛拟機通路端口是5900,可以通過netstat -tnlp檢視)
vnc參考下載下傳連接配接:http://www.tightvnc.com/download.php
注意:
1、dns要配置,不然無法通路網址
2、磁盤挂載要确認,有時分區啟動後為挂載
補充三個重要指令:
qemu-img 指令:
建立硬碟檔案
create [-f 硬碟格式] [-o 選項] <路徑及檔案名> [空間大小]
例:qemu-img create -f raw /tmp/testdisk.raw 10G //raw格式的優點:
一、尋址簡單,通路效率高
二、可以通過格式轉換工具友善的轉換為其他格式
三、可以友善挂載,可以直接進行資料傳輸 缺點:不支援壓縮、快照、加密和cow等特性,而且是立即占用空間的
例:qemu-img create -f qcow2 /tmp/testdisk.qcow2 10G
轉換硬碟檔案格式
convert [-c] [-p] <-f 原格式> <-O 新格式> <原檔案> <新檔案> //-c cow類格式使用 -p 檢視進度
例:qemu-img convert -c -f raw -O qcow2 /tmp/testdisk.raw /tmp/testdisk.qcow2
建立檢視恢複硬碟檔案快照
snapshot <參數> <原檔案> //常用參數:-c <快照名>(建立快照)-a <快照名>(恢複快照)-d <快照名>(删除快照)-l(列出快照)
例:qemu-img snapshot -c newkuaizhao /tmp/testdisk.qcow2 //給testdisk.qcow2建立newkuaizhao的快照
檢視硬碟檔案資訊
info [-f 硬碟格式] [--output=ofmt] <路徑及檔案名>
例:qemu-img info /tmp/testdisk.raw
檢視硬碟檔案是否有錯誤
check [-f 硬碟格式] <路徑及檔案名>
例:qemu-img check /tmp/testdisk.raw
更改硬碟檔案空間大小(生産環境不建議使用,使用也必須建立原檔案備份,需要用分區工具添加才能使用)
resize <路徑及檔案名> <+ | -空間大小>
例:qemu-img resize /tmp/testdisk.raw +1G
virt-install指令常用選項:
--virt-type=kvm 使用哪種虛拟化: (kvm, qemu, xen, ...)
--name=虛拟機名
--os-type=linux 系統類型:'linux', 'unix', 'windows'
--ram=1024 記憶體大小M為機關
--network bridge=mybr0
--disk path=/my/existing/disk 指定磁盤檔案
--cdrom=/tmp/centos6.6.iso 指定系統鏡像檔案
--graphics=GRAPHICS 開啟圖形化配置
Configure guest display settings. Ex:
--graphics vnc
--graphics spice,port=5901,tlsport=5902
--graphics none
--graphics vnc,password=foobar,port=5910,keymap=ja
--noautoconsole 開啟不自動連接配接虛拟機控制台
例:virt-install --virt-type=kvm --name=kvmtest --os-type=linux --ram=1024 --disk path=/root/kvmsys02.qcow2,format=qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --cdrom=/tmp/CentOS-6.6-x86_64-bin-DVD1.iso --noautoconsole
virsh指令
start <虛拟機名> #啟動虛拟機
shutdown <虛拟機名> #關閉虛拟機
destroy <虛拟機> #強制關閉虛拟機
reboot <虛拟機名> #重新開機虛拟機
suspend <虛拟機> #暫停虛拟機
resume <虛拟機> #恢複暫停的虛拟機
save <虛拟機> <檔案> #把虛拟機目前狀态儲存到快照檔案中
restore <快照檔案> #從以前儲存的快照中恢複虛拟機
list [選項] #列出虛拟機 常用選項--all
dumpxml <虛拟機> [>XML檔案]#導入XML配置檔案
define <虛拟機XML檔案> #從XML檔案建立一個虛拟機如果有相同的需改内容:虛拟機名、uuid、磁盤檔案、網卡MAC。
undefine <虛拟機> #删除與虛拟機相關的所有檔案
migrate #遷移虛拟機 建議直接cp硬碟檔案 dumpxml導出xml檔案
記憶體:
setmem <虛拟機> <記憶體大小> #給虛拟機設定記憶體大小
setmaxmem <虛拟機> <記憶體大小> #給虛拟機設定最大使用記憶體大小
CPU:
setvcpus <虛拟機> <數量> #給虛拟機設定虛拟CPU數量
vcpuinfo <虛拟機> #顯示虛拟機虛拟CPU資訊
vcpupin <虛拟機> #控制虛拟機虛拟CPU親和性
磁盤CD光牒等:
attach-disk <虛拟機> <磁盤檔案> <挂載裝置名> [--live] [--config] #添加磁盤裝置 挂載裝置名:如sda、sdb等 --live 給運作中的虛拟機添加磁盤 --config下次重新開機也生效
例:virsh attach-disk kvmtest3 /tmp/testdisk3-2.raw sdb --live --config
detach-disk <虛拟機> <挂載裝置名> [--live] #删除磁盤裝置 挂載裝置名:如sda、sdb等 --live 給運作中的虛拟機添加磁盤
domblklist <虛拟機> #顯示虛拟機塊裝置
change-media <虛拟機> <光驅裝置> [<CD光牒檔案>] #詳細操作參看更換CD光牒
網卡:
attach-interface <虛拟機> <虛拟網卡模式> <寄主機網卡檔案> [--model 網卡模式] [--config] #添加網卡裝置 虛拟網卡模式:如bridge、network等 網卡模式:如virtio等 --config下次重新開機也生效
detach-interface <虛拟機> <虛拟網卡模式> [--mac <string>] #解除安裝網卡裝置
例:virsh detach-interface kvmtest3 --type bridge --mac 52:54:00:37:d1:8a
domiflist <虛拟機> #顯示虛拟機網卡裝置資訊
domif-setlink <虛拟機> <虛拟機内網卡裝置名> <up啟動或down關閉> [--config] #啟動或關閉網卡裝置 --config下次重新開機也生效
domif-getlink <虛拟機> <虛拟機内網卡裝置名> #檢視網卡狀态