- Installing on VMware vSphere
- Appendix
- Appliance Console Command-Line Interface (CLI)
Installing on VMware vSphere
Installing ManageIQ
Installing ManageIQ consists of the following steps:
-
Downloading the appliance for your environment as a virtual machine image template.
-
Setting up a virtual machine based on the appliance.
-
Configuring the ManageIQ appliance.
After you have completed all the procedures in this guide, you will have a working environment on which additional customizations and configurations can be performed.
Obtaining the appliance
Uploading the Appliance on VMware vSphere
Uploading the ManageIQ appliance file onto VMware vSphere systems has the following requirements:
-
44 GB of space on the chosen vSphere datastore.
-
12 GB RAM.
-
4 VCPUs.
-
Administrator access to the vSphere Client.
-
Depending on your infrastructure, allow time for the upload.
Note:
These are the procedural steps as of the time of writing. For more information, consult the “Deploying an OVF or OVA Template” topic in the VMware documentation.
Use the following procedure to upload the ManageIQ appliance OVF template from your local file system using the vSphere Client.
-
In the vSphere Client, select File > Deploy OVF Template. The Deploy OVF Template wizard appears.
-
Specify the source location and click Next.
-
Select Deploy from File to browse your file system for the OVF template, for example
manageiq-vsphere-ivanchuk-4.ova
. -
Select Deploy from URL to specify a URL to an OVF template located on the internet.
-
-
View the OVF Template Details page and click Next.
-
Select the deployment configuration from the drop-down menu and click Next. The option selected typically controls the memory settings, number of CPUs and reservations, and application-level configuration parameters.
-
Select the host or cluster on which you want to deploy the OVF template and click Next.
-
Select the host on which you want to run the appliance, and click Next.
-
Navigate to, and select the resource pool where you want to run the ManageIQ appliance and click Next.
-
Select a datastore to store the deployed ManageIQ appliance, and click Next. Ensure to select a datastore large enough to accommodate the virtual machine and all of its virtual disk files.
-
Select the disk format to store the virtual machine virtual disks, and click Next.
-
Select Thin Provisioned if the storage is allocated on demand as data is written to the virtual disks.
-
Select Thick Provisioned if all storage is immediately allocated.
-
-
For each network specified in the OVF template, select a network by right-clicking the Destination Network column in your infrastructure to set up the network mapping and click Next.
-
The IP Allocation page does not require any configuration changes. Leave the default settings in the IP Allocation page and click Next.
-
Set the user-configurable properties and click Next. The properties to enter depend on the selected IP allocation scheme. For example, you are prompted for IP related information for the deployed virtual machines only in the case of a fixed IP allocation scheme.
-
Review your settings and click Finish.
The progress of the import task appears in the vSphere Client Status panel.
Configuring ManageIQ
After installing ManageIQ and running it for the first time, you must perform some basic configuration. You must complete these steps:
-
Add a disk to the infrastructure that is hosting your appliance.
-
Configure the database.
-
Configure messaging
Configure the appliance by using the internal appliance console.
Accessing the Appliance Console
-
Start the appliance and open a terminal console.
-
Enter the
appliance_console
command. The ManageIQ appliance summary screen displays. -
Press
Enter
to manually configure settings. -
Press the number for the item that you want to change, and press
Enter
. The options for your selection are displayed. -
Follow the prompts to make the changes.
-
Press
Enter
to accept a setting where applicable.
Note: The ManageIQ appliance console automatically logs out after five minutes of inactivity.
Configuring a Database
ManageIQ uses a database to store information about the environment. Before using ManageIQ, configure the database options for it; ManageIQ provides the following two options for database configuration:
Configuring an Internal Database
Before installing an internal database, add a disk to the infrastructure hosting your appliance. See the documentation specific to your infrastructure for instructions for adding a disk. As a storage disk usually cannot be added while a virtual machine is running, Red Hat recommends adding the disk before starting the appliance. ManageIQ only supports installing of an internal VMDB on blank disks; installation will fail if the disks are not blank.
-
Start the appliance and open a terminal console.
-
Enter the
appliance_console
command. The ManageIQ appliance summary screen displays. -
Press Enter to manually configure settings.
-
Select Configure Application from the menu.
-
You are prompted to create or fetch an encryption key.
-
If this is the first ManageIQ appliance, choose Create key.
-
If this is not the first ManageIQ appliance, choose Fetch key from remote machine to fetch the key from the first appliance. For worker and multi-region setups, use this option to copy key from another appliance.
Note: All ManageIQ appliances in a multi-region deployment must use the same key.
-
-
Choose Create Internal Database for the database location.
In the Configure Messaging menu, select Make No messaging changes. If you see
Configuration failed: Internal database require a volume mounted at /var/lib/pgsql. Please add an unpartitioned disk and try again.
message, then ensure to add a second disk for the database per instructions as defined above. -
Choose a disk for the database. This can be either a disk you attached previously, or a partition on the current disk.
Red Hat recommends using a separate disk for the database.If there is an unpartitioned disk attached to the virtual machine, the dialog will show options similar to the following:
1) /dev/vdb: 20480 2) Don't partition the disk
-
Enter 1 to choose
/dev/vdb
for the database location. This option creates a logical volume using this device and mounts the volume to the appliance in a location appropriate for storing the database. The default location is/var/lib/pgsql
, which can be found in the environment variable$APPLIANCE_PG_MOUNT_POINT
. -
Enter 2 to continue without partitioning the disk. A second prompt will confirm this choice. Selecting this option results in using the root filesystem for the data directory (not advised in most cases).
-
-
Enter Y or N for Should this appliance run as a standalone database server?
-
Select Y to configure the appliance as a database-only appliance. As a result, the appliance is configured as a basic PostgreSQL server, without a user interface.
-
Select N to configure the appliance with the full administrative user interface.
-
-
When prompted, enter a unique number to create a new region.
Creating a new region destroys any existing data on the chosen database. -
Create and confirm a password for the database.
ManageIQ then configures the internal database. This takes a few minutes. After the database is created and initialized, you can log in to ManageIQ.
Configuring an External Database
Based on your setup, you need to configure the appliance to use an external PostgreSQL database. For example, you can only have one database in a single region. However, a region can be segmented into multiple zones, such as database zone, user interface zone, and reporting zone, where each zone provides a specific function. The appliances in these zones must be configured to use an external database.
The postgresql.conf
file requires
specific settings for correct operation. For example, it must correctly
reclaim table space, control session timeouts, and format the PostgreSQL
server log for improved system support. It is recommended that external databases use a
postgresql.conf
file based on the standard file used by the
ManageIQ appliance.
Ensure you configure the settings in the postgresql.conf
to suit your
system. For example, customize the shared_buffers
setting according to
the amount of real storage available in the external system hosting the
PostgreSQL instance. In addition, depending on the aggregate number of
appliances that are expected to connect to the PostgreSQL instance, it might be
necessary to alter the max_connections
setting.
Note:
- ManageIQ requires PostgreSQL version 13.
- `postgresql.conf` controls the operation of all databases managed by the PostgreSQL instance, therefore it is not recommended to run other databases on this PostgreSQL instance.
Use the following steps to configure an external PostgreSQL database:
-
Start the appliance and open a terminal console.
-
Enter the
appliance_console
command. The appliance console summary screen is displayed. -
Press Enter to manually configure settings.
-
Select Configure Application from the menu.
-
Choose Create Region in External Database for the database location.
-
Enter the database hostname or IP address when prompted.
-
Enter the database name or leave blank for the default (
vmdb_production
). -
Enter the database username or leave blank for the default (
root
). -
Enter the chosen database user’s password.
-
Confirm the configuration if prompted.
ManageIQ configures an external database.
Configure Messaging
Configuring messaging is required for the appliance setup. It is recommended to configure the broker on the same appliance where your database is configured
Note: You can only have one Kafka broker per region.
-
You can either configure the current appliance as a Kafka broker, or point the appliance to an existing external Kafka broker.
Select the appropriate option either Configure this appliance as a messaging server or Connect to an external messaging system to connect to an external Kafka broker. Fill in the required Message Client Parameters, such as IP address, username and password.
-
Select Proceed.
appliance_console
applies the configuration that you requested. -
Restart
evmserverd
to pick up the changes.
Note: Use your Fully Qualified Domain Name (FQDN) as the messaging hostname rather than localhost
, ensure that a resolvable and reachable non-localhost name entry is present in /etc/hosts
.
Configuring a Worker Appliance
You can use multiple appliances to facilitate horizontal scaling, as well as for dividing up work by roles. Accordingly, configure an appliance to handle work for one or many roles, with workers within the appliance carrying out the duties for which they are configured. You can configure a worker appliance through the terminal. The following steps demonstrate how to join a worker appliance to an appliance that already has a region configured with a database and messaging.
-
Start the appliance and open a terminal console.
-
Enter the
appliance_console
command. The ManageIQ appliance summary screen displays. -
Press Enter to manually configure settings.
-
Select Configure Application from the menu.
-
You are prompted to create or fetch a security key. Since this is not the first ManageIQ appliance, choose 2) Fetch key from remote machine. For worker and multi-region setups, use this option to copy the security key from another appliance.
Note: All ManageIQ appliances in a multi-region deployment must use the same key.
-
Choose Join Region in External Database for the database location.
-
Enter the database hostname or IP address when prompted.
-
Enter the port number or leave blank for the default (
5432
). -
Enter the database name or leave blank for the default (
vmdb_production
). -
Enter the database username or leave blank for the default (
root
). -
Enter the chosen database user’s password.
-
Confirm the configuration if prompted.
-
Choose Connect to an external messaging system to connect to the external kafka broker located on the appliance with the external database
Note: You can only have one kafka broker per region
-
Enter the necessary Message Client Parameters such as the hostname/IP and username/password
-
Confirm the configuration if prompted.
Additional Configuration for Appliances on VMware vSphere
Installing VMware VDDK on appliances
Execution of SmartState Analysis on virtual machines within a VMware environment requires the Virtual Disk Development Kit (VDDK) to be installed.
To install VMware VDDK:
-
Download the required VDDK version (
VMware-vix-disklib-[version].x86_64.tar.gz
) from the VMware website.Note:
-
If you do not already have a login ID to VMware, then you will need to create one. At the time of this writing, the file can be found by navigating to Downloads > vSphere. Select the version from the drop-down list, then click the Drivers & Tools tab. Expand Automation Tools and SDKs, and click Go to Downloads next to the VMware vSphere Virtual Disk Development Kit version. Alternatively, find the file by searching for it using the Search on the VMware site.
-
See VMware documentation for information about their policy concerning backward and forward compatibility for VDDK.
-
-
Download and copy the
VMware-vix-disklib-[version].x86_64.tar.gz
file to the/root
directory of the appliance. -
Start an SSH session into the appliance.
-
Extract and install the
VMware-vix-disklib-[version].x86_64.tar.gz
file using the following commands:# cd /root # tar -xvf VMware-vix-disklib-[version].x86_64.tar.gz # cp vmware-vix-disklib-distrib/ -rf /usr/lib/vmware-vix-disklib/ # ln -s /usr/lib/vmware-vix-disklib/lib64/libvixDiskLib.so /usr/lib/libvixDiskLib.so # ln -s /usr/lib/vmware-vix-disklib/lib64/libvixDiskLib.so.6 /usr/lib/libvixDiskLib.so.6 # ln -s /usr/lib/vmware-vix-disklib/lib64/libvixDiskLib.so.6.7.0 /usr/lib/libvixDiskLib.so.6.7.0
-
Run
ldconfig
to verify that the application can find the newly installed VDDK library.Note:
Use the following command to verify the VDDK files are listed and accessible to the appliance:
# ldconfig -p | grep vix
-
Restart the appliance.
The VDDK is now installed on the appliance. This enables use of the SmartState Analysis server role on the appliance.
Tuning Appliance Performance
By default, the ManageIQ appliance uses the tuned
service and its virtual-guest
profile to optimize performance. In most
cases, this profile provides the best performance for the appliance.
However on some VMware setups (for example, with a large vCenter database), the following additional tuning may further improve appliance performance:
-
When using the
virtual-guest
profile intuned
, edit thevm.swappiness
setting to1
in thetuned.conf
file from the default ofvm.swappiness = 30
. -
Use the
noop
scheduler instead. See the VMware documentation for more details on the best scheduler for your environment. See Setting the Default I/O Scheduler in the Red Hat Enterprise Linux Performance Tuning Guide for instructions on changing the default I/O scheduler.
Logging In After Installing ManageIQ
Once ManageIQ is installed, you can log in and perform administration tasks.
-
Browse to the URL for the login screen. For example, URL should be
https://xx.xx.xx.xx
- Enter the default credentials as listed for the initial login.
- Username: admin
- Password: smartvm
- Click Login.
Changing the Default Login Password
Change your password to ensure more private and secure access to ManageIQ.
-
Browse to the URL for the login screen. For example, URL should be
https://xx.xx.xx.xx
. -
Click Update Password beneath the Username and Password text fields.
-
Enter your current Username and Password in the text fields.
-
Input a new password in the New Password field.
-
Repeat your new password in the Verify Password field.
-
Click Login.
Appendix
Appliance Console Command-Line Interface (CLI)
Currently, the appliance_console_cli
feature is a subset of the full functionality of the appliance_console
itself, and covers functions most likely to be scripted by using the command-line interface (CLI).
-
After starting the ManageIQ appliance, log in with a user name of
root
and the default password ofsmartvm
. This displays the Bash prompt for the root user. -
Enter the
appliance_console_cli
orappliance_console_cli --help
command to see a list of options available with the command, or simply enterappliance_console_cli --option <argument>
directly to use a specific option.
Database Configuration Options
Option | Description |
–region (-r) | region number (create a new region in the database - requires database credentials passed) |
–internal (-i) | internal database (create a database on the current appliance) |
–dbdisk | database disk device path (for configuring an internal database) |
–hostname (-h) | database hostname |
–port | database port (defaults to 5432 ) |
–username (-U) | database username (defaults to root ) |
–password (-p) | database password |
–dbname (-d) | database name (defaults to vmdb_production ) |
Messaging Configuration Options
| | | | —————————– | —————————————————– | | Option | Description | | –message-server-config | configure appliance as a messaging server (boolean) | | –message-server-unconfig | unconfigure appliance as a messaging server (boolean) | | –message-client-config | configure appliance as a messaging server (boolean) | | –message-client-unconfig | unconfigure appliance as a messaging server (boolean) | | –message-keystore-username | messaging keystore username (defaults to admin) | | –message-keystore-password | messaging keystore password | | –message-server-username | messaging server username (defaults to admin) | | –message-server-password | messaging server password | | –message-server-port | messaging server port (defaults to 9093) | | –message-server-use-ipaddr | use ipaddress not hostname for messaging server | | –message-server-host | messaging server hostname or ipaddress | | –message-truststore-path-src | path for messaging server truststore | | –message-ca-cert-path-src | path to a certificate authority for messaging SSL | | –message-persistent-disk | configure a new volume for storing messaging data |
v2_key Options
Option | Description |
–key (-k) | create a new v2_key |
–fetch-key (-K) | fetch the v2_key from the given host |
–force-key (-f) | create or fetch the key even if one exists |
–sshlogin | ssh username for fetching the v2_key (defaults to root ) |
–sshpassword | ssh password for fetching the v2_key |
IPA Server Options
Option | Description |
–host (-H) | set the appliance hostname to the given name |
–ipaserver (-e) | IPA server FQDN |
–ipaprincipal (-n) | IPA server principal (default: admin ) |
–ipapassword (-w) | IPA server password |
–ipadomain (-o) | IPA server domain (optional). Will be based on the appliance domain name if not specified. |
–iparealm (-l) | IPA server realm (optional). Will be based on the domain name of the ipaserver if not specified. |
–uninstall-ipa (-u) | uninstall IPA client |
Note:
-
In order to configure authentication through an IPA server, in addition to using Configure External Authentication (httpd) in the
appliance_console
, external authentication can be optionally configured via theappliance_console_cli
(command-line interface). -
Specifying –host will update the hostname of the appliance. If this step was already performed via the
appliance_console
and the necessary updates that are made to/etc/hosts
if DNS is not properly configured, the –host option can be omitted.
Certificate Options
Option | Description |
–ca (-c) | CA name used for certmonger (default: ipa ) |
–postgres-client-cert (-g) | install certs for postgres client |
–postgres-server-cert | install certs for postgres server |
–http-cert | install certs for http server (to create certs/httpd* values for a unique key) |
–extauth-opts (-x) | external authentication options |
Note: The certificate options augment the functionality of the certmonger
tool and enable creating a certificate signing request (CSR), and specifying certmonger
the directories to store the keys.
Other Options
Option | Description |
–logdisk (-l) | log disk path |
–tmpdisk | initialize the given device for temp storage (volume mounted at /var/www/miq_tmp ) |
–verbose (-v) | print more debugging info |
Example Usage.
$ ssh root@appliance.test.company.com
Set up an all-in-one appliance as a local database and messaging appliance and start the MIQ Server:
# appliance_console_cli --internal --dbdisk /dev/sdb --region 0 --password smartvm --message-server-config --message-keystore-password smartvm --server=start
Join a worker appliance to an existing region:
# appliance_console_cli --fetch-key db.example.com --sshlogin root --sshpassword smartvm --hostname db.example.com --password mydatabasepassword --message-client-config --message-server-host db.example.com --message-server-password smartvm --message-keystore-password smartvm --server start
To create a new database locally on the server by using /dev/sdb
:
# appliance_console_cli --internal --dbdisk /dev/sdb --region 0 --password smartvm
To copy the v2_key from a host some.example.com to local machine:
# appliance_console_cli --fetch-key some.example.com --sshlogin root --sshpassword smartvm
You could combine the two to join a region where db.example.com is the appliance hosting the database:
# appliance_console_cli --fetch-key db.example.com --sshlogin root --sshpassword smartvm --hostname db.example.com --password mydatabasepassword
To configure an appliance as a messaging server:
# appliance_console_cli --message-server-config --message-keystore-password="smartvm"
To configure an appliance as a messaging client:
# appliance_console_cli --message-client-config --message-server-host db.example.com --message-server-password smartvm --message-keystore-password smartvm
To configure external authentication:
# appliance_console_cli --host appliance.test.company.com
--ipaserver ipaserver.test.company.com
--ipadomain test.company.com
--iparealm TEST.COMPANY.COM
--ipaprincipal admin
--ipapassword smartvm1
To uninstall external authentication:
# appliance_console_cli --uninstall-ipa