KVM 虚拟化环境需要安装 QEMU 和 libvirt,可以通过 APT 源或源码编译的方式安装,通过 APT 源方式安装简单,如果想使用更高版本的软件则需要通过源码编译安装。
kvm 已集成到 Linux 内核,无需安装。
Linux 系统环境
虚拟机:VMware 12.1.0
系统版本:Ubuntu 16.04 64 位
APT 源安装
1.BIOS 需要开启虚拟化支持,VMWare 需要在虚拟机 CPU 配置页面开启虚拟化支持。
2.查看 cpu 是否支持安装,输出 vmx 表示支持。
egrep "(svm|vmx)" /proc/cpuinfo
3.安装 QMEU 和 libvirt。
sudo apt-get install -y qemu libvirt-bin bridge-utils virt-manager
bridge-utils 是网桥管理工具。
virt-manager(https://virt-manager.org/) 是一个通用的桌面管理工具。它即可以本地访问 Hypervisors ,也可以远程访问。针对家庭和小型办公室用来管理10-20台主机和虚拟机。
4.配置安全策略关闭 apparmor(可不关闭)。
sudo /etc/init.d/apparmor teardown
sudo update-rc.d -f apparmor remove
5.重启 libvirtd。
sudo systemctl restart libvirt-bin
6.查看 kvm qemu virt-managers 是否安装成功。
sudo virt-manager
打开 virt-manager 并创建一个虚拟机。
源码编译安装
1.下载 QEMU 源码。
cd /tmp
wget http://download.qemu-project.org/qemu-2.9.0.tar.xz
tar xvJf qemu-2.9.0.tar.xz
cd qemu-2.9.0
2.安装 QEMU 相关依赖。
sudo apt-get install -y build-essential pkg-config zliblg-dev
sudo apt-get install -y libglib2.0-dev libaio-dev librdb-dev
sudo apt-get install -y autoconf automake libtool
3.配置和编译安装 QEMU。
# 编译参数详情参考 ./configure --help
sudo ./configure --prefix=/usr/local/qemu2.9\
--target-list=x86_64-softmmu\
--enable-kvm --disable-docs\
--enable-linux-aio\
--disable-guest-agent\
--enable-vnc\
--enable-vhost-net\
--disable-xen\
--enable-rdb
sudo make && sudo make install
sudo ln -s /usr/local/qemu2.9/bin/* /usr/local/bin/
4.下载 libvirt 源码。
cd /tmp
wget http://libvirt.org/sources/libvirt-2.0.0.tar.xz
tar -xvf libvirt-2.0.0.tar.xz
cd libvirt-2.0.0.tar.xz
5.安装 libvirt 相关依赖。
sudo apt-get install -y libyajl-dev libxml2-dev
sudo apt-get install -y libdevmapper1.02.1 libdevmapper-dev
sudo apt-get install -y libnl-3-dev libnl-route-3-dev
6.配置和编译安装 libvirt。
sudo ./configure --prefix=/usr/local/libvirt2.0.0
sudo make && sudo make install
LIBVIRT_HOME=/usr/local/libvirt2.0.0
sudo ln -s $LIBVIRT_HOME/bin/* /usr/bin/
sudo ln -s $LIBVIRT_HOME/etc/libvirt /etc/libvirt/
sudo ln -s $LIBVIRT_HOME/lib/systemd/system/* /lib/systemd/system/
sudo systemctl enable libvirtd
sudo ln -s /lib/systemd/system/libvirtd.service /lib/systemd/system/libvirt-bin.service