KVM 虚拟化下 Oracle 11G RAC 安装
随便在 Google 上搜索下,网上几乎都是 vmware,vbox,xen 的虚拟化下面配置
rac 集群的案例,但是很少有 kvm 的,而我最近一直在 琢磨 kvm,顺便也测试了
下在 kvm 虚拟化平台下安装 oracle 11g rac 的一些尝试,同时本站也是跑在
hostigation.com 上也使用 kvm 虚拟化技术。
硬件:dell 2950,16g,146g SAS
软件:rhel 6.4 x86_64
要求:eth0 接口上必须能访问到 dhcp 服务器
一、操作系统安装
Google 上随便都可以搜到很多 rhel 的安装教程,这里就省略了,唯一注意的是
安装最精简的系统,最好只安装 core group 和 virual 打头的 group 软件包,
如果需到时候再利用 yum 安装都行,分区/为 5G 大小,swap 同等内存大小就可
以了,剩余空间全部不分配。
1、我的分区
1
2
3
4
5
[root@vnode1 ~]# df -h
Filesystem
/dev/sda2
tmpfs
/dev/shm
/dev/sda1
二、配置操作系统
1、修改主机名
Size
Used Avail Use% Mounted on
9.9G
4.6G
4.9G
49% /
7.8G
8.0K
7.8G
1%
504M
39M
441M
8% /boot
1
sed -i 's/localhost.localdomain/vnode1.example.com/g'
/etc/sysconfig/network
2、配置网络桥接
1
2
virsh iface-bridge eth0 br0 --no-stp --delay 0
virsh iface-bridge eth1 br1 --no-stp --delay 0
3、修改桥接网络的 ip 配置
sed -i 's/no/yes/1' /etc/sysconfig/network-scripts/ifcfg-br{0,1}
sed -i 's/dhcp/none/1' /etc/sysconfig/network-scripts/ifcfg-br{0.1}
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
cat >>/etc/sysconfig/network-scripts/ifcfg-br0 < <"EOF"
IPADDR=192.168.1.130
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.130
EOF
cat >>/etc/sysconfig/network-scripts/ifcfg-br1 < <"EOF"
IPADDR=192.168.61.130
NETMASK=255.255.255.0
EOF
/etc/init.d/network restart
三、配置 yum 仓库
1、挂载光盘
01
02
03
04
05
06
07
08
09
10
11
mkdir /mnt/{cdrom,ks} -p #创建挂载点
mount
/dev/sr0 /mnt/cdrom #挂载光盘
2、配置 yum 仓库
1[rhel-server]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
EOF
3、测试 yum
1yum makecache #创建缓存
三、存储配置
1、将磁盘的剩余空间全部分配给 sda5
1fdisk /dev/sda #开始磁盘分区
在提示框输入 p 查看当前的分区情况
在提示框输入 m 查看帮助
在提示款输入 n 创建新的磁盘,然后我们再选 e 创建扩展磁盘
再次在提示框输入 n 创建逻辑分区,然后直接一路回车
再次输入 p 查看是否已经看到创建的扩展分区 sda4,和逻辑分区 sda5
修改分区类型,输入 t,然后再输入 5,再输入 8e,在输入 p 查看 sda5 的类型
是否变成了”Linux LVM”
最后输入 w 保存退出
1partx -a /dev/sda #探测新建的磁盘
2、分配逻辑卷
1
2
3
4
5
6
7
8
9
pvcreate /dev/sda5
vgcreate dsp /dev/sda5
lvcreate -L 20G -n guest0 dsp
lvcreate -L 20G -n guest1 dsp
lvcreate -L 1G -n asmdiska dsp
lvcreate -L 1G -n asmdiskb dsp
lvcreate -L 1G -n asmdiskc dsp
lvcreate -L 30G -n asmdiskd dsp #创建存储磁盘
lvcreate -L 30G -n asmdiske dsp #创建 flash 存储磁盘
#创建 ocr 磁盘卷 1
#创建 ocr 磁盘卷 2
#创建 ocr 磁盘卷 3
#创建集群一号节点的存储磁盘
#创建集群二号节点的存储磁盘
3、配置母机 iscsi 共享
因为 kvm 不像 vmware,vbox 可以将本地虚拟磁盘配置成共享的模式(或者我不
知道用),故我们只能使用 icsi 来共享,而且这样也可以模拟出生产环境的存
储结构
001
002
003
004
005
006
007
008
009
010
011
yum install scsi-t* -y #安装 iscsi 服务端软件
#配置共享存储
cat >>/etc/tgt/targets.conf <<"EOF"
lun 1
lun 2
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
lun 3
lun 4
lun 5
write-cache off
vendor_id Oracle Inc.
EOF
chkconfig tgtd on #设置存储服务器软件开机启动
/etc/init.d/tgtd start #打开 tgtd 服务
tgt-admin --show #查看刚刚创建的共享
Target 1: iqn.2013-09.com.example:server.ora-asmdisk
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
00010000
Type: controller
SCSI ID: IET
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
00010001
Type: disk
SCSI ID: IET
SCSI SN: beaf11
Size: 1074 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
LUN: 1
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
LUN: 2
LUN: 3
LUN: 4
Readonly: No
Backing store type: rdwr
Backing store path: /dev/dsp/asmdiska
Backing store flags:
00010002
Type: disk
SCSI ID: IET
SCSI SN: beaf12
Size: 1074 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/dsp/asmdiskb
Backing store flags:
00010003
Type: disk
SCSI ID: IET
SCSI SN: beaf13
Size: 1074 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/dsp/asmdiskc
Backing store flags:
00010004
Type: disk
SCSI ID: IET
SCSI SN: beaf14
Size: 32212 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/dsp/asmdiskd
Backing store flags:
LUN: 5
Type: disk
SCSI ID: IET
SCSI SN: beaf15
00010005
100
101
102
103
104
105
106
107
108
109
110
Size: 32212 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/dsp/asmdiske
Backing store flags:
Account information:
ACL information:
ALL
一、配置 dns 服务器
11gr2 里引入了 scan 作为数据库的连接的唯一名称,这意味着如果还是通过修
改 hosts 文件的 vip 映射来运行 rac 并不能得到很好的负载均很和容错的效果,
所以我们采取配置 dns 的方式,默认 oracle 提供了 gns 但是我们这里不是用它。
1、安装配置 bind 包和 bind 工具
1yum install bind bind-u* -y
2、配置 example.com 的 zone 和反向解析 zone
01
02
03
04
05
06
07
08
09
10
11
12
13
14
{ any; };/&n\ allow-query-cache\
no/1' /etc/named.conf
sed -i 's/localhost/any/g' /etc/named.conf
sed -i 's/allow-query
{ any; };/' /etc/named.conf
sed -i 's/recursion
cat >>/etc/named.rfc1912.zones <<"EOF"
zone "example.com" IN {
yes/recursion
type master;
file "example.com.zone";
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.zone";
};
EOF
3、配置正向解析
cat >>/var/named/example.com.zone <<"EOF"
$TTL 1D
@
IN SOA
ns.example.com. terrance.example.com. (
0
1
0
2
0
1D
1H
1W
3H )
IN
IN
ns
rnode1
rnode2
rnode1-vip
rnode2-vip
rnode-cluster-scan
IN A
IN A
IN A
IN A
; serial
; refresh
; retry
; expire
; minimum
NS
A
ns.example.com.
192.168.1.130
192.168.1.143
192.168.1.144
192.168.1.145
192.168.1.146
192.168.1.147
1H
A
IN
IN
1H
1H
A
A
192.168.1.148
192.168.1.149
EOF
0
3
0
4
0
5
0
6
0
7
0
8
0
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
4、配置反向解析
0
1
0
2
0
3
0
cat >>/var/named/1.168.192.zone <<"EOF"
$TTL 1D
@
ns.example.com.
IN SOA
terrance.example.com. (
0
1D
; serial
; refresh
1H
1W
3H )
IN
IN
; retry
; expire
; minimum
NS
PTR
ns.example.com.
ns.example.com.
PTR rnode1.example.com.
PTR rnode2.example.com.
PTR rnode1-vip.example.com.
PTR rnode2-vip.example.com.
PTR rnode-cluster-scan.example.com.
PTR rnode-cluster-scan.example.com.
PTR rnode-cluster-scan.example.com.
@
130
143 IN
144 IN
145 IN
146 IN
147 IN
148 IN
149 IN
EOF
4
0
5
0
6
0
7
0
8
0
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
5、修改配置文件权限
1
2
chown root:named /var/named/1.168.192.zone
chown root:named /var/named/example.com.zone
6、启动 dns 服务器,并设置开机启动
1
2
/etc/init.d/named start
chkconfig named on