# 首先检查 CPU 是否支持虚拟化技术
grep -E '(vmx|svm)' /proc/cpuinfo
# 查看vt-d是否开启
lsmod | grep kvm
# 关闭selinux
# 修改配置文件,保证重启后仍然能生效
setenforce 0 #命令可以立即生效
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 网络环境准备配置
建议关闭networkmanager
systemctl stop NetworkManager
systemctl disable NetworkManager
# KVM环境中一般使用linuxbridge将物理网卡和虚机网卡桥接上。br相当于一个虚拟交换机,一端连接物理网卡,一端连接到虚机,虚机就可以和外面连通了。
# 开启转发
echo 1 > /proc/sys/net/ipv4/ip_forward && cat /proc/sys/net/ipv4/ip_forward
# 可以写入配置文件,保证重启后也生效
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
# centos7 中配置 Linux Bridge 的步骤
# 安装网桥管理工具 bridge-utils
# 备份原有配置
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
# 编辑物理网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
# 关键:将物理网卡绑定到网桥 br0
BRIDGE=br0
# 安装 KVM 及相关组件
# 如果本身是图形化界面可忽略
yum -y groupinstall "GNOME Desktop" #安装GNOME桌面环境
yum -y install qemu-kvm # KVM模块
yum -y install qemu-kvm-tools # KVM调试工具,可不安装
yum -y install virt-install # 构建虚拟机的命令行工具
yum -y install qemu-img # qemu组件,创建磁盘、启动虚拟机等
yum -y install bridge-utils # 网络支持工具
yum -y install libvirt # 虚拟机管理工具
yum -y install virt-manager # 图形界面管理虚拟机
yum -y install libguestfs-tools # 用来管理虚拟机磁盘格式
yum -y install virt-viewer # 控制台连接工具
yum -y install libvirt-client # libvirt 服务的客户端工具包
yum -y install libvirt-python # Python 语言对 libvirt API 的绑定
yum -y install qemu-kvm qemu-kvm-tools qemu-img virt-install virt-manager virt-viewer libvirt
libvirt-daemon bridge-utils libguestfs-tools libvirt-client libvirt-python
# 如果本身就是图形化界面可忽略下一步
ls -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
# 将系统默认运行的target更改为graphical.target,若不执行该命令,重启时可能会报错。
systemctl start libvirtd # 启动libvirtd服务
systemctl enable libvirtd # 设置该服务为开机自启