Oracle 集群文件系统 (OCFS)

Oracle 集群文件系统 (OCFS)

OCFS 1 版是原始设备的一个优秀替代品。 它不仅更易于管理和维护,而且克服了 255 个原始设备的限制。 但是,它并不是一个通用集群文件系统。 它只能用于存储以下类型的文件:

  • Oracle 数据文件
  • 联机重做日志
  • 归档重做日志
  • 控制文件
  • Spfile
  • CRS 共享文件(Oracle Cluster Registry CRS voting disk)。

 

有关 OCFS 的更多背景知识,请阅读 OTN 技术文章“Linux 集群文件系统简介

获取 OCFS

转到 http://oss.oracle.com/projects/ocfs 并下载适于您的 Linux 版本的 OCFS RPM 您需要三个 RPM ocfs-supportocfs-tools ocfs-kernel-specific 模块。 要确定您所需要的内核专用模块,可使用 uname -r

# uname -r

2.4.21-15.0.2.ELsmp

对于本示例,我下载了:

ocfs-support-1.0.10-1.i386.rpm
ocfs-tools-1.0.10-1.i386.rpm
ocfs-2.4.21-EL-smp-1.0.12-1.i686.rpm

安装 OCFS

# rpm -Uvh ocfs-support-1.0.10-1.i386.rpm

ocfs-tools-1.0.10-1.i386.rpm

ocfs-2.4.21-EL-smp-1.0.12-1.i686.rpm

Preparing... ########################################### [100%]

1:ocfs-support ########################################### [ 33%]

2:ocfs-tools ########################################### [67%]

3:ocfs-2.4.21-EL-smp ########################################### [100%]

Linking OCFS module into the module path [ OK ]

配置 OCFS

root 用户身份运行 ocfstool

# ocfstool

选择 Tasks → Generate Config选择与 RAC 专用网络相对应的接口单击 OK 生成 /etc/ocfs.conf 文件,然后退出 ocfstool对集群中的每个节点重复这些操作。

 

在每个节点上装载 OCFS

# /sbin/load_ocfs

/sbin/insmod ocfs node_name=ds1.orademo.org ip_address=192.168.100.51

cs=1795 guid=2FB60EDD8B872FC4216C00010324C023 comm_voting=1 ip_port=7000

Using /lib/modules/2.4.21-EL-smp-ABI/ocfs/ocfs.o

Warning:kernel-module version mismatch

/lib/modules/2.4.21-EL-smp-ABI/ocfs/ocfs.o was compiled for kernel version 2.4.21-4.ELsmp

while this kernel is version 2.4.21-15.0.2.ELsmp

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

See http://www.tux.org/lkml/#export-tainted for information about tainted modules

Module ocfs loaded, with warnings

不必担心关于不同内核版本和损坏模块的警告。 这仅仅是模块实用工具让我们了解该 ocfs 模块是为 Linux 内核较早版本编译的。 只要我们的内核版本与该 ocfs 模块相同或者比它更新,ocfs 就会正常工作。

OCFS 文件系统创建一个挂载点:

mkdir /u02

创建 OCFS 文件系统:

mkfs.ocfs -b 128 -L /u02 -m /u02 -p 0775

-u root -g root /dev/sdb1 -F

神奇的挂载

mkfs.ocfs 只完成 OCFS 文件系统初始化工作的一部分。其余的初始化工作在第一次挂载文件系统时进行。 因此,对于新创建的文件系统,您必须在创建它的同一主机上挂载它。

mount -t ocfs -L /u02 /u02

请注意,mount 命令使用了在创建文件系统期间所使用的文件系统标签 (-L /u02) 这是一种既引用文件系统又不必记住设备名的便利方法。

要验证已挂载 OCFS 文件系统,可执行 mount 命令或运行 df

mount -t ocfs

/dev/sdb1 on /u02 type ocfs (rw)

 

df /u02

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sdb1 35557856 36064 35521792 1% /u02

在其他节点上挂载 OCFS 文件系统之前,最好在创建该文件系统的节点上进行卸下并再次挂载该文件系统的循环挂载操作:

umount /u02

mount -t ocfs -L /u02 /u02

现在就可以在其他集群节点上挂载 OCFS 文件系统了。

要在系统启动时自动挂载 OCFS 文件系统,可以在 /etc/fstab 中添加类似以下的一行:

LABEL=/u02 /u02 ocfs _netdev 0 0

我再次选择了使用设备标签 (LABEL=/u02) 而非设备名 (/dev/sdb1) 这在设备名在每个节点上均不同时尤其有用。 在我的示例中,OCFS 设备在节点 ds1 名为 /dev/sdb1,而在节点 ds2 上名为 /dev/sdf1 通过使用设备标签而非设备名,我可以在每个节点上使用相同的 /etc/fstab 项。

为共享文件创建目录:

CRS 文件

mkdir /u02/oracrs

chown oracle:oinstall /u02/oracrs

chmod 775 /u02/oracrs

 

数据库文件

mkdir /u02/oradata

chown oracle:oinstall /u02/oradata

chmod 775 /u02/oradata

对每个将要用于 ocfs 的磁盘分区重复这一过程。

你可能感兴趣的:(oracle,linux,工作,配置管理,F#)