2.9 虚拟机搭建RAC 2.9.1 虚拟机Xen简介

相信大部分人与笔者一样,在最开始学习安装RAC的时候都是在虚拟机上完成的,原因是受到资源的限制,虚拟机更容易上手。虚拟机除了可以虚拟出多台服务器外,还有一些其他的特点能帮助快速学习RAC。例如,创建系统快照(或者直接打包备份),可以在安装Oracle Clusterware之前创建一个快照,这样在安装出现问题的时候可以快速恢复到安装前的快照状态并重新安装,而不需要执行卸载或者重装系统等操作,可以节省很多时间。另外,还可以在不同的服务器之间复制虚拟机文件以达到快速恢复RAC的目的。虚拟机可以虚拟多种不同的设备,这对于学习也是非常有帮助的。 
目前x86平台主流的虚拟机包括:VMware公司产品系列(VMware被EMC收购),微软公司的Virtual PC和Virtual Server,Oracle公司的VirtualBox(本来是Sun公司的开源虚拟机)、Oracle VM以及开源虚拟机Xen。VMware公司的虚拟化产品应该是用得最多的虚拟机,主要包括VMware Workstation、VMware Server、VMware ESX等。微软公司的虚拟机用于虚拟微软的操作系统有较好的性能。从笔者的使用情况来看,VMware的产品和VirtualBox虽然都能很好地支持其他平台的虚拟化,但是在相同的环境下,VMware和VirtualBox虚拟机的性能要比Xen虚拟机差很多,下面简单介绍使用Xen虚拟机搭建RAC环境。

 

Xen是一种开源虚拟机产品,由于它是开源的,并且有较好的性能,因此被多个商业产品集成,如Red Hat Enterprise Server操作系统、Oracle VM都是集成Xen来实现自己的虚拟化产品。在相同的环境下,Xen能够提供比VMware和VirtualBox产品更好的性能。在Red Hat Enterprise Linux Gnome图形化界面下,按照如下菜单打开虚拟机管理器:Applications→System Tools→Virtual Machine Manager。 
图2-41是在Red Hat Enterprise Linux Server 5上,利用集成的Xen搭建的Oracle 11gR2 RAC的Xen管理器界面。


 
图2-41   Red Hat Enterprise Linux Server 5 Xen 虚拟机管理器 
如图2-41所示,Domain-0是一个内核XEN化后的Red Hat操作系统;openfiler是虚拟的存储服务器,rhel1和rhel2是虚拟的两个节点服务器,openfiler、rhel1和rhel2共同构成了一个RAC环境。 
VMware的传统产品是安装在操作系统上的VMware虚拟软件,通过虚拟软件来进行虚拟化,随着Xen虚拟技术的不断成熟,已经有越来越多的商业产品在自己的虚拟化产品中集成Xen或者在此基础上进行二次开发,所以使用Xen虚拟机也变得非常容易。Red Hat公司的操作系统从Red Hat Enterprise Linux Server 5开始集成Xen虚拟机,集成Xen的Red Hat操作系统不需要安装任何额外的软件,内核本身就是被虚拟化的,所以直接支持创建虚拟机。Domain分配给虚拟机的物理内存以独占的方式分配,这样就有更好的内存读写性能。总而言之,Xen虚拟化的虚拟机比VMware的传统产品有更好的性能,值得大家使用。前面提到Oracle 虚拟化产品Oracle VM也是在Xen基础上开发出来的产品,使用方法与其他集成的Xen类似。从RedHat Enterprise Server 6.0开始,RedHat抛弃了Xen虚拟机,使用KVM虚拟机,但是不管是操作界面,还是使用方法都与RedHat 5的Xen相差不大,在RedHat Enterprise Linux Server 5.4中已经集成了KVM。下面讨论在RedHat Enterprise Linux Server  5.4中创建Xen虚拟机的方法

RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库。无论与普通的集群相比,还是与普通的oracle数据库相比,RAC都有一些独特之处。 RAC由至少两个节点组成,节点之间通过公共网络和私有网络连接,其中私有网络的功能是实现节点之间的通信,而公共网络的功能是提供用户的访问。在每个节点上分别运行一个Oracle数据库实例和一个监听器,分别监听一个IP地址上的用户请求,这个地址称为VIP(Virtual IP)。用户可以向任何一个VIP所在的数据库服务器发出请求,通过任何一个数据库实例访问数据库。Clusterware负责监视每个节点的状态,如果发现某个节点出现故障,便把这个节点上的数据库实例和它所对应的VIP以及其他资源切换到另外一个节点上,这样可以保证用户仍然可通过这个VIP访问数据库。 在普通的Oracle数据库中,一个数据库实例只能访问一个数据库,而一个数据库只能被一个数据库实例打开。在RAC环境中,多个数据库实例同时访问同一个数据库,每个数据库实例分别在不同的节点上运行,而数据库存放在共享的存储设备上。 通过RAC,不仅可以实现数据库的并发访问,而且可以实现用户访问的负载均衡。用户可以通过任何一个数据库实例访问数据库,实例之间通过内部通信来保证事务的一致性。例如,当用户在一个实例修改数据时,需要对数据加锁。当另一个用户在其他实例中修改同样的数据时,便需要等待锁的释放。当前一个用户提交事务时,后一个用户立即可以得到修改之后的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值