Install 11GR2 RAC on linux(redhat)_viadeazhu

  • 格式:pdf
  • 大小:2.14 MB
  • 文档页数:48

Install 11GR2 RAC on Linux(redhat) - - Viadeazhu( www.viadea.net ) 零.前言 想玩RAC,但是又不想用虚拟机,因为无法测出很多东西。 于是在SA同事Bob的大力帮助下,利用三台普通PC机(每个只有一个网卡),一台交换机,搭建出11G RAC环境以作测试。 这里在前期准备的挑战主要有两个: 1. RAC要求是每个节点至少要有两个网卡,分别作为private IP和public IP(包括VIP和SCAN)的属主。于是如何至少再虚拟出来一块网卡? 我们采用了在两台机器上增加VLAN,在交换机上使用TRUNK口,在每台机器上虚拟出来一个(或者多个)网卡。 2. 共享磁盘如何实现? 我们没有使用ISCSI这种常用的方法,而是采用了redhat自带的GNBD让第三台机器共享出来磁盘,在两个节点上看到的是若干块裸设备。

一.硬件准备 1.IP规划 这里我们有三台机器(racnode1,racnode2和mysql4),其中mysql4作为共享磁盘的机器。 然后我们预先规划一下两个节点的private IP,public IP和VIP如下:(注意,这里只是规划,还没有实际绑定上这些IP)。

Hostname Private IP Public IP VIP Memory 用途 racnode1 192.168.123.1 192.168.124.1 192.168.124.3 2G 节点1

racnode2 192.168.123.3 192.168.124.2 192.168.124.4 2G 节点2

mysql4 192.168.123.4 1G Storage

此时,其实racnode1和racnode2上唯一的网卡eth0已经被我们使用了(绑定了一个跟RAC配置无关的一个IP)。 所以我们接下来要做的事情是: 将private IP也绑定到eth0上,显示为eth0:1,设这个网卡在VLAN1里。 将public IP绑定到一个虚拟出来的网卡eth0.2上,设这个虚拟出来的网卡在VLAN2里。

先在交换机上设置好TRUNK口,使得每个口都能通过VLAN1的VLAN2的数据。 这时在racnode1和racnode2上使用如下命令增加VLAN:

On racnode1: /sbin/vconfig add eth0 1 /sbin/vconfig add eth0 2 /sbin/ifconfig eth0.2 192.168.124.1

On racnode2: /sbin/vconfig add eth0 1 /sbin/vconfig add eth0 2 /sbin/ifconfig eth0.2 192.168.124.2 通过这样配置,我们利用VLAN虚拟出来了第二块网卡(eth0.2),来作为public IP和VIP以及将来的SCAN的属主。 这里要注意eth0.x和eth0:x的区别,前者是虚拟出来的新的网卡(属于VLAN x里),后者是eth0的绑定的第x个ip。 另外我们默认eth0属于VLAN1里的。 综上, 如上设置之后,ifconfig会看到: eth0绑定了一个于RAC无关的IP(我自己使用的无关IP,默认属于VLAN1), eth0:1绑定了private IP(属于VLAN1), eth0.1没有绑定任何IP(属于VLAN1。这里加上它只是为了防止别人以后再添加它,), eth0.2绑定了public IP(属于VLAN2) 至此,VIP不是由我们手工绑定的,它是在安装时由Clusterware绑定的,所以现在从ifconfig不可见。

例如: On racnode1: Ifconfig –a: [root@racnode1 ~]# ifconfig –a (网卡eth0上绑定的是无关IP,Ignore) eth0 Link encap:Ethernet HWaddr xxx inet addr:xxx Bcast:xxx Mask:xxx inet6 addr: xxx UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:20633676 errors:0 dropped:0 overruns:0 frame:0 TX packets:20849567 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2610487430 (2.4 GiB) TX bytes:1891140485 (1.7 GiB) Interrupt:169 (eth0.1其实看做是我们虚拟出来的网卡,属于VLAN1上,不绑定任何IP,占个位置而已。) eth0.1 Link encap:Ethernet HWaddr xxx BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) (eth0.2也是虚拟出来的网卡,属于VLAN2,绑定public IP) eth0.2 Link encap:Ethernet HWaddr xxx inet addr:192.168.124.2 Bcast:192.168.124.255 Mask:255.255.255.0 inet6 addr: xxx UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6567410 errors:0 dropped:0 overruns:0 frame:0 TX packets:6908803 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1408607065 (1.3 GiB) TX bytes:3451834178 (3.2 GiB) (eth0:1为网卡eth0上绑定的 第二个IP,为private IP,因此属于VLAN1) eth0:1 Link encap:Ethernet HWaddr xxx inet addr:192.168.123.1 Bcast:192.168.123.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:169

lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1461139 errors:0 dropped:0 overruns:0 frame:0 TX packets:1461139 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:650383198 (620.2 MiB) TX bytes:650383198 (620.2 MiB)

sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

[root@racnode2]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.123.1 mysql1 racnode1-priv (节点一private IP) 192.168.123.3 mysql3 racnode2-priv (节点二private IP) 192.168.123.4 mysql4 gnbdserver (共享存储的那台Server) 192.168.124.1 racnode1 (节点一public IP) 192.168.124.3 racnode1-vip (节点一VIP) 192.168.124.2 racnode2 (节点二public IP) 192.168.124.4 racnode2-vip (节点二VIP)

2.SCAN设置 接着,我们规划一下SCAN(SINGLE CLIENT ACCESS NAME),这是11GR2的新特性,是为了在我们增加或减少节点之后,不用去客户端更改tnsname。这个SCAN要么是用你自己配置的DNS解析得到,或者是用GNS(Grid Naming Service)利用公网的DHCP来分配得到IP。这里我采用简单地搭建了一个DNS Server在本地节点上,用来解析这个SCAN。 SCAN规划: myrac1.myrac.com  192.168.124.101 port:1521

DNS具体配置(需要在所有节点上都配置本地DNS Server):