本文转载自 “xiaoli110的博客” 博客 http://xiaoli110.blog.51cto.com/1724/1561107
KVM虚拟化的学习,也可以分为七个阶段,经过七个阶段的学习,就在生产环境中完成虚拟化任务。
第一阶段 虚拟机管理学习
1 了解虚拟化的历史及概念,Xen VMWare HyperV KVM特性了解;
2 分别通过virt-manager及virt-install创建一台虚拟机;
3 了解libvirt xml文件,尤其是CPU 内存 网络 磁盘 VNC的相关参数;
1) 知道如何修改CPU数量及对CPU资源做限制;
2) 知道如何修改内存大小及对内存资源做限制;
3) 知道如何添加硬盘,如何在线的attach磁盘;
4) 知道如何添加网卡,如何在线的attach网卡;
5) 知道如何修改VNC连接参数,如何在线的修改vnc密码;
4 能通过virsh virt-manager完成虚拟机创建、维护、销毁的生命周期管理;
5 学习qemu-img 命令;
6 学习virt-resize virt-inspector virt-inspector2等虚拟机镜像管理命令;
7 学习guestfish guestmount虚拟机镜像挂载命令;
第二阶段 虚拟机CPU内存优化及多宿主机管理
CPU优化:NUMA特性及虚拟机绑定特定CPU配置;
内存优化:内存压缩、大页内存概念及配置;
宿主机之间通过tcp方式连接练习及测试;
宿主机之间通过tls方式连接练习及测试(重点);
通过远程方式,利用virsh命令创建linux虚拟机一台;
通过远程方式,利用virt-manager创建windows虚拟机一台;
第三阶段 虚拟化网络管理
1 linux 网桥、子接口、VLAN创建学习;
2 多网卡绑定学习;
3 libvirt virsh网络管理相关命令学习:如何定义、删除、修改网络配置
4 全虚拟化网卡和半虚拟化网卡在理论上的区别;
5 网络性能测试工具netperf学习及联系;
6 网卡SRIOV pci passthrough 原理学习、实际环境联系及提交性能测试报告;
第四阶段 虚拟化存储管理
了解qcow2 raw 格式区别及创建方法;
学习lvm管理:创建pv vg lv 并扩展lv,将lv挂载给虚拟机使用;
学习fio iozone磁盘压力测试工具,并提交qcow2 raw lv方式性能对比测试报告;
学习ide全虚拟化方式和virtio半虚拟化方式概念,并提交两种方式性能对比测试报告;
了解libvirt 存储池的概念,并能通过virsh xml文件对libvirt存储池进行管理;
搭建基于系统的nfs存储,挂载给多宿主机,并实现在线虚拟机迁移;
搭建基于系统的ISCSI存储,挂载给多宿主机,并实现在线虚拟机迁移;
搭建DRBD系统,以 ISCSI方式挂载给多宿主机,并实现在线虚拟机迁移;
搭建glusterFS系统,挂载给多宿主机,并实现在线虚拟机迁移;
搭建ceph系统,挂载给多宿主机,并实现在线虚拟机迁移;
搭建sheedog系统,挂载给多宿主机,并实现在线虚拟机迁移(选修);
SSD性能测试,配置flashcache,划分lv给虚拟机使用,并提交性能测试报告;
centos7 lvm cache配置,给虚拟机使用,并提交性能测试报告;
第五阶段 虚拟化平台管理
1 virt-manager管理多宿主机练习;
2 opennebula管理平台搭建;
3 cloudstack管理平台搭建;
4 openstack管理平台搭建;
5 convirture VMWare vcenter Xen Server 微软SCVMM管理平台概念了解;
6 提交各个管理平台对比文档,包括以下内容对比:
1) 镜像管理;
2) 网络管理;
3) 存储管理;
4) 节点(宿主机)管理;
5) 虚拟机管理;
6) API;
第六阶段 虚拟化监控、报警及应急响应
1 了解linux性能查看常用工具,练习写一个小脚本,实现当网卡流量超过10M发邮件报警;
2 了解windows系统性能查看方法;
3 学习hpacucli MagaCli命令,能够查看服务器RAID卡状态及磁盘健康状态;
4 cacti搭建并实现宿主机监控,设置超过阀值会报警,宿主机没有响应会报警;
5 zabbix搭建并实现宿主机监控,设置超过阀值会报警,宿主机没有响应会报警;
6 划分故障等级,制订应急预案:
1) 一台虚拟机故障如何快速发现并处理;
2) 宿主机硬盘故障如何快速发现并处理;
3) 宿主机风扇、电源故障如何快速发现并处理;
4) 宿主机彻底故障,数据无法恢复如何快速发现并处理;
5) 网络出现故障如何快速发现并处理;
第七阶段 和业务融合
1 了解自己的业务并划出相关业务流程图;
2 了解自己业务的压力情况,并根据压力情况提炼出压力模型;
3 测试环境测试,取得相关数据进行稳定性及性能验证;
4 小范围部署,观察稳定性和性能数据;
5 扩展部署范围,和各个接口明确责任和流程,定期进行预警演练;
6 阶段性进行总结,并提交报告;