KVM 是 OpenStack 使用最普遍的 Hypervisor,本节介绍如何搭建 KVM 实验环境linux
安装 KVMubuntu
上一节说了,KVM 是 2 型虚拟化,是运行在操做系统之上的,因此咱们先要装一个 Linux。Ubuntu、Redhat、CentOS 均可以,这里咱们以 Ubuntu14.04 为例。bash
基本的 Ubuntu 操做系统装好以后,安装 KVM 须要的包 网络
$ sudo apt-get install qemu-kvm qemu-system libvirt-bin virt-manager bridge-utils vlan
经过这些安装包咱们顺便复习一下上一节介绍的 KVM 的相关知识。ssh
qemu-kvm 和 qemu-system 是 KVM 和 QEMU 的核心包,提供 CPU、内存和 IO 虚拟化功能工具
libvirt-bin 就是 libvirt,用于管理 KVM 等 Hypervisorui
virt-manager 是 KVM 图形化管理工具spa
bridge-utils 和 vlan,主要是网络虚拟化须要,KVM 网络虚拟化的实现是基于 linux-bridge 和 VLAN,后面咱们会讨论。操作系统
Ubuntu 默认不安装图形界面,手工安装一下 rest
sudo apt-get install xinit sudo apt-get install gdm sudo apt-get install kubuntu-desktop
apt 默认会到官网上去下载安装包,速度很慢,咱们可使用国内的镜像站点。
配置/etc/apt/sources.list
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
而后执行下面命令更新安装包 index
# apt update
Redhat 和 CentOS 安装相对简单,安装过程当中选择虚拟化和图形组件就能够了。
小窍门:Ubuntu 默认是不容许 root 经过 ssh 直接登陆的,能够修改 /etc/ssh/sshd_config,设置
PermitRootLogin yes
而后重启 ssh 服务便可
# service ssh restart ssh stop/waiting ssh start/running, process 27639
在虚拟机上作实验
做为 2型虚拟化的 KVM,是支持虚拟化嵌套,这使得咱们能够在虚拟机中实验 KVM。 好比我在 VMWare Workstation 中安装了一个 Ubuntu14.04 的虚拟机,为了能让 KVM 能建立 嵌套的虚机,要把 CPU 的虚拟化功能打开。以下图在 VMWare 中设置如下 CPU 的模式
Ubuntu 启动后,用如下命令确认 CPU 支持虚拟化
# egrep -o '(vmx|svm)' /proc/cpuinfo # vmx
确认 Libvirtd 服务已经启动
# service libvirt-bin status libvirt-bin start/running, process 1478
KVM 准备就绪,下一节咱们将建立虚拟机