本试验只针对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模块是否存在。
# 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
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