|
|
(53 intermediate revisions by 5 users not shown) |
Line 1: |
Line 1: |
| + | |
| + | |
| + | See the [https://docs.starlingx.io/deploy_install_guides/index.html StarlingX Deploy and Installation Guide] for information on installing StarlingX. This wiki page has been deprecated. |
| + | |
| + | <!-- |
| + | |
| == Intro == | | == Intro == |
| | | |
− | This section contains information about the StarlingX installation in a virtualized environment using Libvirt/QEMU.
| + | 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. |
| + | <br> |
| + | StarlingX installed in virtual environments has two options: |
| + | * [[Installation_libvirt_qemu|Libvirt/QEMU]] |
| + | * VirtualBox |
| | | |
− | ==Software Configurations== | + | == Requirements == |
| | | |
− | * All In One
| + | Different use cases require different configurations. |
− | * Standard Controller Storage
| |
− | * Duplex
| |
− | * Standard Dedicated Storage
| |
| | | |
− | ==Standard Controller Storage== | + | === Bare Metal === |
| | | |
− | ==Requirements==
| + | The minimum requirements for the physical servers where StarlingX might be deployed, include: |
| | | |
− | Different use cases require different configurations. For general StarlingX deployment, the recommended minimum requirements 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. |
| + | <br> |
| + | The recommended minimum requirements for the physical servers are described later in each StarlingX Deployment Options guide. |
| | | |
− | ===Hardware Requirements=== | + | === 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: | | A workstation computer with: |
| | | |
− | * Processor: x86_64 only supported architecture with hardware virtualization extensions | + | * 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 | | * Memory: At least 32GB RAM |
| * Hard Disk: 500GB HDD | | * Hard Disk: 500GB HDD |
| * Network: Two network adapters with active Internet connection | | * Network: Two network adapters with active Internet connection |
| | | |
− | ===Software Requirements=== | + | ==== Software Requirements ==== |
| | | |
| A workstation computer with: | | A workstation computer with: |
Line 35: |
Line 79: |
| * Libvirt Library | | * Libvirt Library |
| * QEMU Full System Emulation Binaries | | * QEMU Full System Emulation Binaries |
− | * <stx-deployment> project codenamed as tic_vb | + | * <stx-deployment> project |
| * StarlingX ISO Image | | * StarlingX ISO Image |
| | | |
− | ==Deployment Environment Setup== | + | ==== Deployment Environment Setup ==== |
− | | |
− | This section describes how to set up a StarlingX system in a workstation computer. After completing these steps, you will be able to deploy and run your StarlingX system on the following Linux distribution:
| |
| | | |
− | * Ubuntu 16.04 LTS 64-bit
| + | 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=== | + | ===== Updating Your Operating System ===== |
| | | |
| Before proceeding with the build, ensure your OS is up to date. You’ll first need to update the local database list of available packages: | | Before proceeding with the build, ensure your OS is up to date. You’ll first need to update the local database list of available packages: |
Line 52: |
Line 94: |
| </nowiki></pre> | | </nowiki></pre> |
| | | |
− | ===Installing Requirements and Dependencies=== | + | ===== Install stx-tools project ===== |
− | | |
− | Install the required packages in an Ubuntu host system with: | |
− | | |
− | <pre><nowiki>
| |
− | $ sudo apt-get install git virt-manager libvirt-bin qemu-system
| |
− | </nowiki></pre>
| |
− | | |
− | ===Installing Deployment Tool===
| |
| | | |
− | Clone the <stx-deployment> project. Usually you’ll want to clone it under your user’s home directory. | + | Clone the stx-tools project. Usually you’ll want to clone it under your user’s home directory. |
| | | |
| <pre><nowiki> | | <pre><nowiki> |
| $ cd $HOME | | $ cd $HOME |
− | $ git clone <stx-deployment> | + | $ git clone git://git.openstack.org/openstack/stx-tools |
| </nowiki></pre> | | </nowiki></pre> |
| | | |
− | ===Getting the StarlingX ISO Image=== | + | ===== Installing Requirements and Dependencies ===== |
− | | |
− | 1. Get the StarlingX ISO Image from:
| |
| | | |
| + | Navigate to the stx-tools installation libvirt directory: |
| <pre><nowiki> | | <pre><nowiki> |
− | Tbd
| + | $ cd $HOME/stx-tools/deployment/libvirt/ |
| </nowiki></pre> | | </nowiki></pre> |
| | | |
− | 2. Copy the StarlingX ISO Image to the ''<stx-deployment>'' libvirt project directory naming it as bootimage.iso:
| + | Install the required packages: |
− | | |
− | <pre><nowiki>
| |
− | $ cp <starlingx iso image> $HOME/tic_vb/libvirt/bootimage.iso
| |
− | </nowiki></pre>
| |
− | | |
− | ==Controller-0 Host Installation==
| |
− | | |
− | Installing controller-0 involves initializing a host with software and then applying a configuration from the command line. The configured host becomes Controller-0. <br>
| |
− | Procedure:
| |
− | | |
− | # Using an ISO image of StarlingX, initialize the controller host via Libvirt/QEMU.
| |
− | # Configure the controller using the config_controller script.
| |
− | | |
− | ===Initializing Controller-0===
| |
− | This section describes how to initialize StarlingX in host Controller-0. Except where noted, all the commands must be executed from a console of the Workstation.
| |
− | | |
− | Navigate to the ''<stx-deployment>'' libvirt project directory:
| |
− | <pre><nowiki>
| |
− | $ cd <stx-deployment>/libvirt
| |
− | </nowiki></pre>
| |
− | | |
− | Run the install packages script:
| |
| <pre><nowiki> | | <pre><nowiki> |
| $ bash install_packages.sh | | $ bash install_packages.sh |
| </nowiki></pre> | | </nowiki></pre> |
| | | |
− | Run the libvirt qemu setup script:
| + | ===== Disabling Firewall ===== |
− | <pre><nowiki>
| |
− | $ bash setup_tic.sh
| |
− | </nowiki></pre>
| |
| | | |
− | From the KVM/VirtManager window, power on the host to be configured as Controller-0 and show the virtual machine console and details:
| + | Unload firewall and disable firewall on boot: |
− | * When the installer is loaded and the installer welcome screen appears in the Controller-0 host, select the type of installation "Standard Controller Configuration".
| |
− | * Select the "Graphical Console" as the console to use during installation.
| |
− | * Select "Standard Security Boot Profile" as the Security Profile.
| |
− | * Monitor the initialization until it is complete. When initialization is complete, a reboot is initiated on the Controller-0 host, briefly displays a GNU GRUB screen, and then boots automatically into the StarlingX image.
| |
| | | |
− | Log into Controller-0 as user wrsroot, with password wrsroot. The first time you log in as wrsroot, you are required to change your password. Enter the current password (wrsroot):
| |
| <pre><nowiki> | | <pre><nowiki> |
− | Changing password for wrsroot.
| + | $ sudo ufw disable |
− | (current) UNIX Password:
| + | Firewall stopped and disabled on system startup |
| + | $ sudo ufw status |
| + | Status: inactive |
| </nowiki></pre> | | </nowiki></pre> |
| | | |
− | Enter a new password for the wrsroot account:
| + | == Getting the StarlingX ISO Image == |
− | <pre><nowiki>
| |
− | New password:
| |
− | </nowiki></pre>
| |
| | | |
− | Enter the new password again to confirm it:
| + | Follow the instructions from [[StarlingX/Developer_Guide]] to build a StarlingX ISO image. |
− | <pre><nowiki>
| |
− | Retype new password:
| |
− | </nowiki></pre>
| |
| | | |
− | Controller-0 is initialized with StarlingX, and is ready for configuration.
| + | === Bare Metal === |
| | | |
− | ===Configuring Controller-0===
| + | A bootable USB flash drive containing StarlingX ISO image. |
| | | |
− | This section describes how to perform the Controller-0 configuration interactively. Except where noted, all the commands must be executed from the console of the active controller (here assumed to be controller-0.
| + | === Virtual Environment === |
| | | |
− | When run interactively, the config_controller script presents a series of prompts for initial configuration of StarlingX. The script is used to configure the first controller in the StarlingX cluster as controller-0. The prompts are grouped by configuration area. To start the script interactively, use the following command with no parameters and accept all the default values:
| + | Copy the StarlingX ISO Image to the stx-tools deployment libvirt project directory: |
| | | |
| <pre><nowiki> | | <pre><nowiki> |
− | $ sudo config_controller | + | $ cp <starlingx iso image> $HOME/stx-tools/deployment/libvirt/ |
| </nowiki></pre> | | </nowiki></pre> |
| | | |
− | The output when config_controller script is run interactively is:
| + | == Deployment Options == |
− | | |
− | <pre><nowiki>
| |
− | WARNING: Command should only be run from the console. Continuing with this
| |
− | terminal may cause loss of connectivity and configuration failure
| |
− | ...
| |
− | Apply the above configuration? [y/n]: y
| |
− | | |
− | Applying configuration (this will take several minutes):
| |
− | | |
− | 01/08: Creating bootstrap configuration ... DONE
| |
− | 02/08: Applying bootstrap manifest ... DONE
| |
− | 03/08: Persisting local configuration ... DONE
| |
− | 04/08: Populating initial system inventory ... DONE
| |
− | 05:08: Creating system configuration ... DONE
| |
− | 06:08: Applying controller manifest ... DONE
| |
− | 07:08: Finalize controller configuration ... DONE
| |
− | 08:08: Waiting for service activation ... DONE
| |
| | | |
− | Configuration was applied
| + | * Standard Controller |
| + | ** [[StarlingX/Installation Guide/Dedicated Storage|StarlingX Cloud with Dedicated Storage]] |
| + | ** [[StarlingX/Installation Guide/Controller Storage|StarlingX Cloud with Controller Storage]] |
| + | * All-in-one |
| + | ** [[StarlingX/Installation Guide/Duplex|StarlingX Cloud Duplex]] |
| + | ** [[StarlingX/Installation Guide/Simplex|StarlingX Cloud Simplex]] |
| | | |
− | Please complete any out of service comissioning steps with system commands and unlock controller to proceed.
| + | --> |
− | </nowiki></pre>
| |
− | | |
− | ==Controller-0 and System Provision==
| |
− | | |
− | ===Configuring Provider Networks at Installation===
| |
− | | |
− | You must set up provider networks at installation so that you can attach data interfaces and unlock the compute nodes.
| |
− | | |
− | On Controller-0, acquire Keystone administrative privileges:
| |
− | | |
− | <pre><nowiki>
| |
− | controller-0:~$ source /etc/nova/openrc
| |
− | </nowiki></pre>
| |
− | | |
− | Set up one provider network of the vlan type, named providernet-a:
| |
− | | |
− | <pre><nowiki>
| |
− | [wrsroot@controller-0 ~(keystone_admin)]$ neutron providernet-create providernet-a --type=vlan
| |
− | [wrsroot@controller-0 ~(keystone_admin)]$ neutron providernet-range-create --name providernet-a-range1 --range 100-400 providernet-a
| |
− | </nowiki></pre>
| |
− | | |
− | ===Unlocking Controller-0===
| |
− | | |
− | You must unlock controller-0 so that you can use it to install the remaining hosts. On Controller-0, acquire Keystone administrative privileges:
| |
− | | |
− | <pre><nowiki>
| |
− | controller-0:~$ source /etc/nova/openrc
| |
− | </nowiki></pre>
| |
− | | |
− | Use the system host-unlock command:
| |
− | | |
− | <pre><nowiki>
| |
− | [wrsroot@controller-0 ~(keystone_admin)]$ system host-unlock controller-0
| |
− | </nowiki></pre>
| |
− | | |
− | The host is rebooted. During the reboot, the command line is unavailable, and any ssh connections are dropped. To monitor the progress of the reboot, use the controller-0 console.
| |
− | | |
− | ===Verifying the Controller-0 Configuration===
| |
− | | |
− | On Controller-0, acquire Keystone administrative privileges:
| |
− | | |
− | <pre><nowiki>
| |
− | controller-0:~$ source /etc/nova/openrc
| |
− | </nowiki></pre>
| |
− | | |
− | Verify that the Titanium Cloud controller services are running:
| |
− | | |
− | <pre><nowiki>
| |
− | [wrsroot@controller-0 ~(keystone_admin)]$ nova service-list
| |
− | [wrsroot@controller-0 ~(keystone_admin)]$ nova service-list
| |
− | +--------------------------------------+------------------+--------------+----------+---------+-------+----------------------------+-----------------+-------------+
| |
− | | Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | Forced down |
| |
− | +--------------------------------------+------------------+--------------+----------+---------+-------+----------------------------+-----------------+-------------+
| |
− | | d7cdfaf0-9394-4053-b752-d609c837b729 | nova-conductor | controller-0 | internal | enabled | up | 2018-06-20T05:44:33.516556 | - | False |
| |
− | | 692c2659-7188-42ec-9ad1-c88ac3020dc6 | nova-scheduler | controller-0 | internal | enabled | up | 2018-06-20T05:44:33.828407 | - | False |
| |
− | | 5c7c9aad-696f-4dd1-a497-464bdd525e0c | nova-consoleauth | controller-0 | internal | enabled | up | 2018-06-20T05:44:33.894090 | - | False |
| |
− | +--------------------------------------+------------------+--------------+----------+---------+-------+----------------------------+-----------------+-------------+
| |
− | </nowiki></pre>
| |
− | | |
− | Verify that controller-0 is unlocked, enabled, and available:
| |
− | | |
− | <pre><nowiki>
| |
− | [wrsroot@controller-0 ~(keystone_admin)]$ system host-list
| |
− | +----+--------------+-------------+----------------+-------------+--------------+
| |
− | | id | hostname | personality | administrative | operational | availability |
| |
− | +----+--------------+-------------+----------------+-------------+--------------+
| |
− | | 1 | controller-0 | controller | unlocked | enabled | available |
| |
− | +----+--------------+-------------+----------------+-------------+--------------+
| |
− | </nowiki></pre>
| |