X

How To Install CloudStack Management Server v4.14 On Ubuntu 18.04

In this tutorial is how to install Cloud Stack management server v4.14 on Ubuntu 18.04 server. The Apache Cloud Stack is an open source cloud computing system. I have many guide for using Cloud Stack.

Private Cloud Setup Step By Step Using Apache Cloud Stack

How To Upgrade Zabbix Server 4.0 To 4.4 On CentOS 8

My server info :
IP address : 10.66.11.25
Operating System : Ubuntu 18.04 LTS
RAM : 2 GB
Disk : 50 GB
vCPU : 2
CPU op-mode(s) : 64-bit
Service : Apache Cloud Stack v4.14
Database : Mysql 5.7
Java : 11 jdk

Step #01 : Configure host name and static ip address with server update.

root@cloud:~# lsb_release -a
root@cloud:~# ip r
root@cloud:~# apt update && apt upgrade -y
root@cloud:~# cat /etc/hosts
127.0.0.1 localhost
10.66.11.25     cloud.technologyrss.local       cloud

Fix Ubuntu 18.04 update and upgrade problem.

Check hostname

root@cloud:~# cat /etc/hostname
cloud

Setup static ip address like below this.

root@cloud:~# cat /etc/netplan/50-cloud-init.yaml
network:
    ethernets:
        eth1:
            dhcp4: false
            addresses: [10.66.11.25/16]
            gateway4: 10.66.11.2
            nameservers:
                    addresses: [8.8.8.8,8.8.4.4]
    version: 2

Must be add google dns ip address on your resolv.conf file.

root@cloud:~# cat /etc/resolv.conf
nameserver 8.8.8.8

Then reboot server for change all setup.

root@cloud:~# reboot

Step #02 : Install mysql server and CloudStack management server.

root@cloud:~# hostname --fqdn
root@cloud:~# ping cloudstack.apache.org
root@cloud:~# apt-get -y install openntpd openssh-server sudo vim htop tar intel-microcode bridge-utils mysql-server
root@cloud:~# echo deb http://download.cloudstack.org/ubuntu bionic 4.14  > /etc/apt/sources.list.d/cloudstack.list
root@cloud:~# wget -O - http://download.cloudstack.org/release.asc|apt-key add -
root@cloud:~# apt-get update -y
root@cloud:~# apt-get -y install cloudstack-management cloudstack-usage

Configure mysql conf file. Open below line via any editor.

root@cloud:~# vi /etc/mysql/mysql.conf.d/mysqld.cnf

Then Insert below all lines under [mysqld] section.

server_id = 1
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION"
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=1000
log-bin=mysql-bin
binlog-format = 'ROW'

Restart mysql service using belwo command.

root@cloud:~# systemctl restart mysql

Configure mysql root password before setup cloud stack database.

root@cloud:~# mysql -u root -p [ default password is blank]

Then execute below all command for setup root password. Remember this command is for mysql version 5.7.

USE mysql;
UPDATE user SET authentication_string=PASSWORD("passw0rd") WHERE User='root';
UPDATE user SET plugin="mysql_native_password" WHERE User='root';
flush privileges;
\q

Step #03 : Setup CloudStack database command with mysql root password.

root@cloud:~# cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:passw0rd

Then see status like as below.

Mysql user name:cloud                                                           [ OK ]
Mysql user password:******                                                      [ OK ]
Mysql server ip:localhost                                                       [ OK ]
Mysql server port:3306                                                          [ OK ]
Mysql root user name:root                                                       [ OK ]
Mysql root user password:******                                                 [ OK ]
Checking Cloud database files ...                                               [ OK ]
Checking local machine hostname ...                                             [ OK ]
Checking SELinux setup ...                                                      [ OK ]
Detected local IP address as 10.66.11.25, will use as cluster management server node IP[ OK ]
Preparing /etc/cloudstack/management/db.properties                              [ OK ]
Applying /usr/share/cloudstack-management/setup/create-database.sql             [ OK ]
Applying /usr/share/cloudstack-management/setup/create-schema.sql               [ OK ]
Applying /usr/share/cloudstack-management/setup/create-database-premium.sql     [ OK ]
Applying /usr/share/cloudstack-management/setup/create-schema-premium.sql       [ OK ]
Applying /usr/share/cloudstack-management/setup/server-setup.sql                [ OK ]
Applying /usr/share/cloudstack-management/setup/templates.sql                   [ OK ]
Processing encryption ...                                                       [ OK ]
Finalizing setup ...                                                            [ OK ]

CloudStack has successfully initialized database, you can check your database configuration in /etc/cloudstack/management/db.properties

Setup commnad using like below.

root@cloud:~# cloudstack-setup-management
root@cloud:~# tail -f /var/log/cloudstack/management/management-server.log

Wait at least few min for update cloud database …

For access cloud stack web gui.

http://10.66.11.25:8080/client/

Setup global configuration for private cloud.

system.vm.use.local.storage  [ set false to -> true
ca.plugin.root.auth.strictness  [ set true to -> false
secstorage.allowed.internal.sites [ set value = 10.66.11.9  (local server ip using apache web server for download iso, http://10.66.11.9/centos.iso)]

Stop and start management service using below command.

root@cloud:~# /bin/systemctl stop cloudstack-management.service
root@cloud:~# /bin/systemctl start cloudstack-management.service

NFS 4 communication using local domain, so must be add your local domain name management and all host server.

root@cloud:~# vi /etc/idmapd.conf

Insert below line.

Domain = technologyrss.local  [ both management and host server]

Restart rpcbind using below command.

root@cloud:~# service rpcbind start
root@cloud:~# chkconfig rpcbind on
root@cloud:~# rpcinfo -p

Step #04 : Configure nfs and download systemvm template.

root@cloud:~# mkdir -p /mnt/secondary
root@cloud:~# mount -t nfs 10.66.100.30:/mnt/share/ct_secondary /mnt/secondary [ Replace your NFS server ip 10.66.100.30 ]
root@cloud:~# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloudstack.org/systemvm/4.14/systemvmtemplate-4.14.0-kvm.qcow2.bz2 -h kvm -F

When downlead done, then follow below steps.

Remember it! If your nfs server is separate, so run below command otherwise not.

root@cloud:~# umount /mnt/secondary
root@cloud:~# rm -rf /mnt/secondary

Then restart management service using below command.

root@cloud:~# /bin/systemctl stop cloudstack-management.service
root@cloud:~# /bin/systemctl start cloudstack-management.service
root@cloud:~# tail -f /var/log/cloudstack/management/management-server.log

Setup server time zone as like your local time zone.

root@cloud:~# timedatectl
root@cloud:~# ls -l /etc/localtime
root@cloud:~# timedatectl set-timezone Asia/Dhaka
root@cloud:~# timedatectl

For more  info please see my YouTube channel for more updates.

5 2 votes
Article Rating
Admin: I am system administrator as Windows and Linux platform. I have 4 years skilled from the professional period. I have to configure Linux based system such as an Asterisk VOIP system, Network monitoring tools (ZABBIX), Virtualization (XEN Server), Cloud computing (Apache CloudStack) etc. Now share my professional skill each interested person. Thanks to all.
Leave a Comment