1.認識理解KVM虛擬機node
Kernel-based Virtual Machine的簡稱,是一個開源的系統虛擬化模塊,自Linux 2.6.20以後集成在Linux的各個主要發行版本中。
它使用Linux自身的調度器進行管理,因此相對於Xen,其核心源碼不多。KVM目前已成爲學術界的主流VMM之一。
KVM的虛擬化須要硬件支持(如Intel VT技術或者AMD V技術)。是基於硬件的徹底虛擬化。
而Xen早期則是基於軟件模擬的Para-Virtualization,新版本則是基於硬件支持的徹底虛擬化。但Xen自己有本身的進程調度器,存儲管理模塊等,因此代碼較爲龐大。
廣爲流傳的商業系統虛擬化軟件VMware ESX系列是基於軟件模擬的Full-Virtualization。linux
2.探討目標
在CentOS7母機系統上安裝KVM服務,並啓動一個CentOS虛擬機centos
安裝說明
KVM創建在母機系統上,所以對機器有必定的配置要求,好比svm, selinux等,這些基本問題不大。
另外有網友說不能用VMware虛擬機作母機安裝KVM,本次實驗用的母機系統使用的是VMware Workstation 14 Pro安裝的CentOS7,結果證實可使用。服務器
KVM使用libvirt這個開源的API進行管理。
libvirt是提供了一個方便的方式來管理虛擬機和其餘虛擬化功能的軟件的集合,如存儲和網絡接口管理。這些軟件包括一個API庫,一個守護進程(Libvirtd),和一個命令行實用程序(virsh)。
libvirt的首要目標是可以管理多個不一樣的虛擬化供應商/虛擬機管理程序提供一個單一的方式。例如,命令「virsh列表等等均可以用於任何支持現有的虛擬機管理程序列表(KVM、Xen、VMware ESX,等)不須要學習管理程序特定的工具!網絡
3.依賴包安裝
yum install -y qemu-kvm libvirt virt-install bridge-utils
安裝完上述依賴包好最好重啓一下服務器dom
查看KVM安裝的狀態,可使用lsmod查看狀態
[root@linux-node1]# lsmod |grep kvm
有上面三行輸出,說明KVM安裝成功工具
4.管理服務
啓動libvirtd守護進程
systemctl start libvirtd
systemctl status libvirtd學習
5.安裝虛擬機
首先須要下載一個鏡像文件到母機本地
咱們的KVM虛擬機將要安裝CentOS系統,因而到CentOS官網找一個鏡像的下載連接,使用wget命令下載到本地
以前測試將鏡像下載到/root目錄,結果安裝開始時提示沒法讀取鏡像文件,爲了不權限問題,咱們將鏡像文件下載到/home目錄
wget http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso -P /home/測試
執行安裝虛擬機命令:spa
virt-install \ --virt-type=kvm \ --name=kvm-1 \ --vcpus=2 \ --memory=2048 \ --location=/home/CentOS-7-x86_64-Minimal-1804.iso \ --disk path=/data/vms/kvm-1.qcow2,size=15,format=qcow2 \ --network bridge=virbr0 \ --graphics none \ --extra-args='console=ttyS0' \ --force
參數解析:
--name=kvm-1 虛擬機名字爲kvm-1
--vcpus=2 2個虛擬CPU核心
--memory=2048 2G內存
--disk path=/data/vms/kvm-1.qcow2,size=15,format=qcow2 虛擬機硬盤文件所在目錄及名字,大小爲15G,格式爲qcow2,此參數會自動生成該硬盤文件在對應目錄
--network bridge=virbr0 虛擬機橋接用的網卡,不必定是這個名字,在母機上用ifconfig查看實際名字 (這裏默認使用的是NAT模式,若是要使用Bridge模式,請參考另一篇文章)
若是一切正常,會進入安裝iso安裝界面。
上面的設置跟在圖形界面安裝操做同樣,分別進去設置一下就能夠繼續安裝了,設置完以下
而後敲b開始進行安裝,成功安裝到最後頁面:
回車後虛擬機會從開機界面一直進入到登錄界面,輸入root和密碼就登錄進了虛擬機系統
CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-8707fc0ebc304aecae24959960933077) 7 (Core)
......
[ 10.953832] Netfilter messages via NETLINK v0.30.
[ 10.967303] ip_set: protocol 6
CentOS Linux 7 (Core)
Kernel 3.10.0-862.el7.x86_64 on an x86_64
localhost login: root
Password:
[root@localhost ~]#
查看虛擬機信息
6.退出虛擬機回到母機系統
同時按Ctrl+]
7.從新鏈接虛擬機
virsh console kvm-1
8.KVM 操做虛擬機經常使用命令:
列出全部的虛擬機
virsh list --all
顯示虛擬機信息
virsh dominfo kvm-1
顯示虛擬機內存和cpu的使用狀況
yum install virt-top -y
virt-top
顯示虛擬機分區信息
virt-df kvm-1
關閉虛擬機(shutodwn)
virsh shutdown kvm-1
啓動虛擬機
virsh start kvm-1
設置虛擬機(kvm-1)跟隨系統自啓
virsh autostart kvm-1
關閉虛擬機自啓
virsh autostart --disable kvm-1
刪除虛擬機
virsh undefine kvm-1