关于之前遇到的一些问题,比较繁杂,主要有以下问题:
首先可以创建一个单独的账户,如build,然后给予其sudo权限,在build的home目录下面弄以防混乱
cd ~
接着安装一些dependency
sudo yum -y groupinstall "Development Tools" sudo rpm -ivh https://mirrors.ustc.edu.cn/epel//7/x86_64/Packages/e/epel-release-7-11.noarch.rpm sudo yum -y install xmlto asciidoc elfutils-libelf-devel zlib-devel binutils-devel newt-devel python-devel hmaccalc perl-ExtUtils-Embed bison elfutils-devel \ audit-libs-devel kernel-devel libattr-devel libuuid-devel libblkid-devel libselinux-devel libudev-devel libyaml-devel # 为装InfiniBand而加入libyaml-devel sudo yum -y install pesign numactl-devel pciutils-devel ncurses-devel libselinux-devel fio
epel的下载地址可能会变,请打开下载目录查看最新链接
从git下载最新的lustre并利用其脚本进行configure
git clone git://git.whamcloud.com/fs/lustre-release.git cd lustre-release sh ./autogen.sh
如果显示以下输出说明没有问题
configure.ac:10: installing 'config/config.guess' configure.ac:10: installing 'config/config.sub' configure.ac:12: installing 'config/install-sh' configure.ac:12: installing 'config/missing' libcfs/libcfs/autoMakefile.am: installing 'config/depcomp'
同时,目前的zfs-release与lustre不兼容,一定记得切换zfs的分支
从git上clone下来spl并查看其分支
cd ~ git clone https://github.com/zfsonlinux/spl.git cd spl/ git branch -a
可以看到有如下版本
master * spl-0.6.5-release remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/spl-0.6.3-stable remotes/origin/spl-0.6.4-release remotes/origin/spl-0.6.5-release remotes/origin/spl-0.7-release #改变分支 git checkout spl-0.6.5-release ./autogen.sh
从git上clone下来zfs并改变其分支
cd ~ git clone https://github.com/zfsonlinux/zfs.git cd zfs git checkout zfs-0.6.5-release ./autogen.sh
构建spl
cd ~/spl ./configure --with-spec=redhat make pkg-utils pkg-kmod
如成功,应有如下显示
Executing(%clean): /bin/sh -e /tmp/spl-build-build-tCTZ7hGa/TMP/rpm-tmp.7z8fOR + umask 022 + cd /tmp/spl-build-build-tCTZ7hGa/BUILD + cd spl-0.6.5.11 + rm -rf /tmp/spl-build-build-tCTZ7hGa/BUILDROOT/spl-kmod-0.6.5.11-1.el7.centos.x86_64 + exit 0 Executing(--clean): /bin/sh -e /tmp/spl-build-build-tCTZ7hGa/TMP/rpm-tmp.tIJbbV + umask 022 + cd /tmp/spl-build-build-tCTZ7hGa/BUILD + rm -rf spl-0.6.5.11 + exit 0 make[1]: Leaving directory `/home/build/spl'
安装生成的本地rpm包
sudo yum -y localinstall *.x86_64.rpm
yum install \ asciidoc audit-libs-devel automake bc \ binutils-devel bison device-mapper-devel elfutils-devel \ elfutils-libelf-devel expect flex gcc gcc-c++ git \ glib2 glib2-devel hmaccalc keyutils-libs-devel krb5-devel ksh \ libattr-devel libblkid-devel libselinux-devel libtool \ libuuid-devel libyaml-devel lsscsi make ncurses-devel \ net-snmp-devel net-tools newt-devel numactl-devel \ parted patchutils pciutils-devel perl-ExtUtils-Embed \ pesign python-devel redhat-rpm-config rpm-build systemd-devel \ tcl tcl-devel tk tk-devel wget xmlto yum-utils zlib-devel
以类似的步骤,我们来编译安装zfs
cd ~/zfs/ ./configure --with-spec=redhat make pkg-utils pkg-kmod sudo yum -y localinstall *.x86_64.rpm