1、  简介

OCFS2是下一代的ORACLE集群文件系统,它已经被设计成为一种为通用的文件系统。OCFS2能使运行在集群中所有节点并发的通过标准文件系统接口来访问存储备。

2、 下载

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

核心模块链接下载:

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

工具包链接下载:

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

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

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

3、安装(每个节点都安装)

以Linux2.6.18-128.7AXS3 服务器安装为例:

操作系统:Linux

操作系统版本:2.6.18-128.7AXS3 x86_64

OCFS2核心模块安装包:

ocfs2console-1.4.1-1AXS3.x86_64.rpm

OCFS2工具安装包:

ocfs2-tools-1.4.1-1AXS3.x86_64.rpm

切换root用户进行安装:

rpm -ivh ocfs2console-1.4.1-1AXS3.x86_64.rpm

rpm –ivh ocfs2-tools-1.4.1-1AXS3.x86_64.rpm

安装后,若执行/etc/init.d/ocfs2出现:

Usage: /etc/init.d/ocfs2 {start|stop|status|reload|force-reload|restart|try-restart}

执行/etc/init.d/o2cb出现

Usage: /etc/init.d/o2cb {start|stop|restart|force-reload|enable|disable|configure|load|unload|online|offline|force-offline|status}

说明OCFS2核心模块和工具包安装成功。

4、 OCFS2配置文件(每个节点都配置)

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

以两台Linux2.6.18-128.7AXS3服务器配置为例,保证两台机器相互ping通:

服务器主机名:h104、h105

服务器IP地址:192.168.4.104、192.168.4.105

下图为配置文件cluster.cof内容:

node:

ip_port = 7777
ip_address = 192.168.4.104
number = 0
name = h104
cluster = ocfs2

node:
ip_port = 7777
ip_address = 192.168.4.105
number = 1
name = h105
cluster = ocfs2

cluster:
node_count = 2
name = ocfs2

该配置文件分别放在两台服务器/etc/ocfs2目录中,配置完成。

5、  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等命令前,要先启动这些服务。

6、 OCFS2集群服务启动(每个节点都执行)

通过以下命令启动所有服务:

/etc/init.d/o2cb load

通过以下命令使cluster ocfs2 启动:

/etc/init.d/o2cb online ocfs2

通过以下命令停止cluster ocfs2:

/etc/init.d/o2cb offline ocfs2

通过以下命令停止所有服务:

/etc/init.d/o2cb unload

通过以下命令检查所有服务的状态:

/etc/init.d/o2cb status

7、 格式化

首先采用parted工具对共享磁盘进行分区,分出一个KingbaseSD区供OCFS2集群使用。详细分区命令如下:

选择要分区的硬盘,此处为/dev/sdb:

[root@h105 ~]# parted /dev/sdb

创建一个分区表:

(parted) mklabel
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes

New disk label type? [gpt]? Gpt

执行mkpart命令,分别输入分区名称,文件系统和分区的起止位置:

(parted) mkpart

分区名称?  []? KingbaseSD

文件系统类型?  [ext2]? ext3

起始点?500G

结束点?1000G

分完区后退出:

(parted) q

最后查看下分完区后的结果:

parted -l

Model: LSI INF-01-00 (scsi)

Disk /dev/sdb: 6743GB

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

Partition Table: gpt

Number  Start   End    Size   File system  Name        标志

1      17.4kB  500GB  500GB               KingbaseSD

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

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

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

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

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

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

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

# mkfs.ocfs2 -b 4K -C 32K -N 4 -L KingbaseSD /dev/sdb1

可以通过man 获得mkfs.ocfs2的帮助信息。

8、 挂载

把共享磁盘挂载到所有节点上,首先在每个节点上创建一个共同的目录名,例如在h104和h105创建/home/kingbasesd_DATA目录名:

h104:mkdir –p /home/kingbasesd_DATA

h105: mkdir –p /home/kingbasesd_DATA

创建完目录后,通过以下命令把共享磁盘挂载到本地,以h104、h105为例:

h104:mount -t ocfs2 /dev/sdb1 /home/kingbasesd_DATA/

h105:mount -t ocfs2 /dev/sdb1 /home/kingbasesd_DATA/

注意:在OCFS2文件集群系统退出时,每个节点要卸载已挂载的共享磁盘,以防对共享磁盘损坏,通过以下命令卸载:

umount /dev/sdb1

9、挂载本地的共享磁盘配置

为了使每个节点对挂载到本地的共享磁盘都有读写权限,需要创建专门的用户对共享磁盘访问,并且每个节点创建的用户ID必须一致。以h104,、h105为例进行配置:

首先在h104、h105上创建用户node104、node105:

useradd node104

useradd node105

为node104、node105分配密码:

passwd node104

passwd node105

接着修改node104和node105的用户ID和用户组ID都为808:

在h105上:

usermod -d 808 node105

groupmod -g 808 node105

在h104上:

usermod -d 808 node104

groupmod -g 808 node104

最后在其中一个节点上修改/home/kingbasesd_DATA用户属组:

chown -R node104:node104 /home/kingbasesd_DATA/

