KVM
概述
KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机。
KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各个主要发行版本中。它使用 Linux自身的调度器进行管理,所以相对于 Xen,其核心源码很少。KVM 目前已成为学术界的主流 VMM(虚拟机监控器)之一。KVM 的虚拟化需要硬件支持(如 Intel VT 技术戒者 AMD V 技术)。是基于硬件的完全虚拟化。而 Xen 早期则是基于软件模拟的 Para-Virtualization。
是第一个整合到 Linux 内核的虚拟化技术。在 KVM 模型中,每一个虚拟机都是一个由 Linux 调度程序管理的标准进程,你可在用户空间启动客户机操作系统
逻辑拓扑
配置KVM网络桥接功能
拓扑
配置
[root@SR ~]# cd /etc/sysconfig/network-scripts/
[root@SR network-scripts]# cp ifcfg-ens37 /tmp/ #备份一下 eth0
[root@SR network-scripts]# vim ifcfg-ens37
BRIDGE="br0" # 末尾添加该行
[root@SR network-scripts]# vim ifcfg-br0
DEVICE="br0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge" # Bridge中的B大写
BOOTPROTO=none
IPADDR=10.1.1.11
NETMASK=255.255.255.0
[root@SR ~]# systemctl restart network # 重启网络
[root@SR ~]# brctl show # 查看桥接信息
bridge name bridge id STP enabled interfaces
br0 8000.000c29db7853 no ens37
virbr0 8000.52540096ac37 yes virbr0-nic
配置KVM
安装KVM虚拟机
# 查看自己的 CPU 是否支持全虚拟化虚拟化技术且是 64 位的
[root@SR ~]# cat /proc/cpuinfo | grep --color vmx # Intel:
[root@SR ~]# cat /proc/cpuinfo | grep --color svm # AMD
[root@SR ~]# yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python -y # 安装KVM以及相对应模块
[root@SR ~]# lsmod | grep kvm # 查看是否安装KVM模块
# 开启虚拟化服务以及开机自动启动
[root@SR ~]# systemctl start libvirtd
[root@SR ~]# systemctl enable libvirtd
参数讲解
qemu-kvm : kvm 主程序, KVM 虚拟化模块
virt-manager: KVM 图形化管理工具
libvirt: 虚拟化服务
libguestfs-tools : 虚拟机的系统管理工具
virt-install : 安装虚拟机的实用工具 。比如 virt-clone 克隆工具就是这个包安装的
libvirt-python : python 调用 libvirt 虚拟化服务的 api 接口库文件
修改KVM图形化管理界面
[root@SR ~]# echo $LANG
en_US.UTF-8 # 默认是英文
[root@SR ~]# LANG='zh_CN.UTF-8' # 修改中午
[root@SR ~]# echo $LANG
zh_CN.UTF-8
分区挂载镜像
[root@SR ~]# fdisk /dev/sdb # 数据分区
[root@SR ~]# mkfs.xfs /dev/sdb1 # 格式化系统
[root@SR ~]# mount /dev/sdb1 /var/lib/libvirt/images/ # 将虚拟机默认安装路径挂载到/dev/sdb1下
查看安装
[root@SR ]# virsh list # 查看当前运行的虚拟机
Id Name State
----------------------------------------------------
1 centos7.0 running
[root@SR ~]# virsh shutdown centos7.0 #关闭 centos7.0 虚拟机
[root@SR ~]# virsh autostart centos7.0 #设置 centos7.0 虚拟机为物理机开机后自动启动
[root@SR ~]# vim /etc/fstab #记得设置开机自动挂载 不然开机不能自动开启虚拟机
/dev/sdb1 /var/lib/libvirt/images xfs defaults 0 0