centos 7部署oracle 12c rac 上菜了

oracle 12c 发布用很长一段时间了,虽然在近期部署了几套单实例oracle 12c,但一直都没有机会在生产环境实施12c rac,当然,既不能把现有的11g rac干掉,替换成12c rac,又没有新的项目找上来,但总不能等需要干活的时候再学习测试,未雨绸缪,正好从青龙那里化缘来一台配置不错的技嘉迷你pc,正好用它来做测试,安装上proxmox,虚拟出一堆系统,然后就有条件测试部署oracle 12c rac 。



Oracle实现负载均衡,完全不依赖于其它第三方工具,自己全部搞定,真是牛啊!部署oracle负载均衡高可用,实际上就是部署oracle RAC。在开始部署之前,得先做好规划。规划涉及到的主要有以下几个方面:

1、共享存储:是oracle RAC最关键的设施了,许多重要的数据文件、归档、仲裁等文件都存放于此,因此需要考虑可用性、容量、性能、成本等因素。在以前的多个项目中,我选用的存储多为外接阵列,双控制器、10000转2.5寸sas或者15000转3.5寸sas盘,插槽全部插满,不考虑短期扩容。

2、服务器:计算资源依托于服务器,也需要综合考虑可用性、性能及成本因素。在过去实施的一些项目中,一般采用1u机架式服务器,内存64G、多核心多线程cpu、双ssd盘(做raid容错)、四个网络接口卡。

3、网络规划:至少分两个网段,交换机独立(至少两个交换机),且为全千兆速率交换机,网线也要用机制六类线。说起这个网线,踩过一次坑,记忆深刻--一个网络color ticket的项目,服务器塞满了两个机柜,各类设施在当时都算是比较高端的。特别交代采购,一定要买机制网线。一帮人没日没夜的折腾,终于调试完毕,上线运行正常。可是没多久,oracle RAC集群就出现一会好一会坏的情形,登录查日志,查应用,都找不出问题,最后只好亲自去机房。前前后后瞧来瞧去,看各指示灯的显示情况;这一看还真发现问题:心跳交换机的端口有一个指示灯一会绿、一会黄的,肯定是速率不匹配的问题。再撸线,跟其它机制线不同啊!询问得知,采购的时候,供货商存活比计划采购数少了一条,于是就让机房给手工做了一条顶上去。换上新的机制六类网线,问题得以解决。


曾经写了一篇“Oracle 11g rac 生产环境部署详录”文章,发布在51cto博客,地址为http://blog.51cto.com/sery/1546346,欢迎参考。本篇文章,由于没有真实环境可以提供(不能拿已有的生产环境来搞,我怕老板来砍我),因此只能在虚拟环境下进行,不过这并不影响大家学习和借鉴,毕竟基本思路和方法是相同的,也利于做实验和测试。


准备基础环境


我此次进京,化缘来一个迷你主机,配置为cpu 8线程、1TB硬盘、12G内存,拿来做虚拟化非常合适,省电省地又安静。看看,是不是很小巧?

用此迷你主机虚拟化,创建2个虚拟机,安装oracle,另外创建一个虚拟机安装openfiler,做为oracle的共享存储。


◎主机虚拟化处理

强烈推荐使用proxmox,当然我自己也用。当前的版本是proxmox5.2,支持ceph超融合,巨好用,iso一键安装。官方网站(www.proxmox.com)下载镜像包,用ultraIso写入u盘,使其可以开机引导。如果u盘无法引导加载的情况,可再做一次ultraISO写入操作,写入格式选“raw”,如下图所示:

Proxmox安装过程很简单,也很容易完成,这里不再多说。Proxmox底层是基于debian的,在运行过程中,系统会执行apt-get update去做包更新,为避免出现“TASK ERROR: command 'apt-get update' failed: exit code 100”这样的错误,需要以ssh登录系统(debian),修改文件/etc/apt/sources.list.d/pve-enterprise.list ,把里边的唯一一行内容注释掉。当然,你也可以无视。


○多网卡处理

也许你的实验环境跟我一样,只有一个物理网卡,但要实现oracle rac至少得两个网卡,怎办?增加一块就好,具体方法如下:

1、proxmox管理界面选择“创建”,再选“Linux Bridge”,填写ip地址和掩码(网关等其它项不用填写)

2、使网络设置生效。Ssh登录debain,重启系统。再登录系统,用指令“ip add”,就可以看到刚创建的虚拟网络接口。如下图所示:

同样,在proxmox的web管理界面,也能看到这个效果。


○准备操作系统镜像文件

据我掌握,有两种方法可以上传操作系统ios镜像,一种是proxmox web管理界面,另一种是登录debian系统,进入镜像文件设定的目录,用wget一类的工具直接获取。

1、web界面上传ios文件(需要在本地电脑上下载好文件):

在几次实践中,总觉得这个方法麻烦,而且速度慢,现在一般不采用了。

2、登录系统直接下载,只下载一次,如果是机房服务器的话,比下载到本地再传上去,节省大量的时间。

root@pve99:~# cd /var/lib/vz/template/iso

root@pve99:/var/lib/vz/template/iso# wget http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso

root@pve99:/var/lib/vz/template/iso# wget http://mirrors.cn99.com/centos/6.10/isos/x86_64/CentOS-6.10-x86_64-bin-DVD1.iso

下载完以后,到web管理界面检查一下,是否出现在项目中。


◎创建虚拟机

由于安装oracle rac需要的主机资源配置完全一样,因此可以先创建好一个虚拟机,并安装好系统(不要安装oracle哟),再以克隆方式生成第二个虚拟机,改一下网络设置即可投入使用。


○创建第一个虚拟机

Proxmox web管理界面点击“创建虚拟机”,给虚拟机设置一个容易辨识的名字,比如db107,然后进行下一步。

“操作系统”栏目下,选“使用cd/dvd光盘镜像文件(ISO)”,下来列表框选定预先上传的操作系统iso。如下图所示:

一下步分配磁盘(给32G)、cpu(4core)、内存(8G),创建完以后,还不能满足需求。需要再增加硬盘,用来做oracle的安装目录及创建交换分区;增加网络接口,用以oracle节点间做心跳检测。

1、给虚拟机增加硬盘:

管理界面选中刚创建的虚拟机,在选级联菜单“硬件”,点击按钮“添加”;

设置大小为50G,计划16G用于swap,其余为安装软件目录使用。



2、添加网络接口:

跟添加硬盘的步骤基本相同,只是到了“添加”这个下拉列表这里,选“网络设备”,具体选择如下图所示:


◎安装虚拟机操作系统

在创建好虚拟机之后,web管理界面启动虚拟机,然后再点击页面里的“>_控制台”按钮,即可进入操作系统安装界面,如图所示:

余下的步骤,跟常规的系统安装毫无差别,不再赘述。


◎安装共享存储openfiler

Openfiler跟proxmox一样,也是以iso形式提供的,同样,openfiler也需要至少两个磁盘,一个安装系统,一个做数据共享。规划好容量分配以后,就可以开始安装,安装过程很简单,不再啰嗦。


下图为我安装好的openfiler磁盘使用情况,其中容量大的那个磁盘用于iscsi共享。

接下来,开始配置存储。鼠标点“Service”项,把iscsi服务打开。

在空闲的那个大容量磁盘创建分区(Linux Physical Volume),接着创建卷组vg-data(命名自己定)及逻辑卷;创建逻辑卷时,Filesystem / Volume type(文件系统/卷类型)要从下拉列表框选定“block(ISCSI,FS,etc)”。完成这个操作以后,鼠标点右侧“iSCSI Targets”菜单,添加一个新的issci目标(Add new iSCSI Target),如果没有启动iscsi服务,则添加按钮(Add)是灰色的,无法进行下一步操作。

完成逻辑单元(LUN)映射,操作如下图:

因为是内部网络,因此可以不对访问做限制。到此,存储端配置完毕。


◎服务器挂接iscsi磁盘(需要在两个主机都操作)

只需简单几个步骤,即可在主机上挂接好iscsi共享磁盘,并且使之随系统开机启动。

○启动iscsi服务。Centos默认可能没有安装熟悉而好用的ntsysv,yum安装一个吧。执行ntsysv吧iscsi项选上,下次开机,iscsi服务就自动起来了。

○扫描iscsi目标,并记录下输出信息,指令如下:

[root@db115 ~]# iscsiadm -m discovery -t sendtargets -p 172.16.35.107

172.16.35.107:3260,1 iqn.2006-01.com.openfiler:tsn.3ceca0a95110

需要的就是数字“1”后边加粗的部分信息。

○挂接目标磁盘,指令如下:

# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.3ceca0a95110 –l

Logging in to [iface: default,target: iqn.2006-01.com.openfiler:tsn.3ceca0a95110,portal: 172.16.35.107,3260] (multiple)

Login to [iface: default,3260] successful.

○磁盘挂接验证,两个主机都执行一次,指令如下:

[root@db115 ~]# fdisk –l

...……………………………省略…………………………………

Disk /dev/sdc: 51.2 GB,51170508800 bytes,99942400 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes



Disk /dev/sdd: 122.9 GB,122876329984 bytes,23×××832 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes



Disk /dev/sde: 10.2 GB,10234101760 bytes,19988480 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

以此法共享出三个卷,并挂接在每一个节点上。


部署oracle 12c rac

分三个阶段:安装前的准备、安装软件、创建数据库。


◎安装前的准备

主要步骤有:准备交换分区及数据分区、设置相关主机名及 ip 映射、修改系统相关配置及依赖包、准备桌面环境。

◆准备交换分区,需要在每一个节点执行。

fdisk /dev/sdb

mkswap /dev/sdb1

swapon /dev/sdb1

fdisk操作过程中,分区代码选“82”,大小为18G。执行完上述操作后,用命令free –m检查是否生效。为了让交换分区随系统开机加载,需要修改文件/etc/fstab,加入的内容等描述完加数据分区以后,一并贴出。


更多内容,请参看专栏文章“负载均衡高手练成记”,猛戳此处即可直达

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


#使用军哥的lnmp配置虚拟主机,需要注意的是要配置hosts文件(这一点官方没有讲到)具体方法:1、修改hosts文件sudo vim /etc/hosts2、在hosts文件中新增一行(这里类似于windows上配置hosts文件)127.0.0.1 www.baidu.com3、保存并重启网络
一、配置编译环境 yum update && yum upgrade yum groupinstall "Development Tools" yum install gcc gcc-c++ pcre* openssl* gd-devel* zlib-devel
一、下载repo文件 二、备份并替换系统的repo文件 三、执行yum源更新操作
LAMP -- Linux Apache MySQL PHP 在CentOS安装的顺序,我一般是Apache -> MySQL -> PHP 第一步、安装并配置Apache 1、使用yum安装 [plain] view plaincopy
一、下载nginx安装包,官网下载中心http://nginx.org/download [root@localhost software]# wget http://nginx.org/download/nginx-1.10.1.tar.gz 二、解压nginx安装包 [root@localhos
1.下载composer curl -sS https://getcomposer.org/installer | php ps:如果出现php无法运行的情况,请先把PHP加入环境变量,具体操作参考《centOS安装PHP》 2.移动或复制composer到环境下可执行 cp composer.ph
一、卸载旧版本的vim 二、安装终端字符处理库ncurses 三、下载Vim8 四、编译安装 五、添加到系统环境变量 六、安装成功
引言 我们在日常的开发过程中,很多时候需要连接服务器查看日志或者在服务器上调试代码。但是,使用 ssh 命令登录服务器每次都需要输出密码,就比较繁琐。因此我们可以使用 sshpass 通过参数指定密码进行登录。解决了这个问题之后,我发现登录服务器之后,还需要手动 cd 切换到项目目录或者日志目录。为
iptables basics Introduction iptables 是一个配置 Linux 防火墙的工具,是 netfilter 项目的一部分。 在 Linux Kernel 3.13 及以上版本中, nftables 将作为后继者取代 iptables 以成为更强大易用的防火墙工具 Bas
一、下载tengine 二、安装tenginx(nginx)的模块依赖库 三、解压并指定安装路径 四、编译安装 五、启动(tengine)nginx 六、访问(tengine)nginx
这篇文章介绍了如何快速部署一套Kubernetes集群,下面就快速开始吧! 准备工作 机器部署规划 主机 | IP | 部署组件 | | master主节点 | 192.168.199.206 | etcd、kube apiserver、kube controller manager、kube sc
一、pip下载 二、解压安装 三、安装完成
1、WebBench安装: yum install ctags(先安装依赖库) mkdir /usr/local/man (创建一个目录不然会报错) wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz tar zxv
1:查看环境: [root@10-4-14-168 html]# cat /etc/redhat-release CentOS release 6.5 (Final) 2:关掉防火墙 [root@10-4-14-168 html]# chkconfig iptables off 3:配置CentOS
安装 1.检查当前是否有安装php rpm -qa|grep php 如果有安装PHP,那么请先删除这些安装包: yum remove php* 2.安装php源 Centos 5 安装php源: rpm -ivh http://mirro
一、安装 二、配置 三、修改配置文件 四、program 配置 五、启动
Sed 日常使用介绍 简介 是 环境下常用的流处理工具, 可以处理字符流, 文件或者二进制文件流。 各个 发行版都会配备 及其衍生的命令工具, 因此, 掌握该工具的基本用法, 足以满足我们日常的许多文本处理的任务。 以下采用示例的方式对 进行基本用法介绍. 如果有兴趣了解更高级的使用技巧, 本文采用
linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d