虚拟化技术介绍及虚拟应用环境实践

时间:2022-08-01 02:39:08

虚拟化技术介绍及虚拟应用环境实践

摘要:目前IT行业备受瞩目的热门技术之一就是虚拟化,利用服务器虚拟化技术能够在单台物件服务器上运行一个或多个客户操作系统。这项技术对于x86平台的服务器来说尤其适用,能够改善硬件资源利用率,降低硬件采购和管理成本,改善灾难恢复和业务持续性。本文对虚拟机技术进行了概述,面临众多的虚拟化厂商,重点阐述了VMware公司的虚拟化产品,并结合实例详细描述了一个完整的虚拟化环境应用。

关键词:虚拟化技术 服务器虚拟化 Vmware 硬件资源利用率

1 引言

上世纪60年代IBM公司首先在昂贵的大型机系统上实现了虚拟化应用,对硬件系统进行逻辑分区,形成若干独立虚拟机,提高硬件资源利用率。近年来随着x86 处理器性能的提升和应用普及,虚拟化这一技术被导入用户群更广泛的x86 服务器平台。伴随着基于x86体系结构的服务器虚拟化技术的日益发展,虚拟化技术的概念已经成为目前IT行业备受瞩目的焦点之一。服务器虚拟化技术能够很好地解决服务器和桌面应用部署日益增长所带来的 IT 基础架构费用和运作维护难题,它体现在能够提升硬件资源利用率,降低硬件采购和基础运维成本,简化应用部署,提高运维效率等方面上。服务器虚拟化技术将会对企业数据中心的部署和管理产生深远影响。

2 虚拟化技术概述

在计算领域,虚拟化是一个宽泛的术语,指的是对计算机资源的抽象。虚拟化对其用户,不管是应用程序还是终端用户,隐去了计算资源的物理特性,呈现为一个物理的资源表现为多个虚拟资源,或多个物理资源表现为一个单一的虚拟资源。也就是说虚拟化的对象是各种各样的计算资源,经过虚拟化后的逻辑资源对用户隐藏了具体的硬件实现细节,用户可以在虚拟化中实现真实计算环境中的部分或全部功能。

虚拟化技术常用的大致分类:

(1)基础设备虚拟化。包括网络虚拟化、存储虚拟化等作为支撑计算环境的基础设施。网络虚拟化是指将网络的硬件和软件资源进行整合,向用户提供虚拟网络连接的技术,例如现在成熟的VLAN技术和VPN技术等。存储虚拟化是指为物理存储设备提供一个逻辑视图,通过这个视图的统一逻辑接口来访问被整合的存储硬件资源的技术,例如广泛使用的RAID技术、SAN、NAS技术等。

(2)系统虚拟化技术。这里主要指服务器虚拟化,它是被广泛接受和认识的一种虚拟化技术,通过虚拟化可以实现操作系统和物理计算机的分离,使得在一台物理计算机上可以同时安装和运行一个或多个虚拟的客户机操作系统(Guest OS)实例。在这种虚拟化技术的背后,其核心是虚拟化平台( Hypervisor)的概念。虚拟化平台负责对虚拟机提供硬件资源抽象和虚拟机的管理,为客户机操作系统提供虚拟硬件运行环境。根据虚拟化平台的运行方式,又可分为寄宿型虚拟化和原生型虚拟化。寄宿型虚拟化的虚拟化平台表现形式为运行在宿主操作系统(Host OS)之上的应用程序,利用宿主操作系统的功能来实际硬件资源的抽象和虚拟机的管理,而原生型虚拟化的虚拟化平台表现形式则是直接运行在硬件平台之上,不需要宿主操作系统的支持。

(3)软件虚拟化技术。这类虚拟化技术主要包括应用虚拟化和高级语言虚拟化。应用虚拟化将应用程序和操作系统分离,独立为应用程序提供了一个虚拟的运行时支撑环境。高级语言虚拟化则解决了可执行程序在不同体系结构计算机间迁移的问题,典型的例子就是Java虚拟机的应用。

3 VMware虚拟化产品介绍

随着x86服务器虚拟化市场的日益发展,众多厂商加入该领域,包括VMware、Xen、Redhat、Microsoft等。作为x86 虚拟化领域具有主导地位的厂家,VMware产品可以帮助用户实现虚拟化基础设施、整合资源、提高资源利用率、在降低运行维护成本的同时,增强业务的灵活性、可用性和安全性。VMware的虚拟化产品可以运行在Windows、Linux和Mac OS平台上。

目前VMware主要有三条虚拟化产品线:数据中心产品主要面对企业服务器市场;桌面和应用产品面向企业桌面用户或个人用户以及虚拟化辅助管理产品。下面我们就对常用的VMare产品组件进行介绍。

(1)VMware ESX Server:是VMare公司最重要的企业级虚拟化平台产品,也是VMare infrastructure虚拟化套件最重要的组成部分。它是数据中心虚拟化的基础,能够整合数据中心的计算资源,网络资源,和存储资源,并将它们动态地分配给虚拟机。ESX Server直接运行在服务器硬件裸机上,不需要任何操作系统的支撑。比VMware Server的性能更好,系统资源开销更小。

(2)VMware ESXi server:是免费的服务器虚拟化平台,在保持ESC server功能的前提下,对原有的虚拟化平台进行了缩减,使得ESXi的安全性有所提高,成为固件虚拟化平台合适的选择。ESXi上所运行的虚拟机性能接近于物理机的性能。

(3)VMware Server:也是免费的服务器虚拟化平台(前身是GSX server )。与ESX server不同,VMware server是作为一个应用程序安装在宿主操作系统Windows或Linux上,而虚拟机则运行在VMware server上。由于没有直接安装在物理机上,因此VMware server的性能不如ESX server。

(3)VMware WorkStation相当于个人版的虚拟化平台,和VMware Server类似,也是要安装在一个宿主操作系统下,操作系统可以是Windows或Linux,区别在于没有web远程管理和客户端管理功能。

(4)VMware Player也是一款免费的运行在Windows和Linux上的虚拟化软件应用程序。它本身不能创建和管理虚拟机,但能够运行多种虚拟机,这些虚拟机可以来自:VMware workstation、VMware fusion、VMware server、VMware ESX server。

(5)Vmware vCenter server是一个可扩展的虚拟化平台管理工具集,使用户能够对数据中心的数量庞大的物理机和虚拟机进行集成管理。

(6)VMware vCenter Converter是一款物理机到虚拟机转换(P2V)软件。可以将安装有Windows的物理机转换为VMware格式的虚拟机。还可以在两个不同VMware平台之间进行虚拟机的转换。

4 虚拟化技术的应用实例

虚拟化技术除了具有在企业数据中心降低投资运营成本,提高设备利用率,减轻管理负担,快速部署应用等优点外,作为个人用户也能够在产品测试,学习培训方面发挥着较大作用。在不具备物理硬件设备的情况下,我们可以利用虚拟机技术进行软件功能测试和学习培训之用。

为了更直观地了解虚拟化技术,下面通过利用VMware server1.0虚拟化软件在笔记本电脑上创建两台solaris10操作系统虚拟机,并安装oracle10g数据库和Sun cluster3.2高可用性软件,完成虚拟化环境下的模拟测试,从一个侧面获得虚拟化技术给我们带来的体验。

4.1 虚拟化环境

(1)笔记本硬件配置:

1台IBM X61笔记本(Intel cpu 2.2GHz、内存3GB、硬盘空间250GB)

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

(2)VMware虚拟机配置:

使用VMware server 1.0.10版本软件创建2台虚拟机;每台虚拟机1块本地硬盘、1块bridged模式网卡、2块host only模式网卡,用于心跳线网卡;2块共享阵列硬盘。

(3)虚拟客户机软件配置:

Solaris 10 U3 for x86、Sun Cluster 3.2 for x86、Oracle 10g (10.2.0.1.0)for solaris x86

4.2 虚拟设备创建

按照VMware虚拟机创建向导来创建两台虚拟机。虚拟机类型选择Solaris10 64bit,每台虚拟机内存使用1GB、本地硬盘12GB。

(1)第一台虚拟机上创建2块共享硬盘:

VM-->Setting-->Hardware-->Add -->hard disk (scsi接口)

每块硬盘大小设置为8GB。为了便于以后管理方便,建议将共享盘创建在单独的目录中,和虚拟机目录分开。通过选择“advanced”界面将两个共享盘的缺省scsci接口号修改为2.0、2.1。

(2)第二台虚拟机上创建共享硬盘。

VM-->Setting-->Hardware-->Add-->harddisk-->use a existing virtual disk-->指定上述已创建的共享硬盘目录-->点击硬盘文件选择。

(3)两台虚拟机上各添加两块host only网卡:

VM-->Setting-->Hardware-->Add-->ethernet adapter (host only类型)

(4)修改两块共享盘的虚拟机配置。

修改2台虚拟机配置目录中后缀为.vmx的配置文件,增加共享硬盘属性:

scsi2.shareBus = "virtual"

disk.locking = "FALSE"

diskLib.dataCacheMaxSize = "0"

4.3 客户机操作系统安装

通过笔记本的光驱或硬盘中的ISO文件进行Solaris操作系统的安装。操作系统安装时,建议选择最完全的软件包安装模式。2台虚拟机的Solaris系统要分别安装,不要通过拷贝复制的方法产生另一台Solaris虚拟机,否则Sun Cluster在DID设备识别方面会存在问题。

4.4 安装Sun Cluster 软件和Oracle Agent包

在两台虚拟机node1和node2上安装Sun Cluster和agent软件。

root@sol10-1 # ./installer

大致的安装过程和应注意的安装选项:

Installation Type

Do you want to install the full set of Sun Java(TM) Enterprise System

Products and Services? (yes/no)[Yes] {"

选择部分安装方式,只安装Sun cluster软件和Oracle agent。

Choose Software Components - Main Menu

[ ] 5. Sun Cluster 3.2 11/09

[ ] 7. Sun Cluster Agents 3.2 11/09

Component Selection - Selected Product "Sun Cluster Agents 3.2 11/09"

*[X] 15. Sun Cluster HA for Oracle

Screen for selecting Type of Configuration

1. Configure Now - Selectively override defaults or express through

2. Configure Later - Manually configure following installation

Select Type of Configuration [1] {"

选择稍后配置选项。

最后按照屏幕提示一步步完成安装,并重启Solaris系统。

4.5 创建Sun Cluster群集

4.5.1 准备群集配置环境

在2台node上配置下列信息。

(1)编辑/etc/hosts文件增加对端节点IP和应用服务IP。

192.168.1.210 sol10-1loghost

192.168.1.220 sol10-2

192.168.1.230 ora_svr//oracel服务IP

(2)在每个node上编辑/.rhosts文件,设置对方为信任主机。

(3)配置每个node的单网卡IPMP组:

node1主机的/etc/hostname.e1000g0文件:

sol10-1netmask + broadcast + group ipmp1 up

node2主机的/etc/hostname.e1000g0文件:

sol10-2netmask + broadcast + group ipmp1 up

(4)确认两个node的/etc/name_to_major文件的did和md参数相同。

(5)增加SC环境变量:

PATH=$PATH:/usr/cluster/bin:/usr/cluster/lib/sc:/usr/sbin

MANPATH=$MANPATH:/usr/cluster/man:/usr/man

(6)在/etc/vfstab文件中配置好/globaldevices文件系统。

4.5.2 创建Cluster群集架构

(1)在node1上创建cluster群集。

root@sol1-1 # scinstall

大致的安装过程和应注意的安装选项:

-->Create a new cluster or add a cluster node

--->Create just the first node of a new cluster on this machine

-->Custom

What is the name of the cluster you want to establish?cluster_ora

添加另一个cluster成员node:

Node name (Control-D to finish):sol10-2

Do you need to use DES authentication (yes/no) [no]?

Should this cluster use at least two private networks (yes/no) [yes]?

Does this two-node cluster use switches (yes/no) [yes]?no

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

选择心跳线网卡: e1000g1、 e1000g2

Is it okay to accept the default network address (yes/no) [yes]?

Is it okay to accept the default netmask (yes/no) [yes]?

选择globaldevices文件系统做Global Devices File System

Do you want to turn off global fencing (yes/no) [no]?

Do you want to disable automatic quorum device selection (yes/no) [Yes]?

Do you want scinstall to reboot for you (yes/no) [yes]?

重启主机。

(2)将node2安装加入cluster群集。

[root@sol10-2/]# scinstall

大致的安装过程和应注意的安装选项:

-->Create a new cluster or add a cluster node

-->Add this machine as a node in an existing cluster

-->Custom

What is the name of the sponsoring node?sol10-1

What is the name of the cluster you want to join?cluster_ora

Do you want to use autodiscovery (yes/no) [yes]?

如果不能探测到第二组心跳网卡,则手工设置

Do you want to try again (yes/no) [yes]?no

Is this a two-node cluster (yes/no) [yes]?

Does this two-node cluster use switches (yes/no) [yes]?no

选择心跳线网卡: e1000g1、 e1000g2

选择globaldevices文件系统做Global Devices File System

Do you want scinstall to reboot for you (yes/no) [yes]?

重启主机。

4.5.3 创建Quorum 设备

只需在node1机器上完成下列操作。

(1)选定quorum设备

[root@sol10-1/]# scdidadm L

1sol10-1:/dev/rdsk/c0t0d0 /dev/did/rdsk/d1

2sol10-1:/dev/rdsk/c1t0d0 /dev/did/rdsk/d2

3sol10-1:/dev/rdsk/c2t0d0 /dev/did/rdsk/d3

3sol10-2:/dev/rdsk/c2t0d0 /dev/did/rdsk/d3

4sol10-1:/dev/rdsk/c2t1d0 /dev/did/rdsk/d4

4sol10-2:/dev/rdsk/c2t1d0 /dev/did/rdsk/d4

5sol10-2:/dev/rdsk/c0t0d0 /dev/did/rdsk/d5

6sol10-2:/dev/rdsk/c1t0d0 /dev/did/rdsk/d6

注:d3、d4为全局共享硬盘设备名

(2)为Cluster群集增加quorum设备

[root@sol10-1/]# clsetup

大致的配置过程和应注意的配置选项:

Do you want to add any quorum devices (yes/no) [yes]?

What is the type of device you want to use?

1) Directly attached shared disk

Which global device do you want to use (d)?d4

Is it okay to proceed with the update (yes/no) [yes]?

Do you want to add another quorum device (yes/no) [yes]?no

Is it okay to reset "installmode" (yes/no) [yes]?

4.5.4 创建Cluster群集资源组

此时资源组中只包括device group、服务IP和文件系统。

(1)在两个node1上建立metadb

#metadb-afc3 c1t0d0s7

(2)在node1上建立磁盘集ora-set,并将2台主机加入ora-set

[root@sol10-1/]# metaset -s ora-set -a -h sol10-1 sol10-2

(3)为ora-set加入存储设备d4

[root@sol10-1/] #metaset -s ora-set -a /dev/did/rdsk/d4

(4)设置mediator hosts

[root@sol10-1/]#metaset -s ora-set-a -msol10-1sol10-2

(5)测试切换磁盘设备组

[root@sol10-1/] #cldevicegroup switch -n sol10-2 ora-set

[root@sol10-1/]# cldevicegroup switch -n sol10-1 ora-set

(6)建立meta 设备d100

[root@sol10-1/]# metainit -s ora-set d100 1 1 /dev/did/dsk/d4s0

(7)创建d100设备文件系统

[root@sol10-1/]# newfs /dev/md/ora-set/rdsk/d100

(8)在2个node上配置文件系统挂接参数

# mkdir /global/oradata

修改/etc/vfstab文件加入条目。

/dev/md/ora-set/dsk/d100 /dev/md/ora-set/rdsk/d100 /global/oradata ufs 2 no logging

(9)挂接文件系统

[root@sol10-1/] #mount/global/oradata/

(10)注册存储资源组

[root@sol10-1/] #clrt register SUNW.HAStoragePlus

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

[root@sol10-1/] #clrt register SUNW.oracle_server

[root@sol10-1/] #clrt register SUNW.oracle_listener

(11)建立群集资源组

[root@sol10-1/] #clrg create ora-rg

(12)创建应用服务IP资源

[root@sol10-1/]# clrslh create -g ora-rg -h ora_srv ora10g-rs

(13)创建文件系统资源

[root@sol10-1/]# clrs create -g ora-rg -t SUNW.HAStoragePlus

-p FilesystemMountPoints=/global/oradata

-p AffinityOn=TRUEdb-hastp-rs

(14)激活资源组

[root@sol10-1/]# clrg online -emMora-rg

(15)资源组切换

# clrg switch-nsol10-2ora-rg

# clrg switch-nsol10-1ora-rg

4.6 安装和配置Oracle 数据库

在两个node上设置oracle运行环境。

(1)创建oracle组和用户

(2)配置solaris10的系统内核参数。

(3)设置oracle用户环境变量

(4)安装oracle软件。建议将oracle软件安装在全局共享文件系统上,这样的好处是不需要在两个节点上都安装oracle软件。

(5)创建数据库和监听服务,修改监听IP为服务IP地址。

(6)创建Sun Cluster使用的数据库监控连接用户,并赋予权限。

4.7 创建Cluster群集数据库资源和监听资源

只需在node1上完成操作。

(1)创建数据库服务资源

[root@sol10-1/]# clrs create -g ora-rg -t SUNW.oracle_server

> -p ORACLE_HOME=/global/oradata/products/10.2.0

> -p ORACLE_SID=ora10g

> -p Alert_log_file=/global/oradata/admin/ora10g/bdump/alert_ora10g.log

> -p Connect_string=scott/tiger

> -p Resource_dependencies=db-hastp-rs db-server-rs

(2)创建数据库监听资源

[root@sol10-1/]# clrs create -g ora-rg -t SUNW.oracle_listener

> -p ORACLE_HOME=/global/oradata/products/10.2.0

> -p LISTENER_NAME=LISTENER

>-p Resource_dependencies=db-hastp-rs db-lsnr-rs

(3)激活数据库和监听服务资源

[root@sol10-1/]# clrg online -emMora-rg

4.8 Cluster群集资源组切换测试

[root@sol10-1/]#clrg switch -n node2 ora-rg

[root@sol10-1/]#clrg switch -n node1 ora-rg

至此,在虚拟机环境下我们完整地模拟了两台物理机的高可用性应用配置的过程。接下来的事情,我们就可以进行各种各样的HA功能体验和培训学习了。

5 结语

近年来随着多核处理器、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念逐渐深入到人们日常的工作与生活中。本文对虚拟化技术进行了简单介绍,并用一个完整的虚拟化应用实例,从一个侧面体会了虚拟化技术的含义和应用前景。

参考文献

[1] 《虚拟化与云计算》,电子工业出版社,2009.10.

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:独立学院校园网络安全管理体系研究 下一篇:一种声光双控节能开关的研制