Forked from joshuar/Three-Node-LustreFS-Cluster-Quickstart.md
Last active
December 18, 2024 06:12
-
-
Save dleske/743f9dafc212b7bb0edce370e961b99e to your computer and use it in GitHub Desktop.
Revisions
-
dleske revised this gist
Dec 22, 2017 . 1 changed file with 5 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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). ## 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> -
Drew Leske revised this gist
Dec 22, 2017 . No changes.There are no files selected for viewing
-
Drew Leske revised this gist
Dec 22, 2017 . 1 changed file with 22 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,15 +1,34 @@ 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). # 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 -
dleske revised this gist
Dec 21, 2017 . No changes.There are no files selected for viewing
-
Drew Leske revised this gist
Dec 21, 2017 . 1 changed file with 34 additions and 23 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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 (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` * 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/el7/server/ gpgcheck=0 [e2fsprogs] name=CentOS-$releasever - Ldiskfs 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/el7/client/ gpgcheck=0 EOF # upgrade e2fsprogs sudo yum upgrade -y e2fsprogs # 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: ```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`. -
Drew Leske renamed this gist
Dec 21, 2017 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
joshuar revised this gist
Oct 22, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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 install epel-release` * Enable ZFS on Linux repo: * `yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm` * Enable lustre repos: -
joshuar renamed this gist
Oct 21, 2014 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
joshuar renamed this gist
Oct 21, 2014 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
joshuar revised this gist
Oct 13, 2014 . No changes.There are no files selected for viewing
-
joshuar created this gist
Aug 26, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal 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`