参考文档
- https://github.com/jaywcjlove/handbook/blob/master/CentOS/CentOS7%E5%AE%89%E8%A3%85KVM%E8%99%9A%E6%8B%9F%E6%9C%BA%E8%AF%A6%E8%A7%A3.md
- https://c.isme.pub/2017/06/17/kvm-install/
- https://www.tuxfixer.com/install-and-configure-kvm-qemu-on-centos-7-rhel-7-bridge-vhost-network-interface/
- http://www.91bg.top/archives/51/
- https://blog.51cto.com/11305268/1774531
关闭selinux
setenforce 0
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
停用防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
安装KVM
yum -y install qemu-kvm libvirt virt-install bridge-utils
安装后需要重启系统
开启libvirtd服务
systemctl start libvirtd
systemctl enable libvirtd
创建虚拟机
virt-install \
--virt-type=kvm \
--name=centos01 \
--vcpus=2 \
--memory=2048 \
--location=/tmp/CentOS-7-x86_64-Minimal-1511.iso \
--disk path=/home/vms/centos01.qcow2,size=40,format=qcow2 \
--network bridge=br0 \
--graphics none \
--extra-args='console=ttyS0' \
--force
虚拟机管理
virsh list # 查看在运行的虚拟机
virsh list --all # 查看所有虚拟机
virsh console centos72
virsh start centos72 # 虚拟机开启(启动):
virsh reboot centos72 # 虚拟机重新启动
virsh shutdown centos72 # 虚拟机关机
virsh destroy centos72 # 强制关机(强制断电)
virsh suspend centos72 # 暂停(挂起)KVM 虚拟机
virsh resume centos72 # 恢复被挂起的 KVM 虚拟机
virsh undefine centos72 # 该方法只删除配置文件,磁盘文件未删除
virsh autostart centos72 # 随物理机启动而启动(开机启动)
virsh autostart --disable centos72 # 取消标记为自动开始(取消开机启动)
相关
libvirt-client # libvirt的客户端,最重要的功能之一就是在宿主机关机时可以通知虚拟机也关机
gpxe-roms-qemu # 虚拟机 iPXE 的启动固件,支持虚拟机从网络启动
libvirt-python # libvirt 为 python 提供的 API
python-virtinst # 一套 Python 的虚拟机安装工具
qemu-kvm # KVM 在用户空间运行的程序
libvirt # 用于管理虚拟机,它提供了一套虚拟机操作 API
virt-manager # 基于 libvirt 的图像化虚拟机管理软件
virt-viewer # 显示虚拟机的控制台 Console
virt-top # 类似于 top 命令,查看虚拟机的资源使用情况
virt-what # 在虚拟机内部执行,查看虚拟机运行的虚拟化平台
qemu-img # 用于操作虚拟机硬盘镜像的创建、查看和格式转化
qemu-kvm: 主要包含KVM内核模块和基于KVM重构后的QEMU模拟器. KVM模块作为整个虚拟化环境的核心工作在系统空间, 负责CPU和内存的调度. QEMU作为模拟器工作在用户空间, 负责虚拟机I/O模拟.
依赖包 quemu-img: 主要用来QEMU磁盘镜像的管理, 如新建一块磁盘镜像给虚拟机.
libvirt: 提供Hypervisor和虚拟机管理的API.
libvirt-client: KVM客户端命令行管理工具virsh, 负责虚拟机的启动、停止和管理等.
libvirt-daemon: libvirtd守护进, 作为客户端管理工具跟Hypervisor和虚拟机之间的桥梁.
libvirt-daemon-driver-xxx: 从名字来看属于libvirtd服务的驱动文件, 作为libvirtd服务跟Hypervisor不同对象(如qemu模拟器、网络、存储等)间的接口.
bridge-utils: 网桥管理工具包, 负责桥接网络的创建、配置和管理等工作.
virt-install: 创建和克隆虚拟机的命令行工具包.
virt-manager: 图形界面的KVM管理工具.
图形界面
yum install virt-manager
virt-manager
配置桥接模式
停用NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
cd /etc/sysconfig/network-scripts
vi ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTRPOTO=static
IPADDR=10.211.55.11
NETMASK=255.255.255.0
GATEWAY=10.211.55.1
DNS1=10.211.55.1
ONBOOT=yes
vi ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
#IPADDR=10.211.55.11
#PREFIX=24
#GATEWAY=10.211.55.1
#DNS1=10.211.55.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=eth0
UUID=9beea3d9-92ac-4f7f-b5eb-c8341f308a7d
ONBOOT=yes
DEVICE=eth0
BRIDGE=br0
网友评论