Git Product home page Git Product logo

centos8hpc's Introduction

centos8hpc

This project is collection of bash scripts and config files to automatically deploy CentOS8-based HPC with PXE-install and kickstart files. Supports both BIOS-based and EFI PXE scenarios. Project's webpage is here: https://centoshpc.wordpress.com/

Deployment steps:

install the master node (a.k.a. server, head node) using default CenOS Live or Minimal ISO, boot it, make sure the network is up, proceed further from its terminal. Do not add any users during initial installation of the head node (only root). You will add other users after deployment of the HPC (using ./scripts/newuser).

get the updated version of this repository

2.1 From https://github.com/aa3025/centos8hpc/

2.2 Uncompress the archive or clone our project's git tree "git clone https://github.com/aa3025/centos8hpc.git"

2.3 If you failed to do above steps do not proceed further.

Please do not e-mail me asking for support. These scripts are not guaranteed to work and are provided for your self-development. However if you are interested, you can join this project and contribute to its development on GitHub.

cd centos7hpc

Your installed master node must have the external network adapter configured, up and running, e.g. with NetworkManager or any other way.

The 2nd network adapter must be connected to the internal network of HPC (i.e. via switch or hub), where all the "compute" nodes will be booting up from. All compute nodes must be connected to the same hub with their (not necessarily) 1st network adapter and configured to boot from LAN (PXE boot).

Download CentOS8 install DVD and run "./install.sh CentOS8xxxx.iso" from this folder.

You will be prompted in a minute to enter internal and external LAN interface names. This is the only input required form user.

Once install.sh finishes, go and power up all your compute nodes (its better to do it one-by-one in an orderly fasion, their hostnames will be based on their DHCP addresses (101-200), so if you want any kind of "system" in their naming make sure they boot with interval, so that previous one already obtained IP before the next one boots). They must be BIOS-configured to boot from network (PXE boot).

The nodes will install, post-configure themselves, and each will modify the master's dhcpd.conf, /etc/hosts file, /etc/pdsh/machines file and add their grub.cfg-xxx to /lib/var/tftpboot on master, so that on the next boot they don't go into PXE install again.

Once PXE-install finishes, the nodes will reboot themselves and will mount /home and /share from server via NFS. If you want to share pre-existing /home folder with user files inside, its better to call it some different name during this installation, and when everyithing finishes, rename it to /home and restart nfs server.

Check if HPC is deployed by doing e.g. "pdsh hostname" -> the nodes must report back their hostnames. Its a good idea to restart dhcpd on master for it to swallow /etc/dhcp/dhcpd.conf the modified by nodes. If you want to repeat install of a node already deployed previosly, you just need to delete its /tftpboot/grub.cfg-01-xx-xx-xx-xx-xx-xx file and its records from /etc/pdsh/machines and /etc/dhcp/dhcpd.conf and restart it without re-running ./install.sh ! Server configuration is permanent, so it still must be able to serve new deployments after reboot (perhaps you want to check if centos iso file is still mounted after reboot of the master node and mount it if it isn't in /var/www/html/centos).

Then you can run optional "./postinstall_from_server.sh" script to add additional rpm's on the master and compute nodes and sync "/etc/hosts" file between the nodes".

New users can be deployed with the script (cd ./configs) './newuser username "real user name (comments)". Script will create a local user and group on the master and nodes, create ssh-keys for paswordless connection to the nodes.

You can use pdsh to install missing packages on the nodes in parallel or mass-copying files etc.

addedd UEFI PXE boot support, September, 2018. #centos7hpc

Alex Pedcenko, October 2019, aa3025(at)live.co.uk , http://centoshpc.wordpress.com

centos8hpc's People

Contributors

aa3025 avatar

Stargazers

Gonghai avatar  avatar

Watchers

James Cloos avatar  avatar

Forkers

sirutell

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.