9月29日,由中科院高级工程师唐波在“DBA+福州群”进行了一次关于用PXE方法从裸机批量推Oracle 11gR2 RAC环境的线上主题分享。小编特别整理出其中精华内容,供大家学习交流。
嘉宾简介
唐波,福建省第一批Oracle ERP实施顾问,中国科学院最佳技术顾问。Oracle 10g/11g OCM、RHCE,ACOUG&SHOUG核心成员。
2004年4月到2006年12月在北京担任中科院ARP项目组数据仓库架构师,参与完成该项目中的数据仓库设计、数据仓库建模、维度和立方开发、ETL stream过程,建立完善的数据仓库前台展示系统,利用Oracle AS应用服务器结合Discoverer进行前台展示。
现任职于中科院高级工程师,是资深EBS套件DBA。目前负责一套30万亿次运行RedHat的科学计算超级集群的运行维护。
本期摘要
用 PXE 推送端主机,把原先处于裸机状态的三台一套 PXE 被推送端 主机批量推成 Oracle 11gR2 RAC 环境的方法。在每套推出的 Oracle 11gR2 RAC 环境中, 都包含已自动安装并配置好的三台主机:一台共享磁盘主机和两台节点主机。每套推出的 Oracle 11gR2 RAC 环境中的两台节点主机都已自动挂接上该套环境内部的共享磁盘主机。 两台节点主机各配备一个分布式虚拟磁带库,并且做好所有操作系统层面的配置:包括 vip、scan-vip、ntp,各种 rpm 包和操作系统参数等。
演讲实录
本次演讲主要分为四个部分:1、PXE 概览;2、PXE 推送端主机的搭建;3、PXE 被推送端主机:Oracle 11gR2 RAC 环境共享磁盘主机;4、PXE 被推送端主机:Oracle 11gR2 RAC 环境节点主机。
1、PXE 概览
1.1PXE 概览
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使裸机通过网络启动,并被安装上操作系统。协议分为推送端和被推送端两端。
PXE 推送端主机是一台协同运行着 dhcpd、tftpd、nfs、dns、vsftpd 和 httpd 的标准Linux 服务器。
PXE 被推送端程序从网卡的 ROM 中激活。当计算机引导时,BIOS 把 PXE 被推送端程序调入内存执行,并显示出命令菜单。经用户选择后,PXE 被推送端将放置在 PXE 推送端主机的操作系统通过网络下载到本地运行,继而实现 kernel 启动。启动后 PXE 被推送端实际上是主动从 PXE 推送端主机下载安装程序和安装选项文件,完成后续安装步骤。
1.2IP 地址规划
为了能够把下文叙述清楚,我们设定在192.168.0.0/24网段工作。操作系统分别使用6系RHEL和5系OEL。如果使用其他6系Enterprise Linux和5系Enterprise Linux(如:CentOS,RHEL或OEL,包括它们的32位或64位发行版)步骤大同小异,本文同样适用。
推送时以上 IP 规划通过 PXE 推送端主机上的 dhcpd 配置文件里的 MAC 固定配置来实 现。以上 VIP 规划通过 PXE 推送端主机上的 Kickstart 配置文件中“%post 节”编程来实现。 而以上三个 SCAN-VIP 规划则通过 PXE 推送端主机的 dns 服务器配置文件配合 PXE 推送端 主机上的 Kickstart 配置文件中“%post 节”编程来实现。
2、PXE 推送端主机的搭建
2.1PXE 推送端主机的搭建
如上所述 PXE 推送端主机是一台协同运行着 dhcpd、tftpd、nfs、dns、vsftpd 和 httpd 的标准 Linux 服务器 。由于本文立足于 Oracle 技术分享,所以并不打算详细介绍这些服务 器的具体配置。 为了方便读者搭建 PXE 推送端主机,作者编写了一个一步到位的搭建程序 “bcp-install”。
“bcp-install”的功能只有一个:帮助你在 3 分钟之内配置好:一台协同运行着 dhcpd、tftpd、nfs、dns、vsftpd 和 httpd 的标准 Linux 服务器。 此程序实际上是一个 shell 编程的自解压安装包,因此不论操作系统是 32 位和 64 位;也不论是在 6 系 Enterprise Linux 还是在 5 系 Enterprise Linux 上都能运行。
运行该搭建程序前,仅仅要求读者自行安装好一台 Enterprise Linux 主机。 这台主机只 需要配备一块网卡,其 IP 和主机名应根据 1.2 IP 地址规划里说明的设置好。安装这台主机 过程中除了保证“/usr”空间不小于 20G、“/var”空间不小于 15G(如果不分区安装,只要保证 “/”不小于 45G)和挑包时装上 ftp 服务器以外没有特殊要求。为了使脚本“bcp-install”能顺利 运行成功,需要把安装这台主机操作系统时所用到的整张光盘包含的所有内容,保持完整目 录结构直接拷贝至/var/ftp/pub/下。之后运行“bcp-install”:
确认把安装这台主机操作系统时所用到的整张光盘包含的所有内容,保持完整目录结构 直接拷贝至“/var/ftp/pub/”下,选 y 继续。
至此 PXE 推送端主机的搭建便完成了。如果需要了解“bcp-install”具体做了哪些配置, 请打开此机上的 dhcpd、tftpd、nfs、dns、vsftpd 和 httpd 的相应配置文件,辅以 Linux 相关的知识阅读即可。
2.2下载将要用于推送的安装软件
推送所需的操作系统 iso 镜像和 Oracle 安装软件是不包含在“bcp-install”中的,需要读者 自行下载并放置在如下目录(“/usr/sbin/botang-config-push.d/”目录已由“bcp-install”创建):
2.3从 PXE 被推送端主机收集 MAC 地址
推送时,1.2 IP地址规划里的IP规划是通过PXE推送端主机上的dhcpd配置文件里的MAC固定配置来实现。因此需要编写“/etc/dhcpd.conf”或“/etc/dhcp/dhcpd.conf”配置文件以固定MAC和IP对应关系。如果读者使用并运行过“bcp-install”,PXE推送端主机里已安装好一个文本处理工具:“botang-create-dhcpconf”。读者只需要编写“/usr/sbin/workstation.list2”和“/usr/sbin/workstation.list”两个文件。这两个配置文件前者是PXE被推送端主机两块网卡的MAC地址列表,后者是 PXE 被推送端主机第一块网卡的MAC地址列表。有了这两个文件后,运行“botang-create-dhcpconf”程序,“/etc/dhcpd.conf”和“/etc/dhcp/dhcpd.conf”配置文件就创建好了。
举例如下:
3、PXE 被推送端主机:Oracle 11gR2 RAC 环境共享磁盘主机
现在开始推送 Oracle 11gR2 RAC 环境共享磁盘主机。
在 PXE 推送端主机运行“bcp”:
PXE 被推送端主机(裸机,硬盘容量不低于60G),从网卡启动自动被推送。推送过程 会在“running post-install script”屏幕菜单处停留较久时间,只需等待,不需干预。推送后,PXE被推送端主机会自动重启,重启后进入第一个选项,就成为 Oracle 11gR2 RAC 环境共 享磁盘主机。
“bcp”程序的主要功能只有一个:在PXE推送端主机生成安装选项文件:“/var/ftp/pub/workstation.cfg”。读者若需要了解细节请辅以Linux相关的知识阅读。
4、PXE 被推送端主机:Oracle 11gR2 RAC 环境节点主机
现在开始推送 Oracle 11gR2 RAC 环境节点主机。
在 PXE 推送端主机运行 bcp:
PXE 被推送端主机(裸机至少两台,每台硬盘容量不低于 60G),从网卡启动自动被推 送。推送过程会在“running post-install script”屏幕菜单处停留较久时间,只需等待,不需干 预。推送后,PXE 被推送端主机会自动重启,重启后进入第一个选项,就成为 Oracle 11gR2 RAC 环境节点主机。
“bcp”程序的主要功能只有一个:在PXE推送端主机生成安装选项文件:“/var/ftp/pub/workstation.cfg”。读者若需要了解细节请辅以Linux相关的知识阅读。
4.1共享存储
在每套推出的 Oracle 11gR2 RAC 环境中,都包含已自动安装并配置好的三台主机:一 台共享磁盘主机和两台节点主机。每套推出的 Oracle 11gR2 RAC 环境中的两台节点主机都 已自动挂接上该套环境内部的共享磁盘主机。该共享磁盘已经从“/dev/sdb5”到“/dev/sdb15” 分好 11 个等大的分区。读者接下来就可以使用“oracleasm”命令(已自动安装)在 Oracle 11gR2 RAC 环境中的两台节点主机上设定 asm 磁盘。
建议“/dev/sdb5”到“/dev/sdb12”用来创建 normal 冗余度的 asm 磁盘组“+DATA”;“/dev/sdb13”到“/dev/sdb15”用来创建 external 冗余度的 asm 磁盘组“+FRA”。
4.2分布式虚拟磁带库
在每套推出的 Oracle 11gR2 RAC 环境中的两台节点主机上,各配备一个分布式虚拟磁带库。
osb-10.3.0.3.0_linux32 在/stage 目录下,读者需要自行安装。安装 osb 后,利用/stage 目录下的 osb.sh 脚本,在 Oracle 11gR2 RAC 环境中的两台节点主机上一步到位配置好磁带库:
以station33、station34和station83这一套环境为例:两台节点主机station33和station34上的虚拟带库分别设置了“media family”:“station33”和“station34”,还设置了一个 基于RAC服务的公共“media family”:“sexample”。装好 Oracle 11gR2 RAC 环境后,请在station33或 station34主机上,做rman设置,使我们既可以使用磁盘也可以使用分布式虚拟带库做后续备份恢复实验。
4.3时间同步
每套推出的 Oracle 11gR2 RAC 环境中的两台节点主机都已自动时间同步到该套环境内 部的共享磁盘主机上的 ntpd 时间服务器。
4.4grid 用户和Oracle用户
在每套推出的 Oracle 11gR2 RAC 环境中的两台节点主机上,用户已经被创建好了:“grid”用于安装网格基础架构,“oracle”用于安装数据库。
“grid”用户的环境变量自动配置好了:
“Oracle”用户的环境变量也自动配置好了:
这里有个基本安装常识:如果在两个用户、两套“ORACLE_HOME”的环境下安装,安装过程中为避免listener注册出现故障,应该先注释掉“ORACLE_BASE”、“ORACLE_HOME” 和“TNS_ADMIN”等参数。安装后再释放注释。