1.云计算及分类
- 云计算就是一种按量付费的模式,云计算的底层是通过虚拟化技术来实现的
- IAAS:基础即服务,为用户提供或管理IT基础设施,也就是虚拟机;常见的软件就是openstack、ecs等
- PAAS:平台即服务,为用户提供一个开发或运行服务的平台,主要指操作系统和环境等;常见的软件就是docker等容器服务
- SAAS:软件即服务,为用户提供特定的商业功能和应用服务;常见的就是CDN、mail等
2.虚拟化常见软件
- qemu:qemu使用软件纯模拟硬件,实现全虚拟化,他的性能很差,但兼容性很好,支持AIX
- xen:半虚拟化,xen的性能很好,但需要使用专门修改后的内核,兼容行很差;redhat5.5版本之前,默认使用的虚拟化软件就是xen,之后都修改为kvm
- KVM:全虚拟机,他需要有硬件(CPU)支持,基于内核,但不需要专门的内核,性能较好,兼容性较好
- VMware Workstations:不要图形界面,linux上运行效果不如windows
- Virtual box:图形界面,Oracle推出
3.原理:
KVM:Kernel-based Virtual Machine
libvirt 作用:虚拟机的管理软件 libvirt: kvm,xen,qemu,lxc...virt virt-install virt-clone
virt-install作用:虚拟机的安装工具和克隆工具
qemu-img (qcow2,raw)作用:管理虚拟机的虚拟磁盘
4.环境要求:
centos 7.4 7.6
vmware 宿主机 kvm虚拟机
内存4G,cpu开启虚拟化
关掉虚拟化Intel VT-x/EPT或AMD-V/RVI(V)
5.安装过程:
安装kvm虚拟化管理工具
yum install libvirt virt-install qemu-kvm -y
systemctl start libvirtd.service systemctl status libvirtd.service
配置安装
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
翻译配置安装
-virt-type kvm 虚拟化的类型(qemu)
--os-type=linux 系统类型
--os-variant rhel7 系统版本
--name centos7 虚拟机的名字
--memory 102 虚拟机的内存
--vcpus 1 虚拟cpu的核数
--disk /opt/centos2.raw,format=raw,size=10 指定磁盘文件路径
--cdrom /opt/CentOS-7-x86_64-DVD-1708.iso 指定镜像路径
--network network=default 使用默认NAT的网络
--graphicsvnc 指定远程连接的方式
--listen=0.0.0.0 监听的地址
--noautoconsole 不自动连接控制台
6.kvm虚拟机和virsh日常管理和配置
虚拟机列表查看
开机start,关机shutdown,拔电源关机distroy,重启reboot(虚拟机有系统)
导出配置dumpxml
导入配置define,要先关机,在undefine删除配置,最后define导入
修改主机的配置edit(自带语法检查)要先关闭主机
挂起suspend,恢复resume,端口号vncdisplay
开机启动autostart,取消开机启动autostart--disable
console 控制台 登录:虚拟主机里输入grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
7.kvm虚拟机虚拟磁盘格式转换和快照管理
1.raw:裸格式,占用空间较大,不支持快照功能,不方便传输,读写性能较好,总50G,占用50G,传输50G。
qcow2:占用空间小,支持快照,性能比raw差,方便传输,总50G,占用2G,传输2G.
2. 磁盘工具命令:
qemu-img info /opt/web_one.raw:查看磁盘信息
qemu-img create -f qcow2 test.qcow2 2G:创建一块qcow2格式的2G磁盘
qemu-img resize test.qcow2 +3G:修改磁盘大小;qcow2不支持缩容
3. 磁盘格式转换
- 修改磁盘文件需修改虚拟机配置文件
qemu-img convert -f raw -O qcow2 web_one.raw web_one.qcow2:进行磁盘格式转换,会生成一个新的磁盘文件
4. 4K对齐
- 向磁盘中存入数据时,最小单位会占用4kB空间,就算存入一字节的文件,也会占用4kB
- 查看磁盘信息可以发现,qcow2使用的是64k对齐,所以会浪费一部分的磁盘空间,但会大大提高磁盘读写的性能
## 快照管理
1. 快照:
- 就是保存当前主机状态,需要时可以进行回滚
- raw 裸格式不支持快照
- qcow2 支持快照
2. 快照管理命令:
virsh snapshot-create-as web_01 --name install_OK:创建一个快照
virsh snapshot-list web_01:查看一个主机的快照
virsh snapshot-revert web_01 --snapshotname install_OK:还原主机快照
virsh snapshot-delete web_01 --snapshotname install_OK:删除快照
## 克隆管理
1. 克隆分类:
- 完整克隆:克隆原始虚拟机的完整副本,完全独立,需要较多的磁盘空间
- 链接克隆:引用原始虚拟机,占用较少的磁盘空间,但原始虚拟机必须一直存在
2. 克隆命令
- 完整克隆,手动实现就是拷贝配置、拷贝磁盘文件,修改配置
`virt-clone --auto-clone -o web_01 -n web_02`
- 链接克隆
`qemu-img create -f qcow2 -b web_01.qcow2 web_03.qcow2:生成链接磁盘`
- 脚本实现链接克隆