Oracle集群文件系统(OCFS2)用户指南
5:格式化(format)
如果O2CB CLUSTER没有启动,首先启动它。格式化操作依赖于这些服务。同时它需要你确保所有的节点上都没有挂载需要格式化的设备。
你可以使用图形界面或者命令行来格式化分区。
如果你使用图形界面,选择task/Format来执行操作,在下拉列表中选择可用的设备。同时控制台会尽可能的列出设备上存在的文件系统。
为要格式化的设备输入一个标签,为了便于管理,我们建议你输入一个标签,你仍然可以在格式化之后修改它。
为设备选择一个集群单元大小(cluster size),它支持从4k到
选择一个块单元大小(block size),它支持从512字节到4k,由于OCFS2在格式化的时候并不分配一个静态的inode 区域,所以4k是我们强烈推荐的大小,它几乎适合所有的磁盘大小,换句话说,即时这些磁盘支持512字节,但我们仍然不建议使用小的单元。
一旦格式化完毕,集群单元和块单元都不可以再改变。
输入一个节点槽位(node slots),这个数值决定了允许多少节点同时挂载这个设备。这个数值随后可以修改,但只能增加,不能减小。
点击ok按钮执行格式化操作。
要格式化一个3k块大小,32k集群单元大小,包括4个节点的设备,在命令行下,可以通mkfs.ocfs2工具按如下操作完成:
# 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
可以通过man 获得mkfs.ocfs2的帮助信息。
6:挂载(mount)
启动o2cb服务,mount操作需要这些服务的支持。
你可以使用图形界面或者命令行工具:mount来完成操作。
如果使用图形界面:运行ocfs2console,选中一个设备,点击mount按钮,在弹出的对话框中输入挂接点,在可选项中输入defaults,点击ok.成功执行者后,你在列表中会看到这个设备以及它的挂接点。
命令行下的操作:
要取消挂接(umount)一个设备,可以在控制台上选中该设备点击umount或者在命令行下输入:
# mount -t ocfs2 /dev/sdf2 /u01
# umount /u01
Oracle数据库用户在将Ocfs2挂接点用来存放voting disk(CRS),cluster registry(OCR),数据文件,redo file,归档日志和控制文件时,在mount操作时,一定要使用'datavolume,nointr' 的mount选项。
其中datavolume选项确保Oracle进程在打开文件时使用o_direct标记。nointr选项确保在这个设备上的读写不会被一些信号中断。其他的设备,比如用于存放Oracle_Home文件的挂节点不需要使用这些选项。
通过以下命令来完成包含数据文件,voting disk等设备的挂载:
# mount -t ocfs2 -o datavolume,nointr /dev/sdf2 /u01
![]()
# mount
![]()
/dev/sdf2 on /u01 type ocfs2 (rw,datavolume,nointr)
![]()
如果你想在系统启动时挂接ocsf2,你需要保证o2bc和ocfs2服务使用chkconfig来配置o2bc在启动时被加载。并且要在/etc/fstab文件中加入如下项:
# cat /etc/fstab
![]()
...
![]()
/dev/sdf2 /u01 ocfs2 _netdev,datavolume,nointr 0 0
![]()
/dev/sdg2 /orahome ocfs2 _netdev 0 0
![]()
...
![]()
_netdev选项对于mount ocfs2设备是必须的,这个选项说明设备需要在网络启动时候挂载,在网络关闭之后取消挂载(datavolume 和 nointr选项只在存储数据文件等设备上需要)。
ocfs2的服务可以用来挂载和取消挂在ocfs2设备,它通常用来确保ocfs2 设备必须在网络服务关闭之后再取消挂载。
# chkconfig --add ocfs2
![]()
ocfs2 0:off 1:off 2:on 3:on 4:off 5:on 6:off
![]()
# chkconfig --add o2cb
![]()
o2cb 0:off 1:off 2:on 3:on 4:off 5:on 6:off
![]()
#
![]()
#
![]()
# /etc/init.d/o2cb configure
![]()
...
![]()
Load O2CB driver on boot (y/n) [n]: y
![]()
Cluster to start on boot (Enter "none" to clear) []: ocfs2
![]()
Writing O2CB configuration: OK
可以通过标签来挂载设备:
# mount -L datafiles /u01
7:调整(tune)
调整的操作允许你增加节点数(增加并发访问mount设备的节点数),修改设备的标签和修改。
tunefs.ocfs2命令行工具用来完整这个操作,你也可以使用控制台来完成。
确保O2cb服务启动,tune操作需要这些服务的支持。
如果是用控制台增加节点数,点击:task,选择Edit Node Slot count,在对话框中输入你需要的节点数,Ok完成。
通过以下命令从命令行完成上面的操作:
# tunefs.ocfs2 -N 8 /dev/sdf2
![]()
tunefs.ocfs2 1.2.0
![]()
Changing number of node slots from 4 to 8
![]()
Proceed (y/N): y
![]()
Added node slots
![]()
Wrote Superblock
在控制台下修改一个设备的标签,点击:task/Change Label,在对话框中输入新的标签。
命令行下的操作:
# tunefs.ocfs2 -L "old datafiles" /dev/sdf2
![]()
tunefs.ocfs2 1.2.0
![]()
Changing volume label from datafiles to old datafiles
![]()
Proceed (y/N): y
![]()
Changed volume label Wrote Superblock
通过man命令来获得tunefs.ocfs2的完整帮助。