ocfs2文件系统使用详解

本文详细介绍了OCFS2文件系统的用途、安装、配置过程以及O2CB集群服务。OCFS2适用于存放Oracle数据库文件及二进制文件,提供了节点管理器、心跳服务、TCP通讯和分布式锁管理器等服务。文章还涵盖了如何格式化、挂载OCFS2文件系统以及在系统启动时自动加载O2CB的相关操作。


     OCFS1问世于2002年10月,它是Oracle公司为了让RAC用户避免必须要与裸设备打交道而开发出来的。这个文件系统用来存放数据库相关的文件,比如数据文件,控制文件,在线日志文件,归档日志文件等。

    OCFS2是下一代的ORACLE集群文件系统,它已经被设计成为一种为通用的文件系统,它不仅可以存放数据库相关的文件,还可以存放oracle二进制文件(指Oracle_home下的软件文件-译者注)和配置文件,从而使RAC的管理更加轻松。


安装

OCFS2的发行版包括了2个安装包,一个称为核心模块,另一个叫工具包。

可以从以下链接下载:

http://oss.oracle.com/projects/ocfs2/files/

工具包可以从以下链接下载;

http://oss.oracle.com/projects/ocfs2-tools/files/


 

工具包又分为两部分,ocfs2-tools命令行工具,ocfs2console图形工具,用户可以选择不安装这部分,但它的确可以令操作简单化。


配置

OCFS2有一个配置配置文件,路径为/etc/ocfs2/cluster.conf.在这个文件中,你需要指定RAC中所有的节点信息,并且所有的节点上都应该保留相同的一份。你可以动态的增加新节点到RAC,或者改变一些节点的IP,名字,但这需要重起RAC以便于使更改生效。

我们强烈建议用户使用OCFS2-CONSOLE工具来对RAC中所有的节点进行配置。

运行OCFS2-CONSOLE,进入cluster菜单,选择configure nodes.如果cluster已经停止,控制台会启动它,并且返回一个成功的信息。如果cluster.conf文件不存在,控制台将会创健一个并给一个默认的集群名字ocfs2.点击add按钮将节点添加到RAC中,每一个节点需要输入节点名称,ip和端口号。控制台从0-254顺序的分配节点序号。一旦所有的节点都添加到RAC当中,通过点击菜单cluster里propagate configration项,我们可以在任何一台节点上将配置文件cluster.conf分发到所有节点相应的位置上去,由于控制台使用的是ssh协议来传送文件,所以之前需要在所有节点上建好彼此的信任,以避免在文件传递过程中出现提出输入口令的问题。

附一个cluster.conf的示例

Sample /etc/ocfs2/cluster.conf
cluster:
node_count = 2
name = racdb
node:
ip_port = 7777
ip_address = 192.168.0.107
number = 7
name = node7
cluster = racdb
node:
ip_port = 7777
ip_address = 192.168.0.106
number = 6
name = node6
cluster = racdb


O2CB集群服务

OCFS2有自己的集群服务结构,叫做O2CB,它包括:

NM:节点管理器,它对cluster.conf文件中所有节点进行的监控。

HB:心跳服务(Heart beat service),他在节点离开或加入rac时提示up和down的消息。

TCP:控制节点间的通讯。

DLM:分布式锁管理器,它持续跟踪所有的锁,锁的所有者及状态。

CONFIGFS:用户配置文件系统驱动空间,挂节点是/config

DLMFS:用户空间和内核空间DLM的接口。

所有这些cluster服务都已经被打包在o2cb系统服务当中,所有的操作,比如format,mount等,都需要cluster可用。在使用format等命令前,要先启动这些服务。

可以通过以下方式检查所有服务的状态:

# /etc/init.d/o2cb status


Module "configfs": Not loaded


Filesystem "configfs": Not mounted


Module "ocfs2_nodemanager": Not loaded


Module "ocfs2_dlm": Not loaded


Module "ocfs2_dlmfs": Not loaded


Filesystem "ocfs2_dlmfs": Not mounted


# mkfs.ocfs2 -b 4K -C 32K -N 4 -L oracle_home /dev/sdf2

mkfs.ocfs2 1.2.0

Overwriting existing ocfs2 partition.

Proceed (y/N): y

Filesystem label=oracle_home

Block size=4096 (bits=12)

Cluster size=32768 (bits=15)

Volume size=21474820096 (655359 clusters) (5242872 blocks)

21 cluster groups (tail covers 10239 clusters, rest cover 32256 clusters)

Journal size=33554432

Initial number of node slots: 4

Creating bitmaps: done

Initializing superblock: done

Writing system files: done

Writing superblock: done

Writing lost+found: done

mkfs.ocfs2 successful

 

挂载(mount)


 

 

         首先要下载相应的软件包.对于核心模块,下载时要考虑它的发行号,适用的平台,操作系统内核版本以及内核的类型(比如SMP,HUGEMEM,PSMP等),对于工具包,只要符合发行版本和平台就可以了。

 

通过以下方式启动所有服务:

# /etc/init.d/o2cb load

Loading module "configfs": OK

Mounting configfs filesystem at /config: OK

Loading module "ocfs2_nodemanager": OK

Loading module "ocfs2_dlm": OK

Loading module "ocfs2_dlmfs": OK

Mounting ocfs2_dlmfs filesystem at /dlm: OK


通过以下方式使cluster ocfs2 启动:

# /etc/init.d/o2cb online ocfs2

Starting cluster ocfs2: OK


通过以下方式停止cluster ocfs2


# /etc/init.d/o2cb offline ocfs2

Cleaning heartbeat on ocfs2: OK

Stopping cluster ocfs2: OK


通过以下方式停止所有服务:

 

# /etc/init.d/o2cb unload

Unmounting ocfs2_dlmfs filesystem:

Unloading module "ocfs2_dlmfs": OK

Unmounting configfs filesystem: OK

Unloading module "configfs": OK

 

通过以下方式使O2CB在系统启动时自动被加载:


# /etc/init.d/o2cb configure

Configuring the O2CB driver.

This will configure the on-boot properties of the O2CB driver.

The following questions will determine whether the driver is loaded on

boot. The current values will be shown in brackets ('[]'). Hitting

without typing an answer will keep that current value. Ctrl-C

will abort.

Load O2CB driver on boot (y/n) [n]: y

Cluster to start on boot (Enter "none" to clear) []: ocfs2

Writing O2CB configuration:       oK

#


如果cluster已经被配置为系统启动时加载,可以通过以下方式启动和停止它:


# /etc/init.d/o2cb load

Loading module "configfs": OK

Mounting configfs filesystem at /config: OK

Loading module "ocfs2_nodemanager": OK

Loading module "ocfs2_dlm": OK

Loading module "ocfs2_dlmfs": OK

Mounting ocfs2_dlmfs filesystem at /dlm: OK


格式化(format)


 

如果O2CB CLUSTER没有启动,首先启动它。格式化操作依赖于这些服务。同时它需要你确保所有的节点上都没有挂载需要格式化的设备。

你可以使用图形界面或者命令行来格式化分区。

如果你使用图形界面,选择task/Format来执行操作,在下拉列表中选择可用的设备。同时控制台会尽可能的列出设备上存在的文件系统。

为要格式化的设备输入一个标签,为了便于管理,我们建议你输入一个标签,你仍然可以在格式化之后修改它。

为设备选择一个集群单元大小(cluster  size),它支持从4k到1M。如果这个设备用来存储数据文件或者大的文件,比较合适的大小是128K。

选择一个块单元大小(block size),它支持从512字节到4k,由于OCFS2在格式化的时候并不分配一个静态的inode 区域,所以4k是我们强烈推荐的大小,它几乎适合所有的磁盘大小,换句话说,即时这些磁盘支持512字节,但我们仍然不建议使用小的单元。

一旦格式化完毕,集群单元和块单元都不可以再改变。

输入一个节点槽位(node slots),这个数值决定了允许多少节点同时挂载这个设备。这个数值随后可以修改,但只能增加,不能减小。

点击ok按钮执行格式化操作。

要格式化一个3k块大小,32k集群单元大小,包括4个节点的设备,在命令行下,可以通mkfs.ocfs2工具按如下操作完成

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-617780/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-617780/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值