KVM实战之(一)如何实现KVM虚拟化

kvm是一种全虚拟化技术,是内核级别的


环境介绍
centos7.3文本安装,安装epel源
工具介绍
libvirt 管理kvm本身
virt-install 安装虚拟机
virt-manager 图形化管理创建删除虚拟机的工具(类是于virtorbox的界面)
openssh-askpass 若是采用图形化管理远程虚拟机,需要此软件支持

#查看cpu是否支持虚拟化(需要在bios中开启)
	cat /proc/cpuinfo | grep -E '(vmx|svm)'

#安装KVM的相关软件
	yum install qemu-kvm libvirt virt-install qemu-kvm-tools virt-top
#附加,ubuntu如何安装kvm
	sudo apt install virt-manager virtinst qemu qemu-kvm virt-top

#查看kvm内核模块有无被加载
	lsmod |grep kvm

#启动libvirt服务并加入到开机自启动
	systemctl start libvirtd.service
	systemctl enable libvirtd.service

#查看libvirt服务的状态(下面两种方法都可以)
	systemctl status libvirtd.service
	systemctl is-active libvirtd.service

创建虚拟机的步骤


#准备工作,创建iso系统镜像及其存放目录以及虚拟机存放目录
	mkdir /iso /kvm-hosts
#第一:创建磁盘
	qemu-img create -f raw /kvm-hosts/kvm-web01.raw 10G
#第二:创建虚拟机
	virt-install --name kvm-web01 --virt-type kvm --ram 512 --cdrom=/iso/CentOS-7-x86_64-DVD-1611.iso --disk path=/kvm-hosts/kvm-web01.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7
	#也可以在安装时指定网卡为桥接模式:--network bridge=br0
	#有时为了实现kvm嵌套虚拟化,可以在创建虚拟机时加入:--cpu core2duo,+vmx

#第三:通过vnc客户端输入物理机ip:5900连接过去,默认起始端口是5900,随着虚拟机的开启,会依次变大5901,5902

#注意:创建好虚拟机后,他会在/etc/libvirt/qemu目录下创建一个以虚拟机名字命名的xml文件
#可以通过virt edit 虚拟主机名   来修改这个xml文件

虚拟机磁盘格式


	raw	超级简单,没有头文件,不支持动态增长,它是裸设备,性能好,但没有一些特性功能
	qcow2	是集各种技术为一体的超级镜像格式,支持内部快照,加密,压缩等一系列功能

virt-install参数介绍


	--virt-type		指定虚拟机类型(kvm,qemu,xen)
	--name			指定虚拟机的名字
	--raw			指定内存大小
	--cpu			指定cpu参数(默认为1)
	--cdrom			指定镜像
	--disk			指定磁盘路径
	--network		指定网络类
	--graphics vnc		配置虚拟机显示设置,比如vnc
	--noautoconsole		不要自动尝试连接客户端控制台
	--os-type=linux		指定系统类型
	--os-variant=rhel7	指定分支系统类型

KVM基本操作


	#查看所有的虚拟机
		virsh list --all
	#查看运行的虚拟机
		virsh list
	#关闭虚拟机
		virsh destroy 域名
		(这种方式的关闭,是一种删除的方式,只是在virsh list 中删除了该虚拟机,注意这里的域名就是你看到的虚拟机名字)
	#挂起虚拟机
		virsh suspend 域名
	#恢复被挂起的虚拟机
		virsh resume 域名
	#子机随宿主主机启动而启动
		virsh autostart 域名
	#取消随宿主机启动而启动
		virsh autostart --disable 域名
	#删除创建的虚拟机
		virsh undefine 域名	#只会删除/etc/libvirt/qemu下的xml文件,不会删除磁盘文件(需手工)
	#从一个xml文件定义虚拟机
		virsh define 域名
	#启动虚拟机
		virsh start 域名
	#关闭虚拟机
		virsh shutdown 域名
	#编辑虚拟机配置文件
		virsh edit 域名

	#将虚拟机配置文件xml导出并重命名
		virsh dumpxml kvm-demo > new.xml
	#列出虚拟机所有的磁盘块镜像
		virsh domblklist kvm-web01

	#检查磁盘是否有错误
		qemu-img check /kvm-hosts/kvm-web01.raw
	#查看磁盘信息
		qemu-img info /kvm-hosts/kvm-web01.raw

	#查看qemu支持那些CPU
		/usr/libexec/qemu-kvm -cpu ?

小技巧:如何查看虚拟机运行时的具体参数,比如磁盘类型,内存大小

#一个虚拟机就是一个kvm进程,所以可以通过查看kvm进程,得知其具体的参数
	ps -ef |grep kvm

创建虚拟机是指定另一种显示协议(非VNC而是spice),监听接口也不是0.0.0.0 而是具体接口IP

	virt-install --name kvm-docker-ceshi --virt-type kvm --ram 1024 --cdrom=/iso/ubuntu-16.04.5-server-amd64.iso --disk path=/kvm-hosts/kvm-docker-ceshi.qcow2 --network network=default --graphics spice,listen=127.0.0.1  --noautoconsole --os-type=linux
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/165.html

最后编辑于:2018/8/27作者: 辣条①号

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注