Chinaunix首页 | 论坛 | 博客
  • 博客访问: 319094
  • 博文数量: 95
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 840
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-01 13:05
文章分类

全部博文(95)

文章存档

2009年(8)

2008年(87)

我的朋友

分类:

2008-06-25 21:11:09

安装 Oracle 集群文件系统 (OCFS) v1(针对 RHEL 或 SLES)


佚名 -Oracle-

2007-3-7

1. 作为 Oracle 用户登录 Linux GUI 桌面。

2. 获取最新的 OCFS RPMS:

** FOR REDHAT **

a. 单击任务栏上的“Mozilla”互联网浏览器图标。
b. 输入 URL “”。
c. 在“Projects”下单击“OCFS”。
d. 在“Project:OCFS”下单击“Files”。
e. 依次单击“Red Hat”、“RHEL 3”和“i386”。
f. 单击“ocfs-tools-1.0.10-1.i386.rpm”。
选择“Save it to disk”
依次单击“OK”和“Save”。

g. 单击“ocfs-support-1.0.10-1.i386.rpm”。
选择“Save it to disk”
依次单击“OK”和“Save”。

h. 单击“1.0.13-1”
i. 单击“ocfs-2.4.21-EL-1.0.13-1.i686.rpm”

请注意,我们选取的是 nonSMP,也称做 UP(单处理器核心)
请根据您所运行的内核 (uname -a) 来选择 smp 或 hugemem。
OCFS 有时会进行更新;请选取最新的
版本。上述示例中的版本为“1.0.13-1”。

选择“Save it to disk”。
依次单击“OK”和“Save”。

注意:工具/支持版本可能与 ocfs 版本不匹配。如果您拥有最新的版本,
那么一切事项都会顺利进行。(请参阅站点上的自述文件。)

j. 退出 Mozilla。


** 针对 SUSE **

a. 单击任务栏上的“Mozilla”互联网浏览器图标。
b. 输入 URL “”。
c. 在“Projects”下单击“OCFS”。
d. 在“Project:OCFS”下单击“Files”。
e. 依次单击“United Linux”、“United Linux 1.0”和“i386”。
f. 浏览并查找适用于内核 (uname -a) 的最新 OCFS rpm
SP3 plain 为 2.4.21-138 适用于它的最高 ocfs 是 1.0.11-1。
推荐版本是 1.0.13-1,这是内核 SP3-251 所必需的。

对于一般的硬件,导航过程如下:

依次单击“1.0.13-1”、“SP3-251”和
“ocfs-2.4.21-251-deflt-1.0.13-1.i586.rpm”

选择“Save it to disk”
依次单击“OK”和“Save”。

VMWARE 用户:VMware 仅支持纯 sp3 内核 (-138),如果您
将内核升级至 -198 或 -241、-251,您的系统
在 VM 内将无法稳定运行。如果选择
使用 OCFS v1.0.11 和普通 SP3 内核 -138,
则 CRS 10.1.0.3 将无法运行。

一般而言,您只需将内核
升级至 -251,将 OCFS 升级至 1.0.13 即可。

g. 对于 SUSE,选取 v1.1.2 的 OCFS 工具(不是 v1.0)
在“Projects”之下单击“OCFS Tools”(在 LEFT 边条上)。
h. 在“Project:OCFS Tools”之下单击“Files”。
i. 依次单击“United Linux”、“United Linux 1.0”和“i386”。
j. 单击“1.1.2-1”
k. 单击“ocfs-support-1.1.2-1.i386.rpm”。
选择“Save it to disk”
依次单击“OK”和“Save”。

l. 单击“ocfs-tools-1.1.2-1.i386.rpm”。
选择“Save it to disk”
依次单击“OK”和“Save”。


3. 打开一个终端窗口:

a. REDHAT:单击主菜单 --> 系统工具 --> 终端。
SUSE:单击主菜单 --> 系统 -> 终端 -> Konsole。
在任务栏上,从左数第四个图标
b. 输入以下内容,将用户更改为根用户:

$ su -
密码:oracle
#

注意:提示符从 "$" 更改至 "#" 表示该 shell 是以
根权限运行的。现在,在这些脚本中,每个命令
都将以 "$" 或 "#" 字符开头,以表示
该命令是应当在“oracle”窗口中运行,还是在
“root”窗口中运行。请注意,二者之间确实有所不同。


4. 以 root 用户身份运行以下命令:

** 针对 REDHAT **

# cd ~oracle (下载 rpms 的位置)
# rpm -Uvh ocfs-2.4.21-EL-1.0.13-1.i686.rpm \
ocfs-support-1.0.10-1.i386.rpm \
ocfs-tools-1.0.10-1.i386.rpm


** 针对 SUSE **

# cd ~oracle (下载 rpms 的位置)
# rpm -Uvh ocfs-2.4.21-138-deflt-1.0.13-1.i586.rpm \
ocfs-support-1.1.2-1.i386.rpm \
ocfs-tools-1.1.2-1.i386.rpm


或者简单地使用 Linux 提供的方法(通过向导选择 rpm):

$ cd ~oracle
# rpm -Uvh ocfs-*.rpm

5. 生成 OCFS 配置(仅一次)

a. 作为根用户运行 "ocfstool"

# export DISPLAY=localhost:0
# ocfstool &

注意:如果您选择 "Gtk-WARNING **:cannot open display:"

"xhost +" 会作为桌面所有者(作为 oracle)发布

# xhost +

注意:忽略以下警告是安全的

Gtk-WARNING **:libgdk_pixbuf.so.2:cannot open shared object file:
No such file or directory

如果您继续,变通方法是在下行前加上注释符:
# include "/usr/share/themes/Bluecurve/gtk/gtkrc"

in file /root/.gtkrc

b. 选择 "Tasks" --> "Generate Config...".(Control-G)
i. 界面:从下拉菜单中选择 "eth1"。
ii.节点名称:输入 "raclocal1.us.oracle.com"。
iii.单击 "OK"。
c. 选择 "File" --> "Exit"。

6. 作为根用户运行 "load_ocfs"。

对于 Red Hat 而言,忽略有关内核受污的消息:

"Warning:loading /lib/modules/2.4.21-EL-ABI/ocfs/ocfs.o will taint
the kernel:forced load"

7. 对 ocfs 设备进行分区。

a. 根据是将 OCR(Oracle 集群
注册)放置在原始设备还是 OCFS 上,您将遵循略有不同的
路径 -- 只选择一个选项。

性能或特性方面没有差别;将所有内容放置在
OCFS 上要更为简单,但是如果您希望试用/了解原始设备,
则需要选择相应的方法。请牢记您的选择,稍后您会用到它。

作为根用户运行:

# fdisk /dev/sda

选项 1:OCR+Voting disk ON OCFS Filesystem:

** 请确保您使用的是受支持的 OCFS,版本为 1.0.11 以及以上 **

i. 命令:输入 "n" 并按下 ENTER 键。
ii.命令操作:输入 "p" 并按下 ENTER 键。
iii.分区编号:输入 "1" 并按下 ENTER 键。
iv.第一个 cylinder:按 ENTER 键。
v. 最后一个 cylinder:按 ENTER 键。(整个磁盘)


选项 2:OCR+Voting disk ON RAW Devices:

分区 1:(ocr_file)
i. 命令:输入 "n" 并按下 ENTER 键。
ii.命令操作:输入 "p" 并按下 ENTER 键。
iii.分区编号:输入 "1" 并按下 ENTER 键。
iv.第一个 cylinder:按 ENTER 键。
v. 最后一个 cylinder:+100M。

分区 2:(voting_disk)
i. 命令:输入 "n" 并按下 ENTER 键。
ii.命令操作:输入 "p" 并按下 ENTER 键。
iii.分区编号:输入 "2" 并按下 ENTER 键。
iv.第一个 cylinder:按 ENTER 键。
v. 最后一个 cylinder:+100M。

分区 3:(ocfs 文件系统)
i. 命令:输入 "n" 并按下 ENTER 键。
ii.命令操作:输入 "p" 并按下 ENTER 键。
iii.分区编号:输入 "3" 并按下 ENTER 键。
iv.第一个 cylinder:按 ENTER 键。
v. 最后一个 cylinder:按 ENTER 键。(驱动器剩余部分)

b. 查看分区表,以确定这就是您想要的,输入 "p"
输出如下所示(针对选项 2):

Device Boot Start End Blocks Id System
/dev/sda1 1 13 104391 83 Linux
/dev/sdd2 14 26 104422+ 83 Linux
/dev/sdd3 27 1044 8177085 83 Linux

c. 确定更改:输入 "w" 并按下 ENTER 键。

8. 作为根用户运行 "ocfstool"。

a. 选择 "Tasks" --> "Format..."。

i. 设备:从下拉菜单中选择 "/dev/sdd1" (所有内容置于 OCFS 上)或 "/dev/sdd3"
(如果 OCR+Voting 位于原始设备上)。
ii.卷标:输入 "ocfs"。
iii.挂载点:输入 "/ocfs"。
iv.用户:从下拉菜单中选取 "oracle"。
v. 组:从下拉菜单中选择 "dba"。
vi.单击 "OK"。
vii.对话框:"Are you sure you want to format /dev/sdd1?" 或 "sdd3?"
1. 单击 "Yes"。

b. 选择 "File" --> "Exit".

9. 作为根用户运行 "nedit /etc/fstab &" 或 vi /etc/fstab。
避免使用 xedit(它会忘记在行结尾处放置换行符)

a. 将以下其中一行(不带引号)添加至 fstab 的末尾:

所有内容置于 OCFS 之上:
"/dev/sdd1 /ocfs ocfs _netdev 0 0"

OCR+Voting 位于原始设备上:
"/dev/sdd3 /ocfs ocfs _netdev 0 0"

b. 单击窗口顶部的 "File->Save"。
c. 单击窗口顶部的 "File->Exit"。

10. 作为根用户创建 OCFS 挂载点:

# mkdir /ocfs

11. 作为根用户挂载 OCFS 卷:

# mount /ocfs

自动挂载 ocfs 卷:

下一次重启后卷将自动安装在 RedHat 上(由于 _netdev )。
在 SUSE 上,选项可以使用 orarun 并指定启动
OCFS。或者手动将其安装在 /etc/init.d/ocfs 中,$LOAD_OCFS 之后:

mount -a -t ocfs

以级别 09 启动 OCFS 意味着网络配置完成。
从 /etc/init.d/boot 进行调用以使用 /etc/init.d/boot.local
并不凑效,因为该阶段网络还未启用。

在 9i 中建议使用 orarun,它与 10g 并不完全兼容。

12. (仅 REDHAT)告知 updatedb/slocate 不要修改 ocfs 文件系统

在 /etc/updatedb.conf 中编辑两行(只需在末尾添加 "ocfs")

PRUNEFS="devpts NFS nfs afs sfs proc smbfs autofs auto iso9660 ocfs"
PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /net /sfs /ocfs"

因为 updatedb 调自 /etc/cron.daily,不具备 "-c"
标签,所以 updatedb.conf 无法看到,编辑
/etc/cron.daily/slocate.cron 并将 ocfs 添加至排除列表:

/usr/bin/updatedb -f "nfs,smbfs,ncpfs,proc,devpts,ocfs"
-e "/tmp,/var/tmp,/usr/tmp,/afs,/net,/ocfs"



OCFS 滚动升级:

因为版本 1.0.10 滚动升级是可行的(请查阅 ocfs README 以获取详细信息)。
要以滚动升级方式升级 OCFS,请按照以下步骤进行:

1. 关闭节点 A 上的 db
2. 卸载 ocfs 卷
3. 卸载 ocfs 模块
4. 升级 ocfs rpm
5. 重新加载 ocfs 模块
6. 安装 ocfs 卷
7. 启动节点 A 上的 DB
8. 对节点 A+1 重复步骤

VMWARE 说明:
以下内容对于 OCFS 而言一般是正确的,但是对于 VMWare 环境
而言却并非如此。在对虚拟机进行复制或更改其
属性时,vmware uuid(唯一的 id,与
OCFS 的 guid 毫无关系)可能会更改,并进而导致 VM 的 NIC 卡的 MAC 地址
出现变化。OCFS 将出现加载失败,因为存储在
/etc/ocfs.conf 中的 MAC 地址与 NIC 的新 MAC 地址
不匹配。要配置并运行 OCFS,请按照以下步骤进行:

a. 重新生成 OCFS 的 guid(全球唯一 id):

# ocfs_uid_gen -r

"ocfs_uid_gen:The new GUID is xxxxxx-random-appended-to-MAC-inHEX"

在 MAC 地址匹配的情况下重新运行不会产生任何有害结果
你会获得:

"ocfs_uid_gen:The GUID is already correct.No action taken."

要自动修复启动时出现的这个信息,只需将命令置于 /etc/init.d/ocfs 中
,或使用 LinuxDemoFiles zip 中预编辑好的 ocfs 文件即可。

b. 挂载 ocfs,要使用 "reclaimid" 选项(仅第一次安装需要):

所有内容都在 OCFS 上:
# mount -t ocfs -o reclaimid /dev/sdd1 /ocfs

OCR+Voting 位于原始设备上:
# mount -t ocfs -o reclaimid /dev/sdd3 /ocfs

如果您忘记了这个 reclaimid 选项,安装将失败或导致内核
严重错误(基于 1.0.9 或更旧版本的 OCFS)。

要自动修复启动时的这个问题,只需将 reclaimid 选项添加至 /etc/fstab 中即可。
(请注意:仅在该 VMware 环境中使用这个自动修复方法;
请勿将其应用于真正集群系统。在那些环境中,当更换 NIC 卡时,
请手动设置 reclaim id。)

-- 完成

这些脚本只供开发和评估使用。Oracle 将不会支持产品部署。
阅读(2115) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~