ubuntu20.04 Lustre文件系统安装

  • Lustre server安装
    • 1.安装构建依赖包
    • 2.构建内核${BUILDPATH}=/home/build
    • 3.为支持LDISKFS而构建经过修改的e2fsprogs
    • 4.构建Lustre服务器包
    • 5.检验
    • 6.参考链接

Lustre server安装

本文是基于系统环境:ubuntu20.04,linux-5.4.0-122-generic的一次Lustre server安装

由于官网的文档有些许错误,而且在安装的时候自己也遇到了很多问题,就此整理了一下依赖包等,对于ubuntu的集群来部署Lustre文件系统,有任何问题欢迎讨论。

先简单介绍一下Lustre,Lustre是一个开源的、全局单个命名空间的、符合POSIX标准的分布式并行文件系统,旨在实现系统的可扩展性、高性能和高可用性。Lustre在基于Linux的操作系统上运行,并采用客户端-服务器模式的网络架构。Lustre的存储由一组服务器提供,这些服务器可以扩展到多达数百台的数量。运行着单个文件系统实例的Lustre服务器总共可以向数千个计算客户端提供高达几十PB的存储容量,总吞吐量超过1TB/s。

Lustre是一个文件系统,可扩展以满足从小型HPC环境到超级计算机等不同规模的系统上运行的各种应用程序的需求,而且Lustre是使用基于对象的存储构建块创建的,这样可以最大限度地提高系统扩展性。

当元数据和数据存储在独立的服务器上时,冗余服务器可以支持存储故障转移功能,这样每个文件系统可以针对不同的工作负载进行优化。Lustre可以通过高速网络结构(如英特尔全路径架构( OPA )、InfiniBand*和以太网)向应用程序提供快速的IO。

1.安装构建依赖包

sudo sed -i '/deb-src/s/^# //' /etc/apt/sources.list && sudo apt update
sudo apt install -y linux-image-5.4.0-122-generic linux-modules-5.4.0-122-generic linux-modules-extra-5.4.0-122-generic
sudo apt install -y git libtool libtool-bin libyaml-dev ed libreadline-dev dpatch libsnmp-dev mpi-default-dev module-assistant quilt
sudo apt install -y libncurses5-dev libncurses-dev bison flex gnupg libelf-dev gcc libssl-dev bc bzip2 build-essential udev kmod cpio
sudo apt install -y libfuse-dev libattr1-dev libblkid-dev uuid-dev devscripts fakeroot kernel-wedge libudev-dev libpython3-dev swig
sudo apt install -y gettext texinfo debhelper dh-exec update-notifier-common sg3-utils attr mpi-default-bin selinux-utils
sudo apt install -y python python2 python2-minimal python2.7 libpython2-stdlib libsgutils2-2 libpython2.7-stdlib python2.7-minimal libpython2.7-minimal libkeyutils-dev libmount-dev dwarves python3-distutils

2.构建内核${BUILDPATH}=/home/build

在构建Lustre服务器支持之前,需要有一个可用的编译过的内核源码目录,适用于使用的内核版本。如果打算使用LDISKFS作为备份文件系统,则需要使用一个特定的内核版本来生成LDISKFS模块。首先通过执行以下程序找出你的目标服务器上的内核版本,然后为你使用的发行版下载正确的内核:

uname -r 显示出:5.4.0-122-generic
cd /home/build
sudo apt source linux-image-unsigned-5.4.0-122-generic

接下来需要该版本的内核配置。获得该配置的最简单的方法是从运行该版本的服务器上抓取。

cd linux-5.4.0
sudo cp /boot/config-5.4.0-122-generic .config
一旦有了配置文件,就需要确保Ubuntu使用的相同版本号嵌入到内核中:
sudo touch .scmversion
sudo sed -i 's/^VERSION = .*/VERSION = 5/' Makefile
sudo sed -i 's/^PATCHLEVEL = .*/PATCHLEVEL = 4/' Makefile
sudo sed -i 's/^SUBLEVEL = .*/SUBLEVEL = 0/' Makefile
sudo sed -i 's/^EXTRAVERSION =.*/EXTRAVERSION = -122-generic/' Makefile
sudo sed -i 's/^NAME =.*/NAME = Focal Fossa/' Makefile
最后,可以编译内核的源代码,使其可以被Lustre使用:
sudo make -j $(nproc)
注意:"nproc"返回CPU的数量。如果你没有那个工具或者希望使用不同的并行性,只需在该位置输入并行进程的数量。

3.为支持LDISKFS而构建经过修改的e2fsprogs

cd /home/build
git clone git://git.whamcloud.com/tools/e2fsprogs.git
cd e2fsprogs
git checkout master-lustre(注意git checkout 对应版本)
sed -i 's/ext2_types-wrapper.h$//g' lib/ext2fs/Makefile.in
sudo mkdir build && cd build
sudo ../configure && sudo make && sudo make check
sudo make install && sudo make install-lib
dpkg-buildpackage -b -us -uc

这将在/home/build中创建几个".deb "文件。
将它们保存在合理的地方,这样以后就可以在目标服务器上安装修改后的e2fsprogs。

4.构建Lustre服务器包

从Git repo中下载最新的Lustre源代码:

cd /home/build
git clone git://git.whamcloud.com/fs/lustre-release.git
cd lustre-release
git checkout master(注意git checkout 对应版本)
编译Lustre服务器包的方式非常直接:
sudo sh autogen.sh
sudo ./configure --with-linux=/home/build/linux-5.4.0/
sudo make debs -j $(nproc)

如果编译成功,则应该在"lustre-release/debs "下再次找到服务器模块。
把这些模块复制到一个合理的位置,这样就可以用它们来安装Lustre服务器。

5.检验

sudo modprobe lustre && sudo modprobe ldiskfs

没有报错即安装成功

6.参考链接

https://wiki.whamcloud.com/display/PUB/Build+Lustre+MASTER+with+Ldiskfs+on+Ubuntu+20.04.1+from+Git
参考链接中有许多小错误,确实仅供参考。

记一次有关于ubuntu20.04的Lustre文件系统安装相关推荐

  1. ubuntu20.04系统将文件复制到U盘

    ubuntu系统首先要将U盘挂载到mnt才可以进行读写,不然会显示无法复制文件到U盘,权限为只读 1 插入U盘 2 查看U盘所在的路径 打开终端 输入 sudo fdisk -l 命令 查看U盘所在位 ...

  2. 在Windows10操作系统下安装Ubuntu20.04 LTS,实现双系统

    为了在linux下使用英伟达的显卡对深度学习模型进行加速,必须使用真实的Linux系统,所以特地安装了win+linux的双系统 本教程力求简单 第一步:制作U盘启动 制作U盘启动的目的是通过U盘进入 ...

  3. Ubuntu20.04安装,并Linux微信等

    Ubuntu20.04安装,并Linux微信等 一.Ubuntu20.04双硬盘双系统安装 电脑状况:256G+260G双固态硬盘,其中256G(sda)分C.D盘安装win10,460G(sdb)硬 ...

  4. Ubuntu系统安装、配置与美化(Ubuntu20.04)

    阅读指南 目的 本文的写作目的在于帮助完全零基础的小白不理解原理而可以无脑安装Linux系统,同时也是为自己进行的一个整理,相较于网上大多数的教程,本教程将一些内容进行了整合与整理,加之本人在安装Ub ...

  5. 【技术分享】戴尔工作站安装Win10+Ubuntu20.04双系统教程与避坑指南

    文章目录 引言 1.安装前的几个注意事项(避坑指南) 1.1.有多块硬盘,该如何分配给Win10和Ubuntu系统? 1.2.Ubuntu分区应该怎么分? 2.系统安装步骤 2.1.下载系统镜像 2. ...

  6. win10系统盘多大合适_yi点分享 | Win10下安装Ubuntu20.04,看这一篇就够了

    前言:既然你都找到这了,相信对Linux和Ubuntu已经有了一定的了解,这里就不再做过多的赘述,直接步入正题了.由于各种原因我已经反复装了七八遍的Ubuntu(从16.04到20.04都装过几次), ...

  7. Ubuntu20.04 ros安装 摄像头

    1.ROS中摄像头的使用 创建一个catkin工作空间: mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace 编译工作空 ...

  8. ubuntu20.04 LTS 手把手安装教程

    文章目录 一.新建虚拟机 二.设置映像文件 三.安装 Ubuntu 软件版本: VMware Workstation 15.5 Pro 一.新建虚拟机 首先下载 Ubuntu20.04LTS 的镜像, ...

  9. 没有U盘电脑如何使用本地硬盘安装Ubuntu20.04(双系统)

    环境: DELL7080台式机 Ubuntu20.04 两块硬盘 问题描述: 没有U盘电脑如何使用本地硬盘安装Ubuntu20.04(双系统) 解决方案: 一.下载镜像文件 1.上线自行下载安装镜像文 ...

最新文章

  1. VLC SDK在VS2010中的配置及简单使用举例
  2. 数据库命名规则(转)
  3. Centos普通用户提权至ROOT
  4. Linux_PXE服务器_RHEL7
  5. 鸟哥的Linux私房菜(基础篇)- 简易且较小安装Red Hat 7.2
  6. AtCoder Beginner Contest 204 F Hanjo 2
  7. List - Map 工具类,list转为map
  8. java学习(46):无参带返回
  9. LeetCode 2071. 你可以安排的最多任务数目(二分查找)
  10. TensorFlow安装中遇到的问题
  11. 灵悟礼品网上专卖店Sprint计划
  12. 服务器不能用pe安装win7系统安装,WinPE无法安装win7系统的完美解决方案
  13. 总结谷歌身份验证器 Google Authenticator 的详细使用方法
  14. 大数据时代,给我们带来了哪些改变
  15. 一个屌丝程序猿的人生(九十)
  16. 国徽FLASH SM25QH256M烧录问题总结
  17. java实现根号n路归并排序
  18. [转载]惯性导航专业相关书籍180多部
  19. 2018年全国中高等院校教师 “Python编程及应用”培训班通知
  20. 纯JS打造移动端触屏滑动图片集

热门文章

  1. 细数流落民间的10大贵族CN域名
  2. Vue2学习笔记(尚硅谷张天禹老师)day-01
  3. 宏基因组数据分析专题之展望与数据质控
  4. BIM建模助手上线一周,已有236支战队参加了这场有奖公测活动!
  5. fdk-aac交叉编译与使用
  6. Excel更改引用方式在绝对引用与相对引用之间快速切换
  7. Android扫码实现
  8. java中饿汉与懒汉的故事(单例设计模式)
  9. chrome+firefox+ie浏览器驱动下载
  10. 低代码平台开发 python_《低》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...