云计算与虚拟化工具之KVM
一、云计算介绍
一、云计算是什么
云计算是一种模式
云计算必须通过网络来使用
弹性计算、按需付费、快速扩展 (VPS就无法做到)
不需要关心太多基础设施,都有云计算提供商提供
二、云计算分类
私有云 解释:私有云就是自己构建一个云计算平台
公有云 解释:公有云提供商来进行提供云计算服务
混合云 解释:既有私有云又包含公有云
三、云计算分层
三种不同的场景
1.IDC环境 需要考虑网络、服务器、机房位置、带宽等,都需要考虑
2.基础设施环境 平台级别,类似于阿里云的ces 提供一个平台 服务是我们自己搭建的
3.平台环境 软件级别类似于腾讯企业邮箱,只需要买用户就可以安全措施腾讯有提供服务
云计算是一种资源通过网络交互的一种模式,同时这个资源要具有弹性扩展、按需付费等特性.
四、什么是KVM
KVM是内核级虚拟化技术
KVM全称Kernel-based Virtual Machine
最上面是我们的PC的形式;
在实际的服务器上一个物理机会有多个虚拟操作系统公用这些物理资源;
然后组合成群后,就是最下面的形式;
五、虚拟化分类
1.硬件虚拟化 硬件虚拟化代表:KVM
2.软件虚拟化 软件虚拟化代表:Qemu
硬件虚拟化是需要CPU支持,如果CPU不支持将无法创建KVM虚拟机
六、虚拟化技术
全虚拟化:全虚拟化代表有:KVM
半虚拟化:半虚拟化代表有Hypervisor
针对IO层面半虚拟化
要比全虚拟化要好,因为磁盘IO
多一层必定会慢。一般说IO就是网络IO
和磁盘IO
因为这两个相对而言是比较慢
的 ;
提示: Qemu和KVM的最大区别就是,如果一台物理机内存直接4G,创建一个vm
虚拟机分配内存分4G,在创建一个还可以分4G。支持超配,但是Qemu
不支持;
七、虚拟化使用场景分类
服务器虚拟化:解决资源利用率低的问题
桌面虚拟化:有一些弊端,图形显示层面会有问题
应用虚拟化:没接触过,公司比较穷买不起,基本上只有银行等国企才会用`**Xenapp ICA
八、虚拟化工具KVM介绍
KVM 全称:Kernel-based Virtual Machine
(内核级虚拟化机器)
原本由以色列人创建,现在被红帽收购
ESXI 虚拟套件
,现在是免费使用
VMware vSphere Hypervisor – 安装和配置
**提示:**一台服务器首选ESXI
九、KVM安装
调整虚拟机
**虚拟化Intel使用的是Intel VT-X ; **
虚拟化AMD使用的是AMD-V
创建虚拟机步骤
1.准备虚拟机硬盘
2.需要系统iso镜像
3.需要安装一个vnc的客户端来连接
查看系统环境
[root@linux-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@linux-node1 ~]# uname -r
3.10.0-327.36.2.el7.x86_64
检查是否有vmx
或者svm
[root@linux-node1 ~]# grep -E '(vmx|svm)' /proc/cpuinfo
安装kvm用户态
模块
[root@linux-node1 ~]# yum list|grep kvm
libvirt-daemon-kvm.x86_64 1.2.17-13.el7_2.5 updates
pcp-pmda-kvm.x86_64 3.10.6-2.el7 base
qemu-kvm.x86_64 10:1.5.3-105.el7_2.7 updates
qemu-kvm-common.x86_64 10:1.5.3-105.el7_2.7 updates
qemu-kvm-tools.x86_64 10:1.5.3-105.el7_2.7 updates [root@linux-node1 ~]# yum install qemu-kvm qemu-kvm-tools libvirt -y
libvirt 用来管理kvm
kvm属于内核态,不需要安装。但是需要一些类似于依赖的
kvm属于内核态,不需要安装。但是需要安装一些类似于依赖的东西 |
启动
[root@linux-node1 ~]# systemctl start libvirtd.service
[root@linux-node1 ~]# systemctl enable libvirtd.service
启动之后我们可以使用ifconfig
进行查看,libvirtd
已经为我们安装了一个桥接网卡
libvirtd
为我们启动了一个dnsmasqp
,这个主要是用来dhcp
连接的,这个工具会给我们的虚拟机分配IP地址
[root@linux-node1 ~]# ps -ef|grep dns
nobody 5233 1 0 14:27 ? 00:00:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root 5234 5233 0 14:27 ? 00:00:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelpe
root 5310 2783 0 14:31 pts/0 00:00:00 grep --color=auto dns
查看磁盘空间大小
最好是20G以上
[root@linux-node1 tmp]# df -h
上传镜像
**提示:**如果使用rz上传镜像可能会出现错误,所以我们使用dd命令,复制系统的镜像。只需要挂载上光盘即可
[root@linux-node1 opt]# dd if=/dev/cdrom of=/opt/CentOS-7.2.iso
[root@linux-node1 opt]# ll total 33792
-rw-r--r-- 1 root root 34603008 Jun 12 18:18 CentOS-7.2-x86_64-DVD-1511.iso
下载VNC
下载地址:http://www.tightvnc.com/download/2.8.5/tightvnc-2.8.5-gpl-setup-64bit.msi
安装完VNC如下图
创建磁盘
提示: qemu-img
软件包是我们安装qemu-kvm-tools
依赖给安装上的
[root@linux-node1 opt]# qemu-img create -f raw /opt/CentOS-7.2-x86_64.raw 10GFormatting '/opt/Centos-7-x86_64.raw', fmt=raw size=10737418240
[root@linux-node1 opt]#
[root@linux-node1 opt]# ll /opt/Centos-7-x86_64.raw -rw-r--r-- 1 root root 10737418240 Oct 26 14:53 /opt/Centos-7-x86_64.raw
-f 制定虚拟机格式,raw是裸磁盘
/opt/Centos 存放路径
10G 代表镜像大小
安装启动虚拟机的包
[root@linux-node1 tmp]# yum install -y virt-install
安装虚拟机
[root@linux-node1 tmp]# virt-install --help
我们可以指定虚拟机的CPU、磁盘、内存等
[root@linux-node1 opt]# virt-install --name CentOS-7.2-x86_64 --virt-type kvm --ram 1024 --cdrom=/opt/CentOS-7.2.iso --disk path=/opt/CentOS-7.2-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
--name = 给虚拟机起个名字
--ram = 内存大小
--cdrom = 镜像位置,就是我们上传iso镜像的位置,我放在/tmp下了
--disk path = 指定磁盘
--network network= 网络配置 default 就会用我们刚刚ifconfig里面桥接的网卡
--graphics vnc,listen= 监听vnc,
分区说明
**提示:**我们不分交换分区,因为公有云上的云主机都是没有交换分区的
十、Libvirt介绍
libvirt
是一个开源免费
管理工具,可以管理KVM、VMware等
他需要起一个后台的进程,它提供了API。像openstack
就是通过libvirt API
来管理虚拟机
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vcp4lgAZ-1596980494935)(libvirt.jpg)]
二、KVM虚拟机和VMware区别
虚拟机监控程序(KVM)是虚拟化平台的根基。从传统供应商到各种开源替代品,可供选择的虚拟机监控程序有很多。
VMware 是一款实现虚拟化的热门产品,可以提供 ESXi 虚拟机监控程序和 vSphere 虚拟化平台。
基于内核的虚拟机(KVM)则是 Linux® 系统上的一种开源解决方案。
VMware vSphere 与 VMware ESXi
VMware 可以提供 ESXi 虚拟机监控程序和 vSphere 虚拟化平台。VMware ESXi 是一个能够直接安装到物理服务器上的裸机虚拟机监控程序,可以帮你整合硬件。你可以用 VMware 的虚拟化技术来创建和部署虚拟机(VM),从而现代化改造自己的基础架构,来交付和管理各种新旧应用。
选用 VMware vSphere 后,你需要使用 VMware 的控制堆栈来管理虚拟机,而且有多个许可证授权级别可供使用。
KVM 开源虚拟化技术
KVM 是一种开源虚拟化技术,能将 Linux 内核转变成可以实现虚拟化的虚拟机监控程序,而且可以替代专有的虚拟化技术(比如 VMware 提供的专有虚拟化技术)。
迁移到基于 KVM 的虚拟化平台,你就可以检查、修改和完善虚拟机监控程序背后的源代码。能够访问源代码,就如同掌握了开启无限可能的钥匙,能够让你虚拟化传统工作负载和应用,并为云原生和基于容器的工作负载奠定基础。由于 KVM 内置于 Linux 内核中,所以使用和部署起来非常方便。
KVM 虚拟机和 VMware vSphere 的主要区别
VMware 可以提供一个完善稳定的虚拟机监控程序,以及出色的性能和多样化的功能。但是,专有虚拟化会阻碍你获得开展云、容器和自动化投资所需的资源。解除供应商锁定,你就可以任享自由、灵活与丰富的资源,从而为未来的云原生和容器化环境打下基础。
生产就绪型的 KVM 具有支持物理和虚拟基础架构的功能,可以让你以更低的运营成本为企业工作负载提供支持。相比使用 VMware vSphere 等其他解决方案,选用基于 KVM 的虚拟化选项能够带来很多优势。
开源Linux KVM的优势:
- 更低的总拥有成本,从而省下运营预算,用来探索现代化创新技术。
- 不再受供应商捆绑。无需为不用的产品付费,也不会受到软件选择限制。
- 跨平台互操作性:KVM 可以在 Linux 和 Windows 平台上运行,所以你可以充分利用现有的基础架构投资。
- 出色简便性:可以通过单个虚拟化平台,在数百个其他硬件或软件上创建、启动、停止、暂停、迁移和模板化数百个虚拟机。
- 卓越性能:应用在 KVM 上的运行速度比其他虚拟机监控程序都快。
- 开源优势:不但能访问源代码,还能灵活地与各种产品集成。
- 享受 Linux 操作系统的现有功能:
- 安全防护功能
- 内存管理
- 进程调度器
- 设备驱动程序
- 网络堆栈