目的
下载glusterfs的源代码,在CentOS 7 系统中编译和安装gluster。
注意前提: 作者的当前系统里面已经通过yum安装了版本为5.11的gluster,并且已经建好了可用的volume。
安装yum包
yum install autoconf automake bison cmockery2-devel dos2unix flex \
fuse-devel glib2-devel libacl-devel libaio-devel libattr-devel \
libcurl-devel libibverbs-devel librdmacm-devel libtirpc-devel \
libtool libxml2-devel lvm2-devel make openssl-devel pkgconfig \
pyliblzma python-devel python-eventlet python-netifaces \
python-paste-deploy python-simplejson python-sphinx python-webob \
pyxattr readline-devel rpm-build sqlite-devel systemtap-sdt-devel \
tar userspace-rcu-devel libacl-devel libxml++-devel libuuid-devel
下载源代码
下载位置
https://github.com/gluster/glusterfs
生成配置文件
./autogen.sh
运行配置文件
./configure --without-libtirpc
如果需要支持调试选项,使能 ‘–enable-debug’
./configure --enable-debug
编译
在确保配置成功后,就可以编译了。选项‘-jN’可以指定同时启动N个任务来并行编译。
make
安装
默认情况下,软件会安装到/user/local目录下。如需安装到其他目录,在配置阶段需要指定 ‘–prefix’。
sudo make install
为了运行新编译好的gluster,有可能需要修改系统变量PATH,添加’/usr/local/sbin’ 和 '/usr/local/bin’到系统路径。
也可以修改gluster service的配置文件,告诉系统服务去调用新的binary。
/usr/lib/systemd/system/glusterd.service
编译生成RPM包
cd extras/LinuxRPM
make glusterrpms
生成的RPM包位于 ‘extras/LinuxRPM’(注意:rpmbuild可能依赖于包括rpmbuild和mock这样的软件)。
最后重启gluster服务
systemctl restart glusterd
本文参考了官方的开发指南
https://docs.gluster.org/en/latest/Developer-guide/Building-GlusterFS/