Giter VIP home page Giter VIP logo

daejeon_lustre's Introduction

Vagrantfiles

Setup IML with Vagrant and VirtualBox

The IML Team typically uses Vagrant and VirtualBox for day to day development tasks. The following guide will provide an overview of how to setup a development environment from scratch.

  1. Clone the Integrated Manager For Lustre repo from Github:

    git clone https://github.com/whamcloud/Vagrantfiles.git
  2. Navigate to the integrated-manager-for-lustre/vagrant directory

MacOS

  1. Install Homebrew

    Homebrew provides a package manager for macos. We will use this to install dependencies in the following steps. See the Homebrew website for installation instructions.

  2. Install Vagrant and VirtualBox

    Using the brew cask command:

    brew cask install vagrant virtualbox
  3. Create the default hostonlyif needed by the cluster:

    VBoxManage hostonlyif create
  4. Bring up the cluster (manager, 2 mds, 2 oss, 2 client nodes)

    vagrant up
  5. You may want the latest packages from upstream repos. If so, run the following provisioner and restart the cluster

    vagrant provision --provision-with=yum-update
    vagrant reload
  6. Install IML. IML Can be installed using either rpm-based / systemd or docker. Install IML by using one of the following provisioning scripts:

    1. Latest RPM from copr-devel

      vagrant provision --provision-with=install-iml-devel
    2. Local RPM Install

      vagrant provision --provision-with=install-iml-local
    3. Local Docker Install

      vagrant provision --provision-with=install-iml-docker-local
    4. RPM Install from a specific repo:

      REPO_URI=<uri> vagrant provision --provision-with=install-iml-repouri
    5. Docker Install from a specific repo:

      REPO_URI=<uri> vagrant provision --provision-with=install-iml-docker-repouri

    * Note there are other version specific provisioners available as well. See the Vagrantfile for these options.

  7. Setup the clients

    vagrant provision --provision-with=install-lustre-client,configure-lustre-client-network
  8. Mount the clients:

    • ldiskfs or lvm based

      vagrant provision --provision-with=mount-lustre-client
    • Second ldiskfs filesystem

      vagrant provision --provision-with=mount-lustre-client-fs2
    • ZFS backed filesystem

      vagrant provision --provision-with=mount-lustre-client-zfs

At this point you should be able to access the IML GUI on your host at https://localhost:8443

From here you can decide what type of setup to run.

  • Monitored Ldiskfs:

    vagrant provision --provision-with=install-ldiskfs-no-iml,configure-lustre-network,create-ldiskfs-fs,create-ldiskfs-fs2,mount-ldiskfs-fs,mount-ldiskfs-fs2
  • Monitored ZFS:

    vagrant provision --provision-with=install-zfs-no-iml,configure-lustre-network,create-pools,zfs-params,create-zfs-fs,mount-zfs-fs
  • Managed Mode:

    1. vagrant provision --provision-with=deploy-managed-hosts adm
    2. https://whamcloud.github.io/Online-Help/docs/Contributor_Docs/cd_Managed_ZFS.html

  • Monitored Ldiskfs with LVM Metadata:

     vagrant provision --provision-with=install-ldiskfs-no-iml,configure-lustre-network,create-ldiskfs-lvm-fs,mount-ldiskfs-lvm-fs
  • Monitored Ldiskfs with LVM Metadata and HA:

     vagrant provision --provision-with=install-ldiskfs-no-iml,configure-lustre-network,create-ldiskfs-lvm-fs,ha-ldiskfs-lvm-fs-prep
     VBOX_PASSWD=<ROOT_PW_HERE>
     vagrant provision --provision-with=ha-ldiskfs-lvm-fs-setup
  1. Setup and mount the clients

    vagrant provision --provision-with=install-lustre-client,configure-lustre-client-network,mount-lustre-client

Windows

This is tested on Windows 10 1909.

Ensure your Windows user home folder doesn't contain non-ASCII chracters. Common case would be when user name you entered when configuring Windows for first use, was Cyrillic. Windows and apps still don't properly support it, and there are issues with encoding in Ruby, Vagrant and shell scripts in case your home is something like C:\Users\Михаил.

  1. Install Chocolatey. If it fails with errors suggesting update of .NET Framework, go to Windows Update and get all the latest updates.

  2. Install Vagrant and VirtualBox using Chocolatey:

choco install vagrant
choco upgrade virtualbox --version=6.0.6

Warning: there's an unresolved bug which causes guest CentOS 7 to kernel panic in VirtualBox 6.0.14 on modern Windows 10. Hence the requirement of VirtualBox 6.0.6. Details.

Further notes: VirtualBox Extensions 6.0.6 can't be built for CentOS 7. Details. It's fixed even further upstream (maybe 6.0.14 or later). This means you won't be able to use CentOS in VirtualBox as a development environment (screen resolution, shared folders and other features don't work). Workaround is to use VMWare Player, which is also available on Chocolatey.

  1. Bring up the cluster with
vagrant up

and continue as with MacOS.

daejeon_lustre's People

Contributors

rohguentak76 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.