虚拟化
宿主机通过虚拟化技术模拟多类硬件,为不同系统提供不同的服务,例如运行在Windows环境的DC,Linux环境的AMP。
KVM介绍
Kernel-based Virtual Machine基于内核虚拟机,是一种用于Linux内核中的虚拟化基础设施,基于硬件虚拟化扩展(Intel VT-X和AMD-V)和QEMU的修改版,从RHEL 5.4开始整合KVM管理器技术。
应用场景
安全隔离:服务器系统被入侵不影响其它系统正常运行,例如PCI需要核心支付业务分层,vlan隔离。
节省成本:小站点、小工具放在物理机上未能充分压榨硬件资源。
快速部署:新项目上线短时间内需要一套独立环境,定制模板批量使用。
维护方便:日常备份还原,镜像冗余多实例,尽量少在物理机重新搭一套环境配置各种程序。监控’CPU‘、’内存‘、’硬盘‘不够用时可按需添加。
测试环境:开发测试环境使用。
宿主机环境
CPU:Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
内存:32G
硬盘:4x300G SAS盘15000转(硬Raid 10)
网卡:4块1000M(bond0、bond1)
操作系统:CentOS release 6.4 (Final)
生产实战
第1步,CPU支持虚拟化的指令集
[root@sz01kvm01 ~]# egrep '(vmx|svm)' /proc/cpuinfo
第2步,安装KVM虚拟化套件
[root@sz01kvm01 ~]# yum -y install kvm kmod-kvm qemu kvm-qemu-img virt-top virt-viewer virt-manager libvirt libvirt-python python-virtinst
[root@sz01kvm01 ~]# chkconfig libvirtd on
[root@sz01kvm01 ~]# service libvirtd start
第3步,模块是否加载
[root@sz01kvm01 ~]# lsmod |grep kvm
第4步,网卡br0桥接,bond1外网
第5步,虚拟服务器安装
[root@sz01kvm01 ~]#
virt-install --name sz01test01 --ram 4096 -vcpus=4 --check-cpu --disk path=/data/vm/sz01test01_hd01.raw,size=50 --network bridge=br0 --os-type=windows --os-variant=win2k --cdrom=/mnt/software/SW_DVD5_Windows_Svr_DC_EE_SE_Web_2008R2_64-bit_ChnSimp_X15-59777.ISO --vnclisten=0.0.0.0 --vncport=6001 --vnc --hvm --autostart --accelerate
命令参数说明:
virt-install 是libvirt中的一个命令行管理工具,用于建立虚拟机。
--name 虚拟机实例名
--vcpu CPU数量
--ram 内存大小,以M为单位
--check-cpu 检查CPU数量,超过返回警告
--os-type 虚配置优化
--os-variant 虚拟机配置优化
--disk path 数据磁盘文件存储路径
--format 指定磁盘镜像文件格式,默认是raw格式,见下节qemu命令参数说明
--size 磁盘大小,以G为单位
--network bridge=br0 指定为桥接,默认是NAT
--cdrom 指定操作系统镜像路径
--pxe 指定网络无盘安装系统模式
--vnclisten 监听IP地址
--vncport 监听端口
--vnc vnc服务
--hvm 全虚拟化
--autostart 开机自动启动虚机实例
--accelerate 内核加速
--cache 内存缓存,'none'不提供缓存,'writethrough'提供读缓存,'writeback'提供回写缓存
qcow2镜像的虚拟机建立,先用qemu-img生成qcow2镜像文件,再用virt-install安装,qemu命令本身也可以安装虚机,我个人习惯喜欢用virt-install。
[root@sz01kvm01 ~]# qemu-img create -f qcow2 sz01test01_hd02.qcow2 40G
[root@sz01kvm01 ~]# virt-install ...
第6步,VNC操作
vncviewer sztest01:6001 登入安装操作系统
到这里已经可以搭建kvm虚拟化生产环境,本次安装过程省略图解、详细输出。