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