centos7上提供ocfs2文件系统支持

来源:互联网 发布:ss账号在淘宝上怎么买 编辑:程序博客网 时间:2024/05/17 01:43
本试验只针对CentOS 7。


1. 用户态工具ocfs2-tools的安装
去下面的地址下载rpm包。
http://download.opensuse.org/repositories/home:/aevseev/CentOS7/x86_64/ocfs2-tools-1.8.4-1.12.el7.x86_64.rpm
然后安装这个rpm包。
# yum install ocfs2-tools-1.8.4-1.12.el7.x86_64.rpm


2. ocfs2内核模块的编译
先检查ocfs2模块是否存在。

# modprobe ocfs2

# lsmod|grep ocfs2

或者
# find /lib/modules/ -name "*ocfs*"
如果没有找到文件,说明内核很可能不支持ocfs2。


去下面的地址下载CentOS 7的最新的内核源码包。
http://vault.centos.org/7.2.1511/updates/Source/SPackages/kernel-3.10.0-327.28.2.el7.src.rpm


# rpm -ivh kernel-3.10.0-327.28.2.el7.src.rpm
默认选项可能并不提供OCFS2的支持,需要编辑spec文件。
# cd /root/rpmbuild/SPECS
找到并编辑 kernel.spec。


一个简单直接的办法修改config中的编译选项。在730行附近。
# now run oldconfig over all the config files
for i in *.config
do
  sed -i "s/# CONFIG_OCFS2_FS is not set/CONFIG_OCFS2_FS=m/" $i   # 增加这一行!
  mv $i .config




如果还有报错,在200行附近可能需要修改为
%define listnewconfig_fail 0    # 原值是1


生成rpm
# rpmbuild -ba kernel.spec


成功完成之后,生成了以下文件。
# ls -1
kernel-3.10.0-327.28.2.el7.x86_64.rpm
kernel-debug-3.10.0-327.28.2.el7.x86_64.rpm
kernel-debug-debuginfo-3.10.0-327.28.2.el7.x86_64.rpm
kernel-debug-devel-3.10.0-327.28.2.el7.x86_64.rpm
kernel-debuginfo-3.10.0-327.28.2.el7.x86_64.rpm
kernel-debuginfo-common-x86_64-3.10.0-327.28.2.el7.x86_64.rpm
kernel-devel-3.10.0-327.28.2.el7.x86_64.rpm
kernel-headers-3.10.0-327.28.2.el7.x86_64.rpm
kernel-tools-3.10.0-327.28.2.el7.x86_64.rpm
kernel-tools-debuginfo-3.10.0-327.28.2.el7.x86_64.rpm
kernel-tools-libs-3.10.0-327.28.2.el7.x86_64.rpm
kernel-tools-libs-devel-3.10.0-327.28.2.el7.x86_64.rpm
perf-3.10.0-327.28.2.el7.x86_64.rpm
perf-debuginfo-3.10.0-327.28.2.el7.x86_64.rpm
python-perf-3.10.0-327.28.2.el7.x86_64.rpm
python-perf-debuginfo-3.10.0-327.28.2.el7.x86_64.rpm




查看是否打包了ocfs2模块。
# rpm -qpl kernel-3.10.0-327.28.2.el7.x86_64.rpm |grep ocfs
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/cluster
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/dlm
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/dlm/ocfs2_dlm.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/dlmfs
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/dlmfs/ocfs2_dlmfs.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/ocfs2.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/ocfs2_stack_o2cb.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/ocfs2_stack_user.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/ocfs2_stackglue.ko




3. 升级内核
# yum install kernel-3.10.0-327.28.2.el7.x86_64.rpm \
              kernel-headers-3.10.0-327.28.2.el7.x86_64.rpm \
              kernel-tools-3.10.0-327.28.2.el7.x86_64.rpm \
              kernel-tools-libs-3.10.0-327.28.2.el7.x86_64.rpm 


重启机器。




4. 加载ocfs2模块


检查是否存在模块文件。
# find /lib/modules -name "*ocfs2*"
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/dlm/ocfs2_dlm.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/dlmfs/ocfs2_dlmfs.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/ocfs2.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/ocfs2_stack_o2cb.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/ocfs2_stack_user.ko
/lib/modules/3.10.0-327.28.2.el7.x86_64/kernel/fs/ocfs2/ocfs2_stackglue.ko


加载ocsf2内核模块
# modprobe ocfs2 ocfs2_dlmfs


查看模块加载情况
# lsmod |grep ocfs
ocfs2_dlmfs            27704  0 
ocfs2                1079135  0 
ocfs2_stackglue        17171  2 ocfs2,ocfs2_dlmfs
ocfs2_nodemanager     237661  2 ocfs2,ocfs2_dlmfs
jbd2                  102940  1 ocfs2
0 0
原创粉丝点击