一、关于虚拟化

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"

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_容器的虚拟化和kvm的区别

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

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_服务器虚拟化北向_02

systemctl restart network //重启网卡

5、创建系统和镜像存储池

virt-manager //在图形终端数入

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_centos_03

添加虚拟机文件存放位置

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_服务器虚拟化北向_04

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_容器的虚拟化和kvm的区别_05

添加镜像文件存放位置

事先已经上传镜像文件到指定目录

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_容器的虚拟化和kvm的区别_06

之后刷新卷列表

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_centos_07

6、新建虚拟机

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_服务器虚拟化北向_08

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_服务器虚拟化北向_09

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_centos_10

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_容器的虚拟化和kvm的区别_11

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_虚拟化_12

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_容器的虚拟化和kvm的区别_13

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_centos_14

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_centos_15

7、安装centos7(步骤如VMware安装)

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_centos_16

三、使用命令工具管理虚拟机

1、安装命令工具

yum install acpid -y
systemctl start acpid //启动
virsh list --all //查看虚拟机状态

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_容器的虚拟化和kvm的区别_17

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

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_centos_18

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_容器的虚拟化和kvm的区别_19

virsh start cent //开启克隆的系统

6、快照

virsh snapshot-create centos7.0 //创建centos7.0的快照
virsh snapshot-current centos7.0 //查看当前快照(状态)
virsh snapshot-list centos7.0 //查看快照详细信息

容器的虚拟化和kvm的区别 kvm和容器虚拟化的优缺点_Docker_20

virsh snapshot-revert centos7.0 1549805580 //恢复快照
virsh snapshot-delete centos7.0 1549805580ini //删除快照