“通过Git在Debian 10.1.0上构建Lustre主版本客户端”的版本间的差异

来自Lustre文件系统
跳转至: 导航搜索
(创建页面,内容为“⚠️本教程针对那些想要探索Lustre的前沿,或在目前自动构建器不支持的CPU/内核组合上构建的开发人员。 如果您正在评估Lus…”)
(没有差异)

2020年7月26日 (日) 22:20的版本

⚠️本教程针对那些想要探索Lustre的前沿,或在目前自动构建器不支持的CPU/内核组合上构建的开发人员。

如果您正在评估Lustre用于生产,应该选择一个稳定的Lustre版本。

目的

本页介绍了在Debian 10.1.0上构建Lustre主客户端所有必要的步骤。

  • 创建Lustre客户端的DEB包

准备条件

  • 一台新安装了Debian 10.1.0机器,且已连接到互联网。
  • 注意:下面的编译说明假设SE-Linux功能被禁用。如果您启用了SE-Linux,本指南只能作为一个参考,而非权威信息。

概述

在本指南中,Debian 10.1.0版本将使用以下内核版本:

  • Linux debian 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64 GNU/Linux。

1.) 安装构建依赖包

安装所需工具的最快方法是使用Debian的(构建依赖)build-dependency功能:

sudo apt-get build-dep linux-headers-$(uname -r)
sudo apt-get install libtool libyaml-dev ed libreadline-dev dpatch libsnmp-dev mpi-default-dev

安装linux-headers包后,/usr/src/目录下包含:

ls -F /usr/src/
linux-headers-4.19.0-6-amd64/ linux-headers-4.19.0-6-common/ linux-kbuild-4.19@

下面的说明假设您运行的目录至少有20 GB的可用磁盘空间,并且您的用户对该目录有写入权限: 我们假设这个路径是${BUILDPATH},比如/usr/src/lustre。

2.) 构建Lustre客户端包

2.1) 下载Lustre源码

第一步,从Whamcloud Git仓库下载最新的Lustre源码:

cd ${BUILDPATH}
git clone git://git.whamcloud.com/fs/lustre-release.git
cd lustre-release

2.2)构建Lustre客户端包

构建客户端包的要求最低,只需要有内核头文件即可。安装的内核头文件需要与运行中的内核版本相匹配。

如果这些编译系统与DKMS(动态内核模块支持)不兼容,则需要为客户端运行的每个内核版本生成一个合适的包。

在构建客户端包之前,我们需要将头文件从普通目录复制到amd64目录下:

cp -a /usr/src/linux-headers-4.19.0-6-common/include/* /usr/src/linux-headers-4.19.0-6-amd64/include/
ln -s /usr/src/linux-headers-4.19.0-6-common/arch/x86/include/asm /usr/src/linux-headers-4.19.0-6-amd64/arch/x86/include/asm
ln -s /usr/src/linux-headers-4.19.0-6-common/arch/x86/include/uapi /usr/src/linux-headers-4.19.0-6-amd64/arch/x86/include/uapi

执行以下内容以构建客户端包:

cd ${BUILDPATH}/lustre-release
git reset --hard && git clean -dfx
sh autogen.sh &&
./configure --disable-server --with-linux=/usr/src/linux-headers-4.19.0-6-amd64 &&
make debs -j $(nproc)

如果编译成功,那么应该在"lustre-release/debs"子目录中能够找到一组Debian包。

把这些包复制到一个可用的位置,就可以用它们来安装Lustre客户端。

也请记住前面所说的:如果DKMS已被禁用,那么你需要为每个目标内核版本编译一套单独的模块。