Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-8785

Setting up lustre client on ppc64le-ubuntu 16.04 ( having lustre built from source )

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Blocker
    • None
    • Lustre 2.8.0
    • None
    • 1
    • 1
    • 3
    • 9223372036854775807

    Description

      Hi All,

      I have a working 3 node cluster set on my x86_64 machines ( centos ) and i have followed the steps as per this url : https://gist.github.com/joshuar/4e283308c932ec62fc05 as shown below

      1. Machine 1 : Acting as Management server( MGS) , Management target ( MGT ) ,Metadata server( MDS) , Metadata target ( MDT ) - CentOS6.6 x86-VM1 - 10.51.225.95
      2. Machine 2 : Acting as - Object Storage Server ( OSS ) , Object Storage Target ( OST ) CentOS6.8 x86-VM2 - 10.51.225.96
      3. Machine 3 : Acting as lustre client - CentOS 7.2.1511- VM3 - 10.51.231.200

      All above machines are x86_64.

      Machine 1 , is showing Linux kernel patched with lustre : 2.6.32-573.12.1.el6_lustre.x86_64
      Machine 2 , is showing Linux kernel patched with lustre : 2.6.32-573.12.1.el6_lustre.x86_64
      Machine 3 : is showing the normal Linux kernel : 3.10.0-327.10.1.el7.x86_64

      And to verify that lustre client is working on machine 3 , i have done the below on machine 3 .

      The lfs df -h command lists space usage per OST and the MDT in human-readable format. This command generates below output on lustre client :

      On Client Node - Machine 3
      [root@hj-ibmibm2026 lustre]# lfs df -h
      UUID bytes Used Available Use% Mounted on
      whatevs-MDT0000_UUID 28.4G 58.9M 26.3G 0% /mnt/lustre[MDT:0]
      whatevs-OST0000_UUID 39.5G 49.0M 37.3G 0% /mnt/lustre[OST:0]

      filesystem summary: 39.5G 49.0M 37.3G 0% /mnt/lustre

      Now i need to replace the machine 3 (x86_64 ) with machine having ppc64le architecture . So i need to have lustre client on ppc64le machines ( ubuntu and red hat version ) . So i went to build lustre from source using below steps.

      root@pts00433-vm22:~# git clone git://git.hpdd.intel.com/fs/lustre-release.git
      root@pts00433-vm22:~# cd lustre-release/
      root@pts00433-vm22:~/lustre-release# sh ./autogen.sh
      configure.ac:15: installing 'config/compile'
      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:39: warning: source file 'util/string.c' is in a subdirectory,
      libcfs/libcfs/autoMakefile.am:39: but option 'subdir-objects' is disabled
      automake: warning: possible forward-incompatibility.
      automake: At least a source file is in a subdirectory, but the 'subdir-objects'
      ........
      ........
      ........
      lustre/utils/Makefile.am:28: but option 'subdir-objects' is disabled
      lustre/utils/Makefile.am:24: warning: source file 'gss/sk_utils.c' is in a subdirectory,
      lustre/utils/Makefile.am:24: but option 'subdir-objects' is disabled
      root@pts00433-vm22:~/lustre-release#./configure --disable-server

      ....
      LD: /usr/bin/ld
      CPPFLAGS: -include /root/lustre-release/undef.h -include /root/lustre-release/config.h -I/root/lustre-release/libcfs/include -I/root/lustre-release/lnet/include -I/root/lustre-release/lustre/include
      CFLAGS: -g -O2
      EXTRA_KCFLAGS: -include /root/lustre-release/undef.h -include /root/lustre-release/config.h -g -I/root/lustre-release/libcfs/include -I/root/lustre-release/lnet/include -I/root/lustre-release/lustre/include

      Type 'make' to build Lustre.
      root@pts00433-vm22:~/lustre-release# make
      make all-recursive
      make[1]: Entering directory '/root/lustre-release'
      Making all in .
      make[2]: Entering directory '/root/lustre-release'
      grep -v config.h.in config.h.in > undef.h
      make LDFLAGS= CC="gcc" -C /lib/modules/4.4.0-31-generic/build \
      -f /root/lustre-release/build/Makefile LUSTRE_LINUX_CONFIG=/lib/modules/4.4.0-31-generic/build/.config \
      LINUXINCLUDE='-I$(srctree)/arch/$(SRCARCH)/include -Iarch/$(SRCARCH)/include/generated -Iinclude $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) -I$(srctree)/arch/$(SRCARCH)/include/uapi -Iarch/$(SRCARCH)/include/generated/uapi -I$(srctree)/include/uapi -Iinclude/generated/uapi -include /lib/modules/4.4.0-31-generic/build/include/linux/kconfig.h' \
      M=/root/lustre-release -o tmp_include_depends -o scripts -o \
      include/config/MARKER modules
      make[3]: Entering directory '/usr/src/linux-headers-4.4.0-31-generic'
      LD /root/lustre-release/built-in.o
      LD /root/lustre-release/libcfs/built-in.o
      LD /root/lustre-release/libcfs/libcfs/built-in.o
      .....
      .....
      ....
      make[3]: Leaving directory '/root/lustre-release/lustre/osc'
      make[3]: Entering directory '/root/lustre-release/lustre'
      make[3]: Nothing to be done for 'all-am'.
      make[3]: Leaving directory '/root/lustre-release/lustre'
      make[2]: Leaving directory '/root/lustre-release/lustre'
      make[1]: Leaving directory '/root/lustre-release'
      root@pts00433-vm22:~/lustre-release# ./LUSTRE-VERSION-GEN
      2.8.59_78_g7d4106c
      root@pts00433-vm22:~/lustre-release# whereis lustre
      lustre: /usr/lib/lustre /usr/include/lustre /usr/share/lustre /usr/share/man/man7/lustre.7
      root@pts00433-vm22:~/lustre-release# make install
      make[3]: Leaving directory '/root/lustre-release/lustre/osc'
      make[2]: Leaving directory '/root/lustre-release/lustre/osc'
      make[2]: Entering directory '/root/lustre-release/lustre'
      make[3]: Entering directory '/root/lustre-release/lustre'
      make[3]: Nothing to be done for 'install-exec-am'.
      make[3]: Nothing to be done for 'install-data-am'.
      make[3]: Leaving directory '/root/lustre-release/lustre'
      make[2]: Leaving directory '/root/lustre-release/lustre'
      make[1]: Leaving directory '/root/lustre-release/lustre'
      root@pts00433-vm22:~/lustre-release#

      So now assuming lustre has been installed from source correctly on this ppc64le-ubuntu16.04 vm , need to configure this machine to act as a lustre client.

      Getting issue while configuring the lustre client with below steps
      On the client:
      Load the lustre kernel module using modprobe lustre.
      root@pts00433-vm22:~/lustre-release# modprobe lustre
      modprobe: FATAL: Module lustre not found in directory /lib/modules/4.4.0-31-generic

      Please do let me know having built lustre from source successfully ( at least that's what i think from above steps ) how to configure this ubuntu 16.04 machine as "lustre client" so that i replace the above foremost mentioned x86_64 machine with this ppc64le machine as lustre client

      Any pointers will be appreciated.

      Regards
      Amit

      Attachments

        Activity

          People

            wc-triage WC Triage
            amitkumar_ghatwal Amitkumar Ghatwal (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: