基于Workstation+StarWind构建Oracle RAC存储环境

一.概述

由于不断的学习,我发现了一种新的方式来实现Oracle RAC共享存储,写这篇文章的目的在于简化使用Vmware构建Oracle RAC的存储环境,分享于广大的采用虚拟机玩Oracle RAC的朋友。以下的两种方式共享存储方式几乎全部是虚拟机玩Oracle RAC的朋友采用的:1.使用Vmware server添加多块磁盘。2.使用openfiler。第1种方式配置vmware参数,还是有很多朋友无法实现共享存储。第2种采用openfiler方式,需要额外多开一个虚拟系统来提供存储,本来两个节点的RAC需求的内存就比较大,再开一个虚拟系统,估计大家都吃不消了。

我介绍一种新的方式来实现Oracle RAC的共享存储,就是采用StarWind产品。它是基于Windows平台的,在磁盘上可以划分一块物理磁盘,或者划分一块磁盘内的区域来提供共享存储。StarWind可以到官方网站下载免费的基本版本和官方提供的license来搭建我们的学习环境。高级版本是收费的,免费版本就够用了官方也提供license(一定要下载),我已在自己的测试环境通过。

本文从这款软件的安装、配置共享存储,到Oracle RAC节点的挂载、裸设备的绑定,演示了整个RAC共享存储的配置。

二.配置存储

1.先安装Microsoft iSCSI Software,这是StarWind要求的,可以到http://www.microsoft.com/download/en/details.aspx?DisplayLang=en&id=18986下载。

2.安装StarWind,安装过程不列,跟平常软件没什么区别。

3.打开StarWind management console,如图:

4.右键点击StartWind Servers,选择add host,如图:

5.弹出的对话框如下:

这里无需修改,点ok即可,3261是管理端口。

6.在创建完成后,右键单击servername,选择connect,如图:

7.输入root用户名,密码为starwind,默认的密码,连接成功后,来到管理这台server的页面,会提示输入license,安装事先下载好的license文件,即可。我本机已安装过,不再演示。如图:

8.右键单击Targets,选择add target,并弹出对话框,输入target名字,如图:

9.单击Next,选择第一项Hard Disk,点击Next

10. 选择第二项Basic Vritual,单击Next

11.选择第一项Image File device,单击Next

12.选择第二项Create new virtual disk,单击Next

13.填写image file文件路径和大小,下面是支持的压缩、加密等功能,这里不选。单击Next

14.这里是磁盘属性的配置,一定要选上第二项,允许cluster使用,也就是多路径访问,然后Next

15.选上第二个write-through ching,单击Next

16.展示创建target信息单和target名字,连续单击Next完成创建。

17.创建完成后,存储服务已经在运行,监听本机所有网卡ip的3260端口,如图:

到此共享存储的基本环境已经完成,需要在Oracle RAC的节点通过iscsi方式,进行挂载共享存储,前提虚拟机内的节点必须保证和主机互相通信。

三.挂载存储

OS:rhel5

1.安装iscsi的rpm包,可以在rhel5的镜像内找到。<每个节点>

[root@racdb1 Server]# rpm -vih iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm

warning: iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing…                ########################################### [100%]

   1:iscsi-initiator-utils  ########################################### [100%]       

[root@racdb1 Server]# cat /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2005-03.com.redhat:01.1e715d33ce10

2.探测主机server运行的共享存储标识target。<每个节点执行一次>

[root@racdb1 /]# iscsiadm -m discovery -t sendtargets -p 10.10.10.1:3260

10.10.10.1:3260,-1 iqn.2008-08.com.starwindsoftware:127.0.0.1-qidu

这里发现了我们事先创建好的存储,下面我们使用iscsi挂载磁盘。

3.通过iscsi挂载磁盘。<每个节点执行一次>

[root@racdb1 /]# iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:127.0.0.1-qidu -p 10.10.10.1:3260 –l

<节点1>

[root@racdb1 /]# fdisk -l

 

Disk /dev/sda: 32.2 GB, 32212254720 bytes

255 heads, 63 sectors/track, 3916 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1        1020     8193118+  83  Linux

/dev/sda2            1021        1275     2048287+  82  Linux swap / Solaris

/dev/sda3            1276        3916    21213832+  83  Linux

 

Disk /dev/sdb: 42.9 GB, 42949672960 bytes

64 heads, 32 sectors/track, 40960 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

 

Disk /dev/sdb doesn't contain a valid partition table

 

<节点2>

[root@racdb2 /]# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes

255 heads, 63 sectors/track, 3916 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1        1020     8193118+  83  Linux

/dev/sda2            1021        1275     2048287+  82  Linux swap / Solaris

/dev/sda3            1276        3916    21213832+  83  Linux

 

Disk /dev/sdb: 42.9 GB, 42949672960 bytes

64 heads, 32 sectors/track, 40960 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

 

Disk /dev/sdb doesn't contain a valid partition table

每个节点上面的/dev/sdb就是刚才通过iscsi挂载的磁盘。

4.在StarWind控制台,可以看到有两个客户端已经连接到此存储,如图:

5.在节点1,对/dev/sdb磁盘进行分区,过程不演示,分区后如图:

<节点1>

[root@racdb1 /]# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes

255 heads, 63 sectors/track, 3916 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1        1020     8193118+  83  Linux

/dev/sda2            1021        1275     2048287+  82  Linux swap / Solaris

/dev/sda3            1276        3916    21213832+  83  Linux

 

Disk /dev/sdb: 42.9 GB, 42949672960 bytes

64 heads, 32 sectors/track, 40960 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1        9538     9766896   83  Linux

/dev/sdb2            9539       23844    14649344   83  Linux

/dev/sdb3           23845       40960    17526784   83  Linux

 

<节点2>

[root@racdb2 /]# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes

255 heads, 63 sectors/track, 3916 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1        1020     8193118+  83  Linux

/dev/sda2            1021        1275     2048287+  82  Linux swap / Solaris

/dev/sda3            1276        3916    21213832+  83  Linux

 

Disk /dev/sdb: 42.9 GB, 42949672960 bytes

64 heads, 32 sectors/track, 40960 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1        9538     9766896   83  Linux

/dev/sdb2            9539       23844    14649344   83  Linux

/dev/sdb3           23845       40960    17526784   83  Linux

6.使用udev进行裸设备的绑定,不采用ASMlib。<每个节点执行一次>

编辑/etc/udev/rules.d/60-raw.rules文件,添加以下内容:

ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"

KERNEL=="raw[1-3]", OWNER="grid", GROUP="asmadmin", MODE="660"

<节点1>

[root@racdb1 /]# start_udev

Starting udev: [  OK  ]

查看裸设备信息:

 [root@racdb1 /]# ls -l /dev/raw*

crw——- 1 root root 162, 0 Dec 16 04:06 /dev/rawctl

/dev/raw:

total 0

crw-rw—- 1 grid asmadmin 162, 1 Dec 16 05:49 raw1

crw-rw—- 1 grid asmadmin 162, 2 Dec 16 05:49 raw2

crw-rw—- 1 grid asmadmin 162, 3 Dec 16 05:49 raw3

[root@racdb1 /]# raw -qa

/dev/raw/raw1:  bound to major 8, minor 17

/dev/raw/raw2:  bound to major 8, minor 18

/dev/raw/raw3:  bound to major 8, minor 19

 

<节点2>

[root@racdb2 /]# start_udev

Starting udev: [  OK  ]

[root@racdb2 /]# ls -l /dev/raw*

crw——- 1 root root 162, 0 Dec 16 04:07 /dev/rawctl

/dev/raw:

total 0

crw-rw—- 1 grid asmadmin 162, 1 Dec 16 04:08 raw1

crw-rw—- 1 grid asmadmin 162, 2 Dec 16 04:08 raw2

crw-rw—- 1 grid asmadmin 162, 3 Dec 16 04:08 raw3

[root@racdb2 /]# raw -qa

/dev/raw/raw1:  bound to major 8, minor 17

/dev/raw/raw2:  bound to major 8, minor 18

/dev/raw/raw3:  bound to major 8, minor 19

这里是我的Oracle RAC测试的两个节点,基本环节节已经配置好了(系统参数修改、rpm包、用户信息)。

到此Oracle RAC基本的共享存储环节已经配置完成,具体的安装过程就补演示了,这样的文章在互联网网上太多太多了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值