openstack的虚拟化技术有个kvm,啥是kvm?啥qemu,libvirt
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openstack的虚拟化技术有个kvm,啥是kvm?啥qemu,libvirt相关的知识,希望对你有一定的参考价值。
参考技术A 在所谓的kvm技术中,应用到的其实有2个东西:qemu+kvmkvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备;
qemu是模拟IO设备(网卡,磁盘),kvm加上qemu之后就能实现真正意义上服务器虚拟化。
因为用到了上面两个东西,所以一般都称之为qemu-kvm。
libvirt则是调用kvm虚拟化技术的接口用于管理的,用libvirt管理方便,直接用qemu-kvm的接口太繁琐
搭建OpenStack,kvm环境准备
一、KVM简介
KVM全称是kernel-based virtual machine(基于内核的虚拟机),是一个开源的系统虚拟化模块,基于硬件的完全虚拟化,不过需要硬件支持(如Intel VT技术或者AMD V技术)。
二、KVM安装配置
1、准备工作
1.1 关闭iptables防火墙
[[email protected] ~]# service iptables stop //停止iptables
1.2 CPU开通支持虚拟化
需要在BIOS中开启虚拟化,一般是默认开启的
2、安装kvm虚拟机
2.1 查看CPU是否支持kvm完全虚拟机
[[email protected] ~]# cat /proc/cpuinfo | grep ‘vmx‘ //Intel CPU判断方法
[[email protected] ~]# cat /proc/cpuinfo | grep ‘svm‘ //AMD CPU判断方法
根据对应的CPU型号进行选择判断方法,如果能出现信息 ,就说明CPU支持KVM完全虚拟机
2.2 安装kvm和其它虚拟化所需管理软件包
[[email protected] ~]#
yum install -y kvm virt-* libvirts bridge-utils qemu-img
kvm:软件包中含有KVM内核模块,它在默认linux内核中提供kvm管理程序
libvirts:安装虚拟机管理工具,使用virsh等命令来管理和控制虚拟机
bridge-utils:设置网络网卡桥接
virt-*:创建、克隆虚拟机命令,使用qemu命令来创建磁盘等。
qemu-img:安装qemu组件,使用qemu命令来创建磁盘等。
modprobe kvm-intel //加载kvm模块
lsmod | grep kvm //查看kvm模块是否被加载
reboot //重启
3、在宿主主机上创建、安装kvm虚拟机
3.1 创建镜像文件目录和虚拟磁盘存放目录
[[email protected] ~]# mkdir /iso
[[email protected] ~]# mkdir -p /data/kvmdisk/
3.2 把系统iso文件拷贝到iso目录下
这个可以通过ftp或者通过挂载,下载都行
3.3 创建虚拟机
[[email protected] ~]# virt-install -n ubuntu -r 512 -vcpus=1 -s 50 -c /iso/ubuntu.iso --hvm --os-type=ubuntu -f /data/kvmdisk/ubuntu.img --graphics vnc,listen=0.0.0.0,port=7789 --force --autostart
//命令解释:
创建一个名叫ubuntu的虚拟机,内存大小为512内存,1个cpu,50G的硬盘,安装镜像是/iso/ubuntu.iso 指定为全虚拟化,系统类型为ubuntu指定虚拟机硬盘为/data/kvmdisk/ubuntu.img,同时配置vnc的端口为7789 自动开始安装
virt-install参数说明:
-n --name= 虚拟机名称
-r --ram= 虚拟机分配的内存
-u --uuid= 虚拟机的uuid
--vcpus=2 指定2个vcpu个数
-v --hvm 全虚拟他
-p --paravirt 半虚拟化
-l --location=localdir 安装源
--vnc 使用vnc
//可以用"--graphics vnc,listen=LISTEN,..."
--vncport 指定vnc监控端口,默认端口为5900,端口不能重复使用
--vnclisten 指定vnc绑定ip
-c --cdrom=光驱或者安装途径
-s --file-size= 使用磁盘映像的大小,单位为GB
-f --file= 作为磁盘映像使用的文件
--disk= 使用不同选项作为磁盘使用安装介质
--force 防止交互式提示
--os-variant 指定操作系统类型
--accelerate 加速
--network 网络类型,此处用的是默认,一般用的是应该是bridge桥接
3.4 创建kvm虚拟机的磁盘文件
[[email protected] ~]# qemu-img create -f qcow2 -o preallocation=metadata kvm_test.img 10G
//命令解释:
创建一个qcow2虚拟化镜像格式,大小为10G,文件名为kvm_test.img
virsh命令行管理工具
命令行:
virsh list #显示本地活动虚拟机
virsh list –all #显示本地所有的虚拟机(活动的+不活动的)
virsh define ubuntu.xml #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)
virsh start ubuntu #启动名字为ubuntu的非活动虚拟机
virsh create ubuntu.xml #创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend ubuntu #暂停虚拟机
virsh resume ubuntu #启动暂停的虚拟机
virsh shutdown ubuntu #正常关闭虚拟机
virsh destroy ubuntu #强制关闭虚拟机
virsh undefine ubuntu #移除ubuntu虚拟机
virsh dumpxml ubuntu #显示虚拟机的当前配置文件
virsh setmem ubuntu 512000 #给不活动虚拟机设置内存大小
virsh setvcpus ubuntu 4 # 给不活动虚拟机设置cpu个数
以上是关于openstack的虚拟化技术有个kvm,啥是kvm?啥qemu,libvirt的主要内容,如果未能解决你的问题,请参考以下文章