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親和性
磁盤光盤等:
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 <虛擬機> <光驅設備> [<光盤文件>] #詳細操作參看更換光盤
網卡:
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 <虛擬機> <虛擬機內網卡設備名> #查看網卡狀態