Giter Site home page Giter Site logo

tkas / beegfs-patch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from osallou/beegfs-patch

0.0 1.0 0.0 27.98 MB

beegfs fork to patch client 7.1.5 for kernel 5.10 (make client and make package-deb for client only)

License: Other

Shell 2.21% C++ 65.08% C 21.57% Java 10.03% Makefile 0.91% HTML 0.21%

beegfs-patch's Introduction

BeeGFS Parallel File System

BeeGFS (formerly FhGFS) is the leading parallel cluster file system, developed with a strong focus on performance and designed for very easy installation and management. If I/O intensive workloads are your problem, BeeGFS is the solution.

Homepage: https://www.beegfs.io

Build Instructions

Prerequisites

Before building BeeGFS, install the following dependency packages:

Red Hat / CentOS

$ yum install libuuid-devel libibverbs-devel librdmacm-devel libattr-devel redhat-rpm-config \
  rpm-build xfsprogs-devel zlib-devel openssl-devel sqlite sqlite-devel ant gcc-c++ gcc \
  redhat-lsb-core java-devel unzip libcurl-devel elfutils-libelf-devel kernel-devel

The elfutils-libelf-devel and kernel-devel packages can be omitted if you don't intend to build the client module.

The additional devtoolset-7 package is also required, which provides a newer compiler version. The installation steps are outlined here. Please consult the documentation of your distribution for details.

  1. Install a package with repository for your system:
  • On CentOS, install package centos-release-scl available in CentOS repository:
    $ sudo yum install centos-release-scl
    
  • On RHEL, enable RHSCL repository for you system:
    $ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms
    
  1. Install the collection:

    $ sudo yum install devtoolset-7
    
  2. Start using software collections:

    $ scl enable devtoolset-7 bash
    
  3. Follow the instructions below to build BeeGFS.

Debian

On Debian or Ubuntu based systems run this command to install the required packages:

$ sudo apt install build-essential autoconf automake pkg-config devscripts debhelper \
  libtool libattr1-dev xfslibs-dev lsb-release kmod librdmacm-dev libibverbs-dev \
  default-jdk ant dh-systemd zlib1g-dev libssl-dev sqlite3 libsqlite3-dev \
  libcurl4-openssl-dev

Note: If you have an older Debian system you might have to install the module-init-tools package instead of kmod. You also have the choice between the openssl, nss, or gnutls version of libcurl-dev. Choose the one you prefer.

Building Packages

For development systems

BeeGFS comes with a Makefile capable of building packages for the system on which it is executed. These include all services, the client module and utilities.

To build RPM packages, run

 $ make package-rpm PACKAGE_DIR=packages

You may also enable parallel execution with

 $ make package-rpm PACKAGE_DIR=packages RPMBUILD_OPTS="-D 'MAKE_CONCURRENCY <n>'"

where <n> is the number of concurrent processes.

For DEB packages use this command:

 $ make package-deb PACKAGE_DIR=packages

Or start with <n> jobs running in parallel:

 $ make package-deb PACKAGE_DIR=packages DEBUILD_OPTS="-j<n>"

This will generate individual packages for each service (management, meta-data, storage) as well as the client kernel module and administration tools.

The above examples use packages as the output folder for packages, which must not exist and will be created during the build process. You may specify any other non-existent directory instead.

Note, however, that having PACKAGE_DIR on a NFS or similar network share may slow down the build process significantly.

For production systems, or from source snapshots

By default the packaging system generates version numbers suitable only for development packages. Packages intended for installation on production systems must be built differently. All instructions to build development packages (as given above) apply, but additionally the package version must be explicitly set. This is done by passing BEEGFS_VERSION=<version> in the make command line, e.g.

 $ make package-deb PACKAGE_DIR=packages DEBUILD_OPTS="-j<n>" BEEGFS_VERSION=7.1.4-local1

Setting the version explicitly is required to generate packages that can be easily upgraded with the system package manager.

Building without packaging

To build the complete project without generating any packages, simply run

$ make

The sub-projects have individual make targets, for example storage-all, meta-all, etc.

To speed things you can use the -j option of make. Additionally, the build system supports distcc:

$ make DISTCC=distcc

Setup Instructions

A detailed guide on how to configure a BeeGFS system can be found in the BeeGFS wiki: https://www.beegfs.io/wiki/

Share your thoughts

Of course, we are curious about what you are doing with the BeeGFS sources, so don't forget to drop us a note...

beegfs-patch's People

Contributors

osallou avatar mohrbacher avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.