Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save dleske/743f9dafc212b7bb0edce370e961b99e to your computer and use it in GitHub Desktop.

Select an option

Save dleske/743f9dafc212b7bb0edce370e961b99e to your computer and use it in GitHub Desktop.

Revisions

  1. dleske revised this gist Dec 22, 2017. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions Three-Node-LustreFS-Cluster-Quickstart-Centos7.md
    Original file line number Diff line number Diff line change
    @@ -1,23 +1,23 @@
    Basic guide to deploying a simple three-node Lustre cluster on Centos 7.

    Updated fork of `[joshuar/Three-Node-LustreFS-Cluster-Quickstart.md](https://gist.github.com/joshuar/4e283308c932ec62fc05)`, which was based on Intel's [How to Create and Mount a Lustre Filesystem](https://wiki.hpdd.intel.com/display/PUB/Create+and+Mount+a+Lustre+Filesystem).
    Updated fork of [joshuar/Three-Node-LustreFS-Cluster-Quickstart.md](https://gist.github.com/joshuar/4e283308c932ec62fc05), which was based on Intel's [How to Create and Mount a Lustre Filesystem](https://wiki.hpdd.intel.com/display/PUB/Create+and+Mount+a+Lustre+Filesystem).

    # Overview
    ## Overview

    (Note: I am a newbie to Lustre so this overview is extremely light and hopefully what depth there is isn't full of mistakes!)

    ## Note on changes
    ### Note on changes

    The original document was

    * based on Centos 6; this is for Centos 7
    * assumed use of ZFS; this one uses Ext

    ## Note on instructions
    ### Note on instructions

    The commands are presented in shell-script form, so that they can be easily copied and pasted into a terminal window. *You should never blindly copy strings of commands into a terminal, especially as a privileged user.* They are presented here because many of the commands must be replicated in multiple nodes.

    # Instructions
    ## Instructions

    **The following is needed for ZFS which is not required for this cluster, which uses the Ext filesystem as a basis for Lustre.**
    <strike>
  2. Drew Leske revised this gist Dec 22, 2017. No changes.
  3. Drew Leske revised this gist Dec 22, 2017. 1 changed file with 22 additions and 3 deletions.
    25 changes: 22 additions & 3 deletions Three-Node-LustreFS-Cluster-Quickstart-Centos7.md
    Original file line number Diff line number Diff line change
    @@ -1,15 +1,34 @@
    Basic update of parent Gist for CentOS 7.
    Basic guide to deploying a simple three-node Lustre cluster on Centos 7.

    Mostly following the guide found here:
    Updated fork of `[joshuar/Three-Node-LustreFS-Cluster-Quickstart.md](https://gist.github.com/joshuar/4e283308c932ec62fc05)`, which was based on Intel's [How to Create and Mount a Lustre Filesystem](https://wiki.hpdd.intel.com/display/PUB/Create+and+Mount+a+Lustre+Filesystem).

    https://wiki.hpdd.intel.com/display/PUB/Create+and+Mount+a+Lustre+Filesystem
    # Overview

    (Note: I am a newbie to Lustre so this overview is extremely light and hopefully what depth there is isn't full of mistakes!)

    ## Note on changes

    The original document was

    * based on Centos 6; this is for Centos 7
    * assumed use of ZFS; this one uses Ext

    ## Note on instructions

    The commands are presented in shell-script form, so that they can be easily copied and pasted into a terminal window. *You should never blindly copy strings of commands into a terminal, especially as a privileged user.* They are presented here because many of the commands must be replicated in multiple nodes.

    # Instructions

    **The following is needed for ZFS which is not required for this cluster, which uses the Ext filesystem as a basis for Lustre.**
    <strike>
    * Downgrade kernel if needed (an upgrade may be required instead):
    * `yum remove kernel-$(uname -r)`
    * Enable EPEL repo:
    * `yum install epel-release`
    * Enable ZFS on Linux repo (**not sure why this is necessary**):
    * `yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el7_3.noarch.rpm`
    </strike>

    * Enable lustre repos:
    ```bash
    sudo sh -c 'cat >/etc/yum.repos.d/lustre.repo' <<EOF
  4. dleske revised this gist Dec 21, 2017. No changes.
  5. Drew Leske revised this gist Dec 21, 2017. 1 changed file with 34 additions and 23 deletions.
    57 changes: 34 additions & 23 deletions Three-Node-LustreFS-Cluster-Quickstart-Centos7.md
    Original file line number Diff line number Diff line change
    @@ -1,49 +1,57 @@
    Basic update of parent Gist for CentOS 7.

    Mostly following the guide found here:

    https://wiki.hpdd.intel.com/display/PUB/Create+and+Mount+a+Lustre+Filesystem

    * Downgrade kernel if needed:
    * `yum remove kernel-2.6.32-<whatever>*`
    * Downgrade kernel if needed (an upgrade may be required instead):
    * `yum remove kernel-$(uname -r)`
    * Enable EPEL repo:
    * `yum install epel-release`
    * Enable ZFS on Linux repo:
    * `yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm`
    * Enable ZFS on Linux repo (**not sure why this is necessary**):
    * `yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el7_3.noarch.rpm`
    * Enable lustre repos:

    ```bash
    sudo sh -c 'cat >/etc/yum.repos.d/lustre.repo' <<EOF
    [lustre-server]
    name=CentOS-$releasever - Lustre
    baseurl=https://downloads.hpdd.intel.com/public/lustre/latest-feature-release/el6/server/
    baseurl=https://downloads.hpdd.intel.com/public/lustre/latest-feature-release/el7/server/
    gpgcheck=0
    [e2fsprogs]
    name=CentOS-$releasever - Ldiskfs
    baseurl=https://downloads.hpdd.intel.com/public/e2fsprogs/latest/el6/RPMS
    baseurl=https://downloads.hpdd.intel.com/public/e2fsprogs/latest/el7/
    gpgcheck=0
    [lustre-client]
    name=CentOS-$releasever - Lustre
    baseurl=https://downloads.hpdd.intel.com/public/lustre/latest-feature-release/el6/client/
    baseurl=https://downloads.hpdd.intel.com/public/lustre/latest-feature-release/el7/client/
    gpgcheck=0
    ```
    EOF

    # upgrade e2fsprogs
    sudo yum upgrade -y e2fsprogs

    * On all of the MDS, OSS and client machines:
    * Upgrade e2fsprogs: `yum upgrade e2fsprogs`
    * Install the *lustre-tests* package: `yum install lustre-tests`
    * Create the following file **/etc/modprobe.d/lnet.conf**:
    * `options lnet networks=tcp0(eth1)`
    * Adjust the networks parameter as required for the type of
    interconnect and network interface to be used.
    * On the MGS and OSS only, create the file
    `/etc/sysconfig/modules/lnet.modules` to auto-load the lnet kernel
    module on boot:
    # install lustre-tests
    sudo yum install -y lustre-tests

    # create lnet module configuration (use appropriate interconnect in place of
    # "tcp0" and appropriate interface in place of "eth0"
    sudo sh -c 'cat > /etc/modprobe.d/lnet.conf' <<EOF
    options lnet networks=tcp0(eth0)
    EOF
    ```
    * There is now a Lustre kernel installed; reboot to activate: `sudo reboot`
    * On the MGS and OSS only, have the `lnet` module auto-load on boot:
    ```bash
    sudo sh -c 'cat > /etc/sysconfig/modules/lnet.module' <<EOF
    #!/bin/sh
    if [ ! -c /dev/lnet ] ; then
    exec /sbin/modprobe lnet >/dev/null 2>&1
    fi
    EOF
    sudo chmod 744 /etc/sysconfig/modules/lnet.module
    ```

    * On the MGS/MDT/MDS:
    @@ -61,17 +69,20 @@ fi
    * Create a mount point and mount the lustre FS:
    * `mkdir /ostoss_mount && mount -t lustre /dev/sdX /ostoss_mount`
    * On the client:
    * Load the lustre kernel module: `modprobe lustre`.
    * Create the file `/etc/sysconfig/modules/lustre.modules` to load
    the lustre module on boot:

    ```bash
    # load the Lustre kernel module
    sudo modprobe lustre

    # create script to load Lustre module on boot
    sudo sh -c 'cat > /etc/sysconfig/modules/lustre.modules' <<EOF
    #!/bin/sh
    /sbin/lsmod | /bin/grep lustre 1>/dev/null 2>&1
    if [ ! $? ] ; then
    /sbin/modprobe lustre >/dev/null 2>&1
    fi
    EOF
    sudo chmod 744 /etc/sysconfig/modules/lustre.modules
    ```

    * Create a mount point: `mkdir /mnt/lustre`.
  6. Drew Leske renamed this gist Dec 21, 2017. 1 changed file with 0 additions and 0 deletions.
  7. @joshuar joshuar revised this gist Oct 22, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Three-Node-LustreFS-Cluster-Quickstart.md
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,7 @@ https://wiki.hpdd.intel.com/display/PUB/Create+and+Mount+a+Lustre+Filesystem
    * Downgrade kernel if needed:
    * `yum remove kernel-2.6.32-<whatever>*`
    * Enable EPEL repo:
    * `yum localinstall --nogpgcheck http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm`
    * `yum install epel-release`
    * Enable ZFS on Linux repo:
    * `yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm`
    * Enable lustre repos:
  8. @joshuar joshuar renamed this gist Oct 21, 2014. 1 changed file with 0 additions and 0 deletions.
  9. @joshuar joshuar renamed this gist Oct 21, 2014. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  10. @joshuar joshuar revised this gist Oct 13, 2014. No changes.
  11. @joshuar joshuar created this gist Aug 26, 2014.
    79 changes: 79 additions & 0 deletions gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,79 @@
    Mostly following the guide found here:

    https://wiki.hpdd.intel.com/display/PUB/Create+and+Mount+a+Lustre+Filesystem

    * Downgrade kernel if needed:
    * `yum remove kernel-2.6.32-<whatever>*`
    * Enable EPEL repo:
    * `yum localinstall --nogpgcheck http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm`
    * Enable ZFS on Linux repo:
    * `yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm`
    * Enable lustre repos:

    ```bash
    [lustre-server]
    name=CentOS-$releasever - Lustre
    baseurl=https://downloads.hpdd.intel.com/public/lustre/latest-feature-release/el6/server/
    gpgcheck=0

    [e2fsprogs]
    name=CentOS-$releasever - Ldiskfs
    baseurl=https://downloads.hpdd.intel.com/public/e2fsprogs/latest/el6/RPMS
    gpgcheck=0

    [lustre-client]
    name=CentOS-$releasever - Lustre
    baseurl=https://downloads.hpdd.intel.com/public/lustre/latest-feature-release/el6/client/
    gpgcheck=0
    ```

    * On all of the MDS, OSS and client machines:
    * Upgrade e2fsprogs: `yum upgrade e2fsprogs`
    * Install the *lustre-tests* package: `yum install lustre-tests`
    * Create the following file **/etc/modprobe.d/lnet.conf**:
    * `options lnet networks=tcp0(eth1)`
    * Adjust the networks parameter as required for the type of
    interconnect and network interface to be used.
    * On the MGS and OSS only, create the file
    `/etc/sysconfig/modules/lnet.modules` to auto-load the lnet kernel
    module on boot:

    ```bash
    #!/bin/sh

    if [ ! -c /dev/lnet ] ; then
    exec /sbin/modprobe lnet >/dev/null 2>&1
    fi
    ```

    * On the MGS/MDT/MDS:
    * Intialise a disk or partition to use for lustre.
    * Create a lustre MDT:
    * `mkfs.lustre --fsname=whatevs --mgs --mdt --index=0 /dev/sdX`
    * Create a mount point and mount the lustre FS:
    * `mkdir /mnt/mdt && mount -t lustre /dev/sdX /mnt/mdt`
    * On the OST/OSS:
    * Intialise a disk or partition to use for lustre.
    * Create a lustre OST:
    * `mkfs.lustre --ost --fsname=whatevs --mgsnode=192.168.N.N@tcp0 --index=0 /dev/sdX`
    * Adjust the `--mgsnode` parameter for the address and protocol
    used for the MGS.
    * Create a mount point and mount the lustre FS:
    * `mkdir /ostoss_mount && mount -t lustre /dev/sdX /ostoss_mount`
    * On the client:
    * Load the lustre kernel module: `modprobe lustre`.
    * Create the file `/etc/sysconfig/modules/lustre.modules` to load
    the lustre module on boot:

    ```bash
    #!/bin/sh

    /sbin/lsmod | /bin/grep lustre 1>/dev/null 2>&1
    if [ ! $? ] ; then
    /sbin/modprobe lustre >/dev/null 2>&1
    fi
    ```

    * Create a mount point: `mkdir /mnt/lustre`.
    * Mount the lustre FS:
    * `mount -t lustre 192.168.N.N@tcp0:/whatevs /mnt/lustre`