KVM虚拟化
1:什么是虚拟化
虚拟化,通过模拟计算机的硬件,来实现在同一台计算机上同时运行多个不同的操作系统的技术。
2:为什么要用虚拟化
kvm: 兼容较好,性能较好! 支持内存压缩技术
qemu:最早,最慢,兼容性最强,模拟所有硬件, x86,arm,power AIX
xen: 性能最好,兼容性最查,使用专门定制的内核,
vmware ESXI商业软件: 最贵,好用
virtual box: 开源
没有虚拟化之前:计算机的硬件配置越来越高
512G 内存,4路 8核16线程 ,12* PCI-E 1T的SSD;ntp服务,安装多个mysql,安装多个tomcat,安装....
linux开源的,很多软件都有依赖包openssl nginx
充分利用资源,软件运行环境的隔离,只有虚拟化才行实现。
场景1:同一台物理机运行多个php版本 php5.3(openssl,gd) php5.5 php7.2
场景2:机房的迁移,解决了硬件和系统的依赖
场景3:openstack环境,软件发布方式
场景4:开发环境和测试环境,使用虚拟化只靠一台物理服务器,30台虚拟机
产品 -- 开发 -- 运维 -- 测试so结尾,linux 库文件
场景5:业务的快速部署 从头安装系统,安装服务,配置克隆虚拟机,改ip,
虚拟化:提高了资源的利用率,各个服务的安全性隔离,解决了系统和硬件之间的依赖
3:kvm虚拟化管理软件的安装
yum install libvirt virt-install qemu-kvm -y
KVM:Kernel-based Virtual Machine
libvirt 作用:虚拟机的管理软件,管理虚拟机的生命周期libvirt: kvm,xen,qemu,lxc....
virt virt-install virt-clone 作用:虚拟机的安装工具和克隆工具qemu-kvm qemu-img (qcow2,raw)作用:管理虚拟机的虚拟磁盘
4:安装一台kvm虚拟机TightVNC或者VNC Viewer 4.exe宿主机
vnc:远程的桌面管理工具 win客户端-->linux服务端向日葵微软的远程桌面
systemctl start libvirtd.servicesystemctl status libvirtd.service
10.0.0.11 宿主机
建议虚拟机内存不要低于1024M,否则安装系统特别慢!virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
vnc:10.0.0.11:5900
--virt-type kvm 虚拟化的类型(qemu)
--os-type=linux 系统类型
--os-variant rhel7 系统版本
--name centos7 虚拟机的名字
--memory 1024 虚拟机的内存
--vcpus 1 虚拟cpu的核数
--disk /opt/centos2.raw,format=raw,size=10--cdrom /opt/CentOS-7-x86_64-DVD-1708.iso
--network network=default 使用默认NAT的网络
--graphics vnc,listen=0.0.0.0
--noautoconsole
raw:10G 不支持做快照,性能好
qcow2: 支持快照