虚拟化

宿主机通过虚拟化技术模拟多类硬件,为不同系统提供不同的服务,例如运行在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虚拟化生产环境,本次安装过程省略图解、详细输出。