安装环境与网络规划
主机操作系统:windows 10
虚拟机 VMware12:两台 Oracle Linux R6 U5 x86_64
Oracle Database software: Oracle11gR2
Cluster software: Oracle grid infrastructure 11gR2
共享存储:ASM
- [root@rac1 ~]# lsb_release -a
- LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
- Distributor ID: OracleServer
- Description: Oracle Linux Server release 6.5
- Release: 6.5
- Codename: n/a
- [root@rac1 ~]# uname -r
- 3.8.13-16.2.1.el6uek.x86_64
细节说明:
1. 安装 Oracle Linux 时,注意分配两个网卡,一个网卡为 Host Only 方式,用于两台虚拟机节点的通讯,另一个网卡为 Nat 方式,用于连接外网,后面再手动分配静态 IP。每台主机的内存和 swap 规划为至少 2.5G。硬盘规划为:boot 500M,其他空间分配为 LVM 方式管理,LVM 划分 2.5G 为 swap,其他为 /。
两台 Oracle Linux 主机名为 rac1、rac2
注意这里安装的两个操作系统最好在不同的硬盘中,否则 I/O 会很吃力。
2. 由于采用的是共享存储 ASM,而且搭建集群需要共享空间作注册盘(OCR)和投票盘(votingdisk)。VMware 创建共享存储方式:
进入 VMware 安装目录,cmd 命令下:
- C:\Program Files (x86)\VMware\VMware Workstation>
- vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 F:\VMware\RAC\Sharedisk\ocr.vmdk
- vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 F:\VMware\RAC\Sharedisk\ocr2.vmdk
- vmware-vdiskmanager.exe -c -s 1000Mb -a lsilogic -t 2 F:\VMware\RAC\Sharedisk\votingdisk.vmdk
- vmware-vdiskmanager.exe -c -s 20000Mb -a lsilogic -t 2 F:\VMware\RAC\Sharedisk\data.vmdk
- vmware-vdiskmanager.exe -c -s 10000Mb -a lsilogic -t 2 F:\VMware\RAC\Sharedisk\backup.vmdk
这里创建了两个 1G 的 ocr 盘,一个 1G 的投票盘,一个 20G 的数据盘,一个 10G 的备份盘。
修改 RAC1 虚拟机目录下的 vmx 配置文件:
- scsi1.present = "TRUE"
- scsi1.virtualDev = "lsilogic"
- scsi1.sharedBus = "virtual"
- scsi1:1.present = "TRUE"
- scsi1:1.mode = "independent-persistent"
- scsi1:1.filename = "F:\VMware\RAC\Sharedisk\ocr.vmdk"
- scsi1:1.deviceType = "plainDisk"
- scsi1:2.present = "TRUE"
- scsi1:2.mode = "independent-persistent"
- scsi1:2.filename = "F:\VMware\RAC\Sharedisk\votingdisk.vmdk"
- scsi1:2.deviceType = "plainDisk"
- scsi1:3.present = "TRUE"
- scsi1:3.mode = "independent-persistent"
- scsi1:3.filename = "F:\VMware\RAC\Sharedisk\data.vmdk"
- scsi1:3.deviceType = "plainDisk"
- scsi1:4.present = "TRUE"
- scsi1:4.mode = "independent-persistent"
- scsi1:4.filename = "F:\VMware\RAC\Sharedisk\backup.vmdk"
- scsi1:4.deviceType = "plainDisk"
- scsi1:5.present = "TRUE"
- scsi1:5.mode = "independent-persistent"
- scsi1:5.filename = "F:\VMware\RAC\Sharedisk\ocr2.vmdk"
- scsi1:5.deviceType = "plainDisk"
- disk.locking = "false"
- diskLib.dataCacheMaxSize = "0"
- diskLib.dataCacheMaxReadAheadSize = "0"
- diskLib.DataCacheMinReadAheadSize = "0"
- diskLib.dataCachePageSize = "4096"
- diskLib.maxUnsyncedWrites = "0"
修改 RAC2 的 vmx 配置文件:
- scsi1.sharedBus = "virtual"
- disk.locking = "false"
- diskLib.dataCacheMaxSize = "0"
- diskLib.dataCacheMaxReadAheadSize = "0"
- diskLib.DataCacheMinReadAheadSize = "0"
- diskLib.dataCachePageSize = "4096"
- diskLib.maxUnsyncedWrites = "0"
- gui.lastPoweredViewMode = "fullscreen"
- checkpoint.vmState = ""
- usb:0.present = "TRUE"
- usb:0.deviceType = "hid"
- usb:0.port = "0"
- usb:0.parent = "-1"
这里就在 RAC2 的虚拟机设置中手动添加创建好的五个虚拟硬盘,要求是独立永久属性。
硬件配置要求:
- 每个服务器节点至少需要 2 块网卡,一个对外网络接口,一个私有网路接口(心跳)。
- 如果你通过 OUI 安装 Oracle 集群软件,需要保证每个节点用于外网或私网接口(网卡名)保证一致。比如,node1 使用 eth0 作为对外接口,node2 就不能使用 eth1 作为对外接口。
IP 配置要求:
这里不采用 DHCP 方式,指定静态的 scan ip(scan ip 可以实现集群的负载均衡,由集群软件按情况分配给某一节点)。
每个节点分配一个 ip、一个虚拟 ip、一个私有 ip。
其中 ip、vip 和 scan-ip 需要在同一个网段。
非 GNS 下手动配置 IP 实例:
Identity | Home Node | Host Node | Given Name | Type | Address |
---|---|---|---|---|---|
RAC1 Public | RAC1 | RAC1 | rac1 | Public | 192.168.248.101 |
RAC1 VIP | RAC1 | RAC1 | rac1-vip | Public | 192.168.248.201 |
RAC1 Private | RAC1 | RAC1 | rac1-priv | Private | 192.168.109.101 |
RAC2 | RAC2 | RAC2 | rac2 | Public | 192.168.248.102 |
RAC2 VIP | RAC2 | RAC2 | rac2-vip | Public | 192.168.248.202 |
RAC2 Private | RAC2 | RAC2 | rac2-priv | Private | 192.168.109.102 |
SCAN IP | none | Selected by Oracle Clusterware | scan-ip | virtual | 192.168.248.110 |
默认情况下,下面操作在每个节点下均要进行,密码均设置 oracle
- [root@rac1 ~]# setenforce 0
- setenforce: SELinux is disabled
- [root@rac1 ~]# vi /etc/sysconfig/selinux
- SELINUX=disabled
- [root@rac1 ~]# service iptables stop
- [root@rac1 ~]# chkconfig iptables off
- /usr/sbin/groupadd -g 1000 oinstall
- /usr/sbin/groupadd -g 1020 asmadmin
- /usr/sbin/groupadd -g 1021 asmdba
- /usr/sbin/groupadd -g 1022 asmoper
- /usr/sbin/groupadd -g 1031 dba
- /usr/sbin/groupadd -g 1032 oper
- useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
- useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
- mkdir -p /u01/app/11.2.0/grid
- mkdir -p /u01/app/grid
- mkdir /u01/app/oracle
- chown -R grid:oinstall /u01
- chown oracle:oinstall /u01/app/oracle
- chmod -R 775 /u01/
参照官方文档,采用 GI 与 DB 分开安装和权限的策略,对于多实例管理有利。
内存大小:至少 2.5GB
Swap 大小:
当内存为 2.5GB-16GB 时,Swap 需要大于等于系统内存。
当内存大于 16GB 时,Swap 等于 16GB 即可。
查看内存和 swap 大小:
- [root@rac1 ~]# grep MemTotal /proc/meminfo
- MemTotal: 2552560 kB
- [root@rac1 ~]# grep SwapTotal /proc/meminfo
- SwapTotal: 2621436 kB
如果 swap 太小,swap 调整方法:
通过此种方式进行 swap 的扩展,首先要计算出 block 的数目。具体为根据需要扩展的 swapfile 的大小,以 M 为单位。block=swap 分区大小 * 1024, 例如,需要扩展 64M 的 swapfile,则:block=64*1024=65536.
然后做如下步骤:
- #dd if=/dev/zero of=/swapfile bs=1024 count=65536
- #mkswap /swapfile
- #swapon /swapfile
- #vi /etc/fstab
- # cat /proc/swaps 或者# free –m //查看swap分区大小
- # swapoff /swapf //关闭扩展的swap分区
(1)内核参数设置:
[root@rac1 ~]# vi /etc/sysctl.conf
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1306910720
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
这里后面检测要改
kernel.shmmax = 68719476736
确认修改内核
[root@rac1 ~]# sysctl -p
也可以采用 Oracle Linux 光盘中的相关安装包来调整
[root@rac1 Packages]# pwd
/mnt/cdrom/Packages
[root@rac1 Packages]# ll | grep preinstall
-rw-r–r– 1 root root 15524 Dec 25 2012 oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64.rpm
(2)配置 oracle、grid 用户的 shell 限制
[root@rac1 ~]# vi /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
(3)配置 login
[root@rac1 ~]# vi /etc/pam.d/login
session required pam_limits.so
更多详情见请继续阅读下一页的精彩内容:
来源: http://www.linuxidc.com/Linux/2017-03/141543.htm