docs/doc/source/installation_guide/current/index.rst
Scott Rifenbark 5b8be82112 Inst and dev guide versioning: current/latest
These changes implement the versioning scheme for
Installation and Developer Guides for StarlingX.
These guides are release-specific.  Consequently, we
need to make archived, current, and latest versions
of the manuals available as StarlingX releases evolve.

We implemented a two-fold directory structure to keep
the "current" and "latest" versions of the manuals in
the forefront.  "Current" indicates the newest,
officially released version.  "Latest" indicates the
current+1 release (i.e. the release under development).

Aside from "current" and "latest", the list of archived
versions will grow by one with each release.

Changes involved the following:

* Establishing "current" and "latest" directories
  from what existed.
* Updating of intro material and links to be appropriate
  for either "current" or "latest".
* Update of the writer instructions for adding a new
  release of the install and developer manuals.
  material to reflect the folder's new name.
*

Change-Id: I37eee44c31202ac391deebec3348f1e305dbd5ab
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
2019-03-15 15:55:09 -06:00

7.5 KiB
Raw Blame History

Installation guide stx.2018.10

This is the installation guide for the "current" StarlingX software (i.e. the most recently released version). If this is not the installation guide you want to use, see the available installation guides </installation_guide/index>.

Introduction

StarlingX may be installed in:

  • Bare metal: Real deployments of StarlingX are only supported on physical servers.
  • Virtual environment: It should only be used for evaluation or development purposes.

StarlingX installed in virtual environments has two options:

  • Libvirt/QEMU </installation_guide/current/installation_libvirt_qemu>
  • VirtualBox

Requirements

Different use cases require different configurations.

Bare metal

The minimum requirements for the physical servers where StarlingX might be deployed, include:

  • Controller hosts
    • Minimum processor is:
      • Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket
    • Minimum memory: 64 GB
    • Hard drives:
      • Primary hard drive, minimum 500 GB for OS and system databases.
      • Secondary hard drive, minimum 500 GB for persistent VM storage.
    • 2 physical Ethernet interfaces: OAM and MGMT network.
    • USB boot support.
    • PXE boot support.
  • Storage hosts
    • Minimum processor is:
      • Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket.
    • Minimum memory: 64 GB.
    • Hard drives:
      • Primary hard drive, minimum 500 GB for OS.
      • 1 or more additional hard drives for CEPH OSD storage, and
      • Optionally 1 or more SSD or NVMe drives for CEPH journals.
    • 1 physical Ethernet interface: MGMT network
    • PXE boot support.
  • Compute hosts
    • Minimum processor is:
      • Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket.
    • Minimum memory: 32 GB.
    • Hard drives:
      • Primary hard drive, minimum 500 GB for OS.
      • 1 or more additional hard drives for ephemeral VM storage.
    • 2 or more physical Ethernet interfaces: MGMT network and 1 or more provider networks.
    • PXE boot support.
  • All-In-One Simplex or Duplex, controller + compute hosts
    • Minimum processor is:

      • Typical hardware form factor:
        • Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket
      • Low cost / low power hardware form factor
        • Single-CPU Intel Xeon D-15xx family, 8 cores
    • Minimum memory: 64 GB.

    • Hard drives:

      • Primary hard drive, minimum 500 GB SDD or NVMe.
      • 0 or more 500 GB disks (min. 10K RPM).
    • Network ports:

      NOTE: Duplex and Simplex configurations require one or more data ports. The Duplex configuration requires a management port.

      • Management: 10GE (Duplex only)
      • OAM: 10GE
      • Data: n x 10GE

The recommended minimum requirements for the physical servers are described later in each StarlingX deployment guide.

NVMe drive as boot drive

To use a Non-Volatile Memory Express (NVMe) drive as the boot drive for any of your nodes, you must configure your host and adjust kernel parameters during installation:

  • Configure the host to be in UEFI mode.

  • Edit the kernel boot parameter. After you are presented with the StarlingX ISO boot options and after you have selected the preferred installation option (e.g. Standard Configuration / All-in-One Controller Configuration), press the TAB key to edit the kernel boot parameters. Modify the boot_device and rootfs_device from the default sda so that it is the correct device name for the NVMe drive (e.g. "nvme0n1").

    vmlinuz rootwait console=tty0 inst.text inst.stage2=hd:LABEL=oe_iso_boot
    inst.ks=hd:LABEL=oe_iso_boot:/smallsystem_ks.cfg boot_device=nvme0n1
    rootfs_device=nvme0n1 biosdevname=0 usbcore.autosuspend=-1 inst.gpt
    security_profile=standard user_namespace.enable=1 initrd=initrd.img

Virtual environment

The recommended minimum requirements for the workstation, hosting the virtual machine(s) where StarlingX will be deployed, include:

Hardware requirements

A workstation computer with:

  • Processor: x86_64 only supported architecture with BIOS enabled hardware virtualization extensions
  • Cores: 8 (4 with careful monitoring of cpu load)
  • Memory: At least 32GB RAM
  • Hard Disk: 500GB HDD
  • Network: Two network adapters with active Internet connection

Software requirements

A workstation computer with:

  • Operating System: Freshly installed Ubuntu 16.04 LTS 64-bit
  • Proxy settings configured (if applies)
  • Git
  • KVM/VirtManager
  • Libvirt library
  • QEMU full-system emulation binaries
  • stx-tools project
  • StarlingX ISO image

Deployment environment setup

This section describes how to set up the workstation computer which will host the virtual machine(s) where StarlingX will be deployed.

Updating your operating system

Before proceeding with the build, ensure your OS is up to date. Youll first need to update the local database list of available packages:

$ sudo apt-get update
Install stx-tools project

Clone the stx-tools project. Usually youll want to clone it under your users home directory.

$ cd $HOME
$ git clone https://git.starlingx.io/stx-tools
Installing requirements and dependencies

Navigate to the stx-tools installation libvirt directory:

$ cd $HOME/stx-tools/deployment/libvirt/

Install the required packages:

$ bash install_packages.sh
Disabling firewall

Unload firewall and disable firewall on boot:

$ sudo ufw disable
Firewall stopped and disabled on system startup
$ sudo ufw status
Status: inactive

Getting the StarlingX ISO image

Follow the instructions from the /developer_guide/current/index to build a StarlingX ISO image.

Bare metal

A bootable USB flash drive containing StarlingX ISO image.

Virtual environment

Copy the StarlingX ISO Image to the stx-tools deployment libvirt project directory:

$ cp <starlingx iso image> $HOME/stx-tools/deployment/libvirt/

Deployment options

  • Standard controller
    • StarlingX Cloud with Dedicated Storage </installation_guide/current/dedicated_storage>
    • StarlingX Cloud with Controller Storage </installation_guide/current/controller_storage>
  • All-in-one
    • StarlingX Cloud Duplex </installation_guide/current/duplex>
    • StarlingX Cloud Simplex </installation_guide/current/simplex>

installation_libvirt_qemu controller_storage dedicated_storage duplex simplex