-
Notifications
You must be signed in to change notification settings - Fork 0
Frontend Installation
Stacki requires a single server that will host all the software and services used to build out other servers. We call this server the frontend, and the first step to running Stacki is to build a frontend.
The process is fairly simple and looks similar to a standard Linux build with the addition of a wizard to capture site-specific networking information.
A frontend has the following hardware requirements
Resource | Minimum | Recommended |
---|---|---|
System Memory | 8 GB | 16 GB |
Network Interfaces | 1 | 1 |
Disk Capacity | 100 GB | 200 GB |
CD/DVD Device | 1 | 1 |
BIOS boot order
- CD/DVD Device
- Hard Disk
In the simplest configuration, Stacki assumes a single network for all servers. Stacki refers to the single network as the private network, and often this will be an isolated network. This default setup in shown below.
The private network cannot have a DHCP server that would answer a DHCP request from a backend server. The frontend provides DHCP services on the private network, and any additional DHCP server would cause conflicts on the network.
Stacki 1.x requires a public and private network
The Stacki frontend runs on top of a CentOS 6.x or 7.x base. You can either build a new frontend from bare metal with Stacki and the required CentOS bits (which we call "Stackios") or it can be added on top of an existing EnterpriseLinux (CentOS, RedHat, etc) server. If you wish to install Stacki on top of an existing system, skip to the section labeled existing.
It is of course, recommended that you use the newest release when testing or building new clusters, but 6.x may be required for some environments.
Download the Stackios ISO file.
- Stackios 4.0 (based on CentOS 6.x) is available here
- Stackios 4.0 (based on CentOS 7.x) is available here
Burn the file to a DVD or mount it on the virtual media for the server to be installed. Installing a frontend will completely erase and reformat the hard disks in the server. So use caution when deciding which server to designate as your frontend.
Boot the server with the DVD (or virtual media mounted) and the following screen will appear after the BIOS is initialized:
If you don't see the above screen, go back to the requirements section and make sure the DVD is the first entry in the boot order.
You can hit enter or just wait a few seconds and the Stacki frontend installation will begin, and you will soon see the Installation Wizard.
A Stacki frontend can be installed on top of an existing Red Hat based server. The server must be running the x86_64 version of CentOS or RHEL version 6.x or 7.x. IMPORTANT: During the Stacki installation it is possible that Stacki will overwrite certain system files. Please don't install onto an existing production server without prior testing.
To perform this installation, log into the frontend and download two files:
-
Stacki ISO. Download the Stacki ISO and put it on your server you want to transform into a Stacki frontend.
-
stacki-fab RPM. Download the stacki-fab RPM and put it on the server you want to transform into a Stacki frontend.
Install the stacki-fab
RPM:
# rpm -i stacki-fab-4.x_*-all.x86_64.rpm
Execute frontend-install.py:
# /opt/stack/bin/frontend-install.py --stacki-iso=stacki-4.0_20170414_c4aff2a-7.x.x86_64.disk1.iso
The above step will run several commands and will eventually display the Installation Wizard.
The first screen will appear and you will be prompted to enter your timezone:
The network configuration screen allows you to set up the network that will be used by the frontend to install backend hosts.
- Fully Qualified Host Name - Input the FQDN for the frontend.
- Choose from the network Devices to select the frontend's network interface.
- IP address of the interface.
- Netmask.
- Gateway.
- DNS Servers - More than one DNS Server can be entered as a comma-separated list (i.e., 8.8.8.8, 4.2.2.2, 8.8.4.4).
Click Continue to configure the network interface.
Enter the password for the root account on the frontend.
If Automated mode is selected, the installer will repartition and reformat the first discovered hard drive that is connected to the frontend. All other drives connected to the frontend will be left untouched.
Partition Name | Size |
---|---|
/ | 16GB |
/var | 16GB |
swap | 1GB |
/export (symbolically linked to /state/partition1) | remainder of root disk |
When using automatic partitioning, the installer repartitions and reformats the first hard drive (e.g. sda) that the installer discovers. All previous data on this drive will be erased. All other drives will be left untouched. If you are unsure about how the drives will be discovered in a multi-disk frontend, select Manual mode.
In Manual mode, the installer brings up a partition setup screen after the wizard exits. In this mode, specify at least 16 GB for the root partition and a separate /export partition. You should add a swap partition, and /var if you have made / only 16GB.
Choose the Pallets you want to install. Booting from a DVD, pallets should automatically load onto the list for you to choose.
Select stacki and os pallets to install.
Review the installation parameters and click Continue to proceed.
If this was a new installation, the frontend will now format its filesystems and copy the pallets from the DVD onto its hard disk. Next, it will install all the packages and then run post configuration scripts. When this completes, the frontend will reboot. Your Stacki frontend is now ready to install backend servers.
If this was an existing installation, after the frontend-install.py program completes, you must reboot the frontend:
# reboot
After the server reboots, you need to add an OS pallet. This OS pallet will be used as the base OS to install onto the backend nodes. This will be either the CentOS installation DVD(s) or the Red Hat installation DVD.
For example, to add the CentOS 7.3 DVD to the Stacki frontend, first download the CentOS 7 Everything ISO (CentOS-7-x86_64-Everything-1611.iso) to the frontend then execute:
# stack add pallet CentOS-7-x86_64-Everything-1611.iso
Then enable the CentOS pallet (this makes the CentOS repository on the Stacki frontend available for backend installs):
# stack enable pallet CentOS
# stack list pallet
Should produce output similar to:
NAME VERSION RELEASE ARCH OS BOXES
stacki: 4.0_20170414_c4aff2a 7.x x86_64 redhat default
CentOS: 7 7.x x86_64 redhat default
Checkout our Google Group or our Slack Team for any support or other questions.
Want to contribute to this Wiki? Fork it and send a pull request.