Hypervisor:是一种“虚拟机监视器(VMM)”,它介于裸机硬件和操做系统之间的组件,经过它, 能够在物理服务器上安装多个操做系统。centos
VNC:是一个在UNIX和Linux平台上的远程控制开源程序,有:vncserver,vncviewer,vncpasswd, 和 vncconnect。服务器
KVM:Linux 2.6X版本中加入的内核模块,分为两个:kvm.ko 和 kvm_intel.ko / kvm_amd.ko网络
QEMU-KVM:KVM是一个能够虚拟CPU和内存的模块,可是不可以虚拟I/O等,因此它借鉴了QEMU,造成了一个QEMU-KVM的工具。利用它,用户能够很方便的操做KVM内核,虚拟出虚拟机、虚拟磁盘等。工具
虚拟化分为:oop
半虚拟化:彻底用软件模拟,不须要硬件支持,速度慢 => xenui
全虚拟化:须要硬件支持,速度快 ==> KVM加密
一、查看cup是否支持虚拟操作系统
grep -E -o 'vmx|svm' --color /proc/cpuinfo
注意:若是想在vmwareWorkstation的虚拟机中使用KVM,计算机网络
则须要在设置那里开启VT-X技术,如图: rest
二、查看Linux内核是否加载了kvm模块
lsmod | grep kvm
三、加载KVM模块
modprobe kvm modprobe kvm_intel
四、安装qemu-kvm,安装完成后会生成/usr/libexec/qemu-kvm,是用户空间操做kvm内核的接口,安装后,会自动加载上面的KVM模块
yum install -y qemu-kvm
五、经过网络上传ISO镜像文件
经过CRT的Alt + p 打开ftp客户端上传便可
六、生成一个8G的镜像文件,做为虚拟机的磁盘
qemu-img create -f raw /root/hadoop.img 8G 默认生成raw格式,给多少就一次性划分多少 qemu-img create -f qcow2 /root/hadoop.img 8G 生成qcow2格式,用多少算多少
七、使用qemu-kvm建立虚拟机(参数说明 -m 指定内存大小 -smp 指定cup数量 -boot启动顺序)
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -cdrom /iso/CentOS-6.6-x86_64-minimal.iso -hda /cloud/CentOS.img -vnc :1 参数说明: -m 指定客户机内存大小,默认单位MB -smp 指定客户机cpu个数。SMP:(symmetric[sɪ'metrɪk] Multi-processing)对称多处理 -boot 指定客户机系统启动顺序,order=cd是指先光盘再硬盘。c:CD-ROM d:Hard Disk -hda 指定客户机的IDE硬盘(即前面的建立的镜像文件) -cdrom 指定客户机的光驱
八、安装vnc或使用vnc工具链接虚拟机,给虚拟机安装系统
九、关闭虚拟机并再次启动虚拟机,指定vnc端口为5901(不须要指定cdrom,由于已经将操做系统安装到磁盘中了,固然指定也没有关系,由于会检测是否安装了操做系统!)
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/CentOS.img -vnc :1
说明:须要bridge-utils 和 tunctl 的支持。
brctl是Linux下用来建立和管理以太网桥,在内核中创建、维护、检查网桥配置的命令 tunctl是用来建立tap以及tun模式的网桥端口。
在计算机网络中TUN与TAP是操做系统内核中的虚拟网络设备。不一样于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备所有用软件实现,并向运行于操做系统上的软件提供与硬件的网络设备彻底相同的功能。
TAP等同于一个以太网设备,它操做第二层数据包如以太网数据帧。TUN模拟了网络层设备,操做第三层数据包好比IP数据封包。
一、要安装bridge-utils tunctl
yum install -y bridge-utils tunctl
二、添加一个br0网桥(桥接类型)
brctl addbr br0 ifconfig br0 up
三、hypervisor的etho也须要绑定到bridge上,一步执行完成(注意修改为本身的IP)
brctl addif br0 eth0 && brctl stp br0 on && ifconfig eth0 0.0.0.0 && ifconfig br0 192.168.33.250 netmask 255.255.255.0 && route add default gw 192.168.33.1
四、建立TAP类型虚拟网卡设备,用于绑定虚拟机的网卡绑定
tunctl -t vnet0 ifconfig vnet0 up brctl addif br0 vnet0 brctl show
五、建立虚拟机并关联网卡(能够连续带多个vnet)
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -cdrom /kvmhost/iso/centos-6.7.iso -hda /kvmhost/kvms/test.img -net nic -net tap,ifname=vnet0,script=no,downscript=no -net nic -net tap,ifname=vnet1,script=no,downscript=no -vnc :1
六、启动虚拟机并关联网卡(能够连续带多个vnet)并添加mac地址
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/Centos.img -net nic,macaddr=52:54:00:12:34:57 -net tap,ifname=vnet0,script=no,downscript=no
七、编辑ifcfg-eth0 配置
静态ip(和物理机在同一个网段) 配置子网掩码 配置dns1 配置默认网关(和物理机同一网关)
八、从新启动network service network restart 便可
##host-only配置
一、要安装bridge-utils tunctl
yum install -y bridge-utils tunctl
二、添加一个hostonlybr0网桥(桥接类型)
brctl addbr hostonlybr0 ifconfig hostonlybr0 up
三、给网桥设置一个随意的ip地址(不须要吧eth0绑定到此网桥上,也就是和eth0隔离)
四、建立TAP类型虚拟网卡设备,用于绑定虚拟机的网卡绑定
tunctl -t vnet0 ifconfig vnet0 up brctl addif hostonlybr0 vnet0 brctl show
五、建立虚拟机并关联网卡
/usr/libexec/qemu-kvm -m 4096 -smp 1 -boot order=cd -hda /cloud/Centos.img -net nic -net tap,ifname=vnet0,script=no,downscript=no
六、启动虚拟机并关联网卡并添加mac地址
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/Centos.img -net nic,macaddr=52:54:00:12:34:57 -net tap,ifname=vnet0,script=no,downscript=no
七、编辑ifcfg-eth0 配置
静态ip(随意一个网段,你们都在一块儿便可) 配置子网掩码 配置dns1 配置默认网关(和物理机同一网关)
八、从新启动network service network restart 便可
一、查看帮助信息
qemu-img -h
二、查看镜像文件信息
qemu-img info /cloud/CentOS.img
三、建立一个磁盘镜像文件
qemu-img create -f qcow2 /cloud/itcast.img 10G
四、将raw格式转换成qcow2格式
qemu-img convert -O qcow2 /cloud/itcast.raw /cloud/itcast.qcow2
五、修改镜像大小
qemu-img resize /cloud/test.img +2G
六、检查镜像
qemu-img check /cloud/itcast.qcow2
七、镜像格式
qemu-img支持多种镜像格式,可经过qemu-img -h命令查看,经常使用的有qcow2,raw raw:原始的磁盘镜像格式,是qemu-img命令默认的文件格式,这种格式的文件的优点在于它很是 简单且很是容易移植到其余模拟器上使用。特色一开始就让镜像实际占用了分配空间,可是写入速度稍快一下。 qcow2:这种格式是QEMU目前推荐的镜像格式,它是功能最多的格式,它支持稀疏文件以节省存储空间, 支持加密、压缩、快照等功能
QEMU monitor的切换
"Ctrl + Alt + 2" --> QEMU monitor状态 "Ctrl + Alt + 1" --> 客户机标准显示窗口
显示系统命令状态:info
查看QEMU的版本信息
info versions
查看当前QEMU是否有KVM的支持
info kvm info name info status
查看客户机各个vCPU的信息
info cpus
查看块设备信息,如硬盘、软盘、光驱等
info block
查看客户机的网络配置信息
info network
显示当前系统中已保存的客户机快照信息
info snapshots
查看当前客户机的迁移状态
info migrate
显示当前客户机的VNC状态
info vnc
查看QEMU monitor中命令执行的历史
info history
建立快照
savevm snap20150406
恢复快照
loadvm snap20150406
删除快照
delvm snap20150406