虚拟化产品对比介绍
- vmware
- KVM rhel6_x64
- xen [kernel-xen] rhel5
虚拟化技术:
- 仿真虚拟化:对系统硬件没有要求,性能最低
- 半虚拟化:虚拟机可以使用真机物理硬件,性能高,需要改内核
- 全虚拟化:直接使用物理硬件,性能高
- vmware 支持仿真虚拟化
- xen 半虚 REHL5 自带 xen, 安装时需要安装内核 rpm -ivh kernel-xen-xxx.rpm
- kvm 全虚拟化 RHEL6 自带 kvm
KVM 概述
KVM即Kernel-based Virtual Machine基于内核的虚拟机。
KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各个主要发行版本中。它使用 Linux 自身的调度器进行管理,所以相对亍 Xen,其核心源码很少。KVM 目前已成为学术界的主流 VMM(虚拟机监控器)之一。KVM 的虚拟化需要硬件支持(如 Intel VT 技术戒者 AMD V 技术)。是基于硬件的完全虚拟化。而 Xen 早期则是基于软件模拟的 Para-Virtualization。
KVM: 是指基于 Linux 内核的虚拟机(Kernel-based Virtual Machine)。是第一个整合到 Linux内核的虚拟化技术。在 KVM 模型中,每一个虚拟机都是一个由 Linux 调度程序管理的标准进程,你可以在用户空间启动客户机操作系统。
一个普通的 Linux 进程有两种运行模式:内核和用户。 KVM 增加了第三种模式:客户模式(有自己的内核和用户模式)
- XEN :需要升级内核,只能支持和物理机系统一样的操作系统。
- KVM:支持 linux 以外的其它系统。比如:windows
- QEMU:是一套由 Fabrice Bellard 所编写的以 GPL 许可证分发源码的模拟处理器,在 GNU/Linux平台上使用广泛。QEMU 具有高速度和跨平台的特性,QEMU 能模拟至接近真实电脑的速度。QEMU 能模拟整个电脑系统,包括中央处理器及其他周边设备。QEMU 和 vmware一样都是支持仿真虚拟化,效率比较低。
配置 KVM 前期准备工作
实验环境是在PC机上装有win7系统,并安装VMware Workstation软件
1、把虚拟机内存调成 2G 以上,因为我们要在 VMware 虚拟中安装 KVM,然后在 KVM 中再安装虚拟机
内存至少2GB以上
2、开启 vmware 中虚拟化支持
开启 vmware 中虚拟化支持功能
虚拟化 cpu 性能计数器作用:(安装KVM不需要打开此功能)
VMware 官网手册里有说明 http://pubs.vmware.com/workstation-12/index.jsp
3、添加一个 20G 的硬盘,用于存 KVM 虚拟机
添加一个 20G 的硬盘
注: 只有 64 位 RHEL6 以上系统支持 KVM。 32 位系统不支持。
4、查看 CPU 是否支持硬件虚拟化技术。
查看自己的 CPU 是否支持全虚拟化虚拟化技术且是 64 位的
Intel:cat /proc/cpuinfo | grep --color vmxAMD: cat /proc/cpuinfo | grep --color svm
看看 flag 有没有上面的 vmx 或者是 svm,有的话就是支持全虚拟化技术
5、开启 BIOS 虚拟化支持。 找到 VT 改为:enable 。BIOS 中也要打开,默认很多机器没有打开。
没有开启VT
BIOS开启VT
6、安装RHEL 64位以上操作系统
此过程不在过多赘述,大家可自行安装
安装 KVM 虚拟机
开机后查看 CPU 是否支持全虚拟化
查看自己的 CPU 是否支持全虚拟化虚拟化技术且是 64 位的
- Intel:cat /proc/cpuinfo | grep --color vmx
- AMD :cat /proc/cpuinfo | grep --color svm
- 看看 flag 有没有上面的 vmx 或者是 svm,有的话就是支持全虚拟化技术
安装 KVM
安装 KVM 模块、管理工具和 libvirt,命令行安装:
- # yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python
注:使用系统镜像,先配置好 yum 本地源
注:
- qemu-kvm : kvm 主程序, KVM 虚拟化模块
- virt-manager: KVM 图形化管理工具
- libvirt: 虚拟化服务
- libguestfs-tools : 虚拟机的系统管理工具
- virt-install : 安装虚拟机的实用工具 。比如 virt-clone 克隆工具就是这个包安装的
- libvirt-python : python 调用 libvirt 虚拟化服务的 api 接口库文件
查看安装完KVM后的服务:
- # systemctl start libvirtd #开启虚拟化服务
- # systemctl enable libvirtd #设置 libvirtd 服务开机启劢
- # systemctl is-enabled libvirtd #查看是不是开机启劢
确定正确加载 kvm 模块
- # lsmod | grep kvm
- kvm_intel 170086 0
- kvm 566340 1 kvm_intel
- irqbypass 13503 1 kvm
使用命令:virt-manager 建立虚拟机
将 kvm 管理工具从英文界面,切换成中文界面:
- # echo $LANG
- en_US.UTF-8
- # LANG='zh_CN.UTF-8'
- # virt-manager
1、执行 virt-manager 后,弹出如下界面:
virt-manager
2、创建一个分区,用于存放安装好的 Linux 操作系统:
- # fdisk /dev/sdb #创建 sdb1,大小 20G
...略
格式化,并挂载使用
- # mkfs.xfs /dev/sdb1
- #mount /dev/sdb1 /var/lib/libvirt/images/ #安装虚拟机,默认存放的路径:
注:准备系统镜像:把 centos7.4 镜像上传到/var/lib/libvirt/images/目录下。
3、创建虚拟机
- # virt-manager
virt-manager
选择如何安装系统
使用ISO镜像
配置资源
配置磁盘
配置网络
点"完成"到此创建好一个新的 KVM 虚拟机了。
4、修改 KVM 中 BIOS 引导顺序
引导选项
5、正常安装系统测试
KVM 虚拟机常用命令
# virsh list #列出在运行的虚拟机
# virsh start centos7-71 #启劢 centos7-71 虚拟机
# virsh shutdown centos7-71 #关闭 centos7-71 虚拟机
# virsh autostart centos7-71 #设置 centos7-71 虚拟机为物理机开机后,自动启动
测试:
reboot 后,没有发现 kvm 虚拟机开机自动启动
解决:
# vim /etc/fstab #记得设置开机自动挂载 sdb1,不然是启动不了的
- /dev/sdb1 /var/lib/libvirt/images xfs defaults 0 0