一、关于虚拟化
1、什么是虚拟化
虚拟化就是把硬件资源从物理的方式转变为逻辑的方式,打破原有物理结构,使用用户可以灵活管理这些资源,并且允许1台物理机上运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术。
2、虚拟化的优势
(1)减少服务器数量,降低硬件的采购成本。
(2)资源利用率最大化
(3)降低机房空间、散热、用电消耗的成本
(4)硬件资源可动态调整,提高企业IT业务灵活性
(5)高可用性
(6)在不断服务的情况下进行物理硬件调整
(7)具备更高效的灾备能力
3、KVM虚拟化
KVM自Linux 2.6.20版本后就直接整合Linux内核中,它依托CPU虚拟化指令集(如intel-VT、AMD-V)实现高性能的虚拟化的支持。由于与Linux内核高度整合,因此在性能、安装性、兼容性、稳定性上都有很好的表现。为了充分提高Linux系统的利用率,可以部署KVM,在物理机上运行多个业务系统。
4、和Docker区别
Docker 比虚拟机更节省内存,启动更快,不需要安装从操作系统。
Docker将容器与主操作系统隔离,并将各个容器互相隔离。
虚拟机隔离不同用户,Docker隔离不同应用。
二、搭建KVM虚拟化平台
1、系统环境
1)一台桌面环境版本的CentOS7
2) 开启CPU虚拟化
2、安装KVM所需软件
yum install -y \
qemu-kvm.x86_64 \ //安装KVM模块
qemu-kvm-tools.x86_64 \ //安装KVM调试工具,可不安装
python-virtinst.noarch \ //python组件,记录创建VM是的xml组件
qemu-img.x86_64 \ //qemu组件,创建磁盘、启动虚拟机等
bridge-utils.x86_64 \ //网路支持工具
libvirt \ //虚拟机管理工具
virt-manager \ //图形界面管理工具
openssh-askpass //图形界面口令组件
3、验证当前主机是否满足KVM的运行条件
cat /proc/cpuinfo | egrep -o "vmx|smv" //intel CPU过滤vmx,AMD CPU过滤smv
modprobe kvm
lsmod | grep kvm
4、创建桥接网卡
vi /etc/sysconfig/network-scripts/ifcfg-ens33 //末尾添加 同时要把网卡的IP相关参数去掉
BRIDGE="br0"
vi /etc/sysconfig/network-scripts/ifcfg-br0 //创建桥接网卡配置文件
DEVICE=br0
BOOTPROTO=static
#NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.100.30
NETMASK=255.255.255.0
systemctl restart network //重启网卡
5、创建系统和镜像存储池
virt-manager //在图形终端数入
添加虚拟机文件存放位置
添加镜像文件存放位置
事先已经上传镜像文件到指定目录
之后刷新卷列表
6、新建虚拟机
7、安装centos7(步骤如VMware安装)
三、使用命令工具管理虚拟机
1、安装命令工具
yum install acpid -y
systemctl start acpid //启动
virsh list --all //查看虚拟机状态
virsh shutdown centos7.0 //相当于init 0
virsh start centos7.0 //开机
virsh destroy centos7.0 //强制关闭电源
virsh suspend centos7.0 //挂起
virsh resume centos7.0 //恢复
virsh autostart centos7.0 //伴随随宿主机自启动
2、导出虚拟机
virsh dumpxml centos7.0 > /etc/libvirt/qemu/c02.xml
3、删除KVM虚拟机(配置文件被删除,磁盘文件不会删除)
virsh shutdown centos7.0 //关机
virsh undefine centos7.0 //删除
4、文件管理(查看文件)
yum install libguestfs-tools -y
virt-cat -a /date/cent/centS.qcow2 /etc/sysconfig/network/ifcfg-ens33 //查看网卡信息
5、克隆
yum install virt-install -y //安装克隆工具
virsh list --all //查看要克隆的机器名
virt-clone -o 源虚拟机名称 -n 克隆后的虚拟机名称 -f 克隆后的虚拟机磁盘存储卷路径(磁盘文件qcow2)
virsh start 克隆后的虚拟机名称
virsh shutdown centos7.0
virt-clone -o centos7.0 -n cent -f /date/cent/cent2.qcow2
virsh start cent //开启克隆的系统
6、快照
virsh snapshot-create centos7.0 //创建centos7.0的快照
virsh snapshot-current centos7.0 //查看当前快照(状态)
virsh snapshot-list centos7.0 //查看快照详细信息
virsh snapshot-revert centos7.0 1549805580 //恢复快照
virsh snapshot-delete centos7.0 1549805580ini //删除快照
有关KVM动态迁移可点击KVM动态迁移