10、 测试

在h104上/home/kingbasesd_DATA 目录上创建一个test文件,在h105上/home/kingbasesd_DATA目录上可以看到,在h105上/home/kingbasesd_DATA上删除test文件,在h104上看不到test文件。

转载于:https://www.cnblogs.com/zhangpengme/archive/2011/12/29/2306362.html

OCFS2在Linux下配置文档相关推荐

  1. linux 下PDF文档的压缩

    上文说到简单的pdf页面增删编辑点击查看,80页的pdf文档(没有图片,是word转成pdf的)居然弄出100多M,因此要压缩 从网上看到说有用gs和ps2pdf,实际都试了一下,发现用gs没有成功, ...

  2. Linux下wps文档结构图,wps文字的文档结构图

    ★什么是文档结构图? 文档结构图是 WPS 文字 中十分有用的一个功能,它可以通过边栏以层级的形式对文档中的分级文字进行排列,方便用户浏览.查看.定位需要的部分. ★文档结构图有什么用? 当您在使用 ...

  3. linux 源码 在线浏览,Linux下实现文档在线浏览

    此次Linux下实现在线浏览功能已投入生产环境,生产环境是Centos6.4. 1.下载jodconverter压缩包,将相应jar包添加到工程目录下. 在openoffice下的RPMS目录下执行r ...

  4. linux下的文档处理及tar命令

    1.使用cat命令进行纵向合并 使用'>'是将左边的内容覆盖到右边 使用'>>'是将左边的内容追加到右边文档中 还可使用'>'将不同文件进行合并 2.管道符'|'统计行数 使用 ...

  5. Linux下wps文档结构图,WPS文字中文档结构图的妙用

    在使用WPS来阅览长篇文章的话,经常想要找文章的不小部分内容,就要从头浏览一篇,甚至还可以能找不到.但是如果在WPS文字中设置了浏览的目录的话,只要根据目录的标题来进行查找,会更加的方便快捷. 增加关 ...

  6. 下载丨Linux+Oracle 11g+RAC+12cc+adg国内业界最详细生产系统下实施文档

    墨天轮文档:<Linux+Oracle 11g+RAC+12cc+adg国内业界最详细生产系统下实施文档>:https://www.modb.co/doc/2408(复制到浏览器中或者点击 ...

  7. Linux keypad 设备树,SC7731客户配置文档.pdf

    SC7731客户配置文档 SC7731 客户配置文档 2014-07-09 目录 02 Add your texts here SC7731 0101 03 SC7731 软件架构简介 02 Pinm ...

  8. 转发一份GoldenGate 配置文档

    转发一份GoldenGate 配置文档,里面有参数说明,值得看 1       GoldenGate简要说明 GoldenGate现在是业内成熟的数据容灾与复制产品,经过多年的发展与完善,现在已经成为 ...

  9. nagios配置文档

    nagios配置文档 关于nagios  Nagios是一款用于系统和网络监控的应用程序.它可以在你设定的条件下对主机和服务进行监控,在状态变差和 变好的时候给出告警信息. Nagios最初被设计为在 ...

最新文章

  1. 年后跳槽BAT必看:10种数据结构、算法和编程课助你面试通关
  2. 发现一个很奇怪的现象,MyBaits 的 insert方法一直返回-2147482646
  3. 值得深思的问题——分库分表就能无限扩容吗?
  4. geoserver css插件,GeoServer使用CSS定义地图样式-上手
  5. 中国阻燃纤维板市场运行局势分析与产销需求前景展望报告2022年
  6. Sicily/1282. Computer Game
  7. dubbo控制台安装
  8. 机器学习代码实战——随机森林(Random Forest)
  9. java 网吧管理系统_java网吧信息管理系统
  10. 嵌入式软件工程师就只需会写C代码吗
  11. 关于vscode打感叹号无法输出html模板的解决方法
  12. Redis 持久化,写入磁盘的方式
  13. 案例2:随机森林来填补缺失值
  14. 基于JavaWEB+MySQL的学生在线测评考试系统
  15. php 传递指针,windtear 追求完美
  16. 30多岁转行做python_30 岁转行做Python开发晚吗?而且是零基础
  17. python破解教程一 破解211高校BBS论坛的用户密码
  18. 常用的XSS攻击手段和目的有哪些 网络安全入门教程
  19. 【入门级C语言程序 -- 猜数字】Guess Number Game
  20. 区块链为什么这么火热?

热门文章

  1. Android 系统权限
  2. 安卓操作sqlite3,增删改查
  3. 新0-Day漏洞或将给Linux桌面发行版带来浩劫
  4. 从cpp向qml文件传中文字符串的方法
  5. 一天一种设计模式之六-----工厂方法模式
  6. with管理文件操作
  7. C++11模版元编程的应用
  8. 算法学习笔记(三)-----各种基础排序问题
  9. ecshop模板支持php,[老杨原创]关于ECSHOP模板架设的服务器php版本过高报错的解决方法集合...
  10. php foreach id是否存在数组_请纠正这 5 个 PHP 编码小陋习