For users wanting to build a scaled out and high available production environment, ths recommended way is to install 2 ZStack management nodes, MySQL, and RabbitMQ on separate machines:
For machine to install ZStack management node, we recommend below hardware specification:
CPU | >= 4 Cores Intel/AMD CPUs supporting VT-x or SVM |
Memory |
>= 8G |
Free Disk |
>= 250G |
OS |
ZStack OS |
For machines to install MySQL and RabbitMQ message broker, please refer to their official web sites.
ZStack Enterprise management node | Install ZStack OS and ZStack Enterprise Management Node, which includes full Enterprise features (like VM HA, QoS, VM password resetting ...) with 1 free computing node license. |
ZStack Community Management Node | Install ZStack OS and ZStack Community Management Node, which could add unlimited computing nodes. |
ZStack Computing Node | Install ZStack OS and the computing node essential packages. |
ZStack Expert Node | Install ZStack OS and config the local yum. This is for advanced usage, e.g. installing multiple ZStack Management Nodes. |
The system has been pre-configured default options: DATE & TIME for the East Asia Area, LANGUAGE is English, KEYBOARD is English (US). The administrator can change the configuration.
If you want to use multi-node Installation, please choose ZStack Expert Mode
.
After ZStack OS expert mode is installed, please login System and do:
wget http://cdn.zstack.io/community/downloads/zstack/2.0/ZStack-installer-2.0.2.bin
bash ZStack-installer-2.0.2.bin -i
Once you successfully installed the node, configure the IP into zstack.properties:
zstack-ctl configure management.server.ip=ip_of_management_node1
Example: zstack-ctl configure management.server.ip=10.89.13.57
zstack-ctl save_config
You can use ZStack control tool zstack-ctl
, which is automatically installed along with ZStack in step 1. To install
MySQL.
sudo zstack-ctl install_db --host=ip_of_machine_to_install_mysql
Example: sudo zstack-ctl install_db --host=192.168.0.225
zstack-ctl
leverages Ansible to do the installation; it will ask you for SSH root password
if the SSH key is not set on the remote machine.
As step 2, you can use zstack-ctl
to install RabbitMQ too:
sudo zstack-ctl install_rabbitmq --host=ip_of_machine_to_install_rabbitmq
Example: sudo zstack-ctl install_rabbitmq --host=192.168.0.225
Once you successfully installed RabbitMQ, you need to create credentials for remote access:
rabbitmqctl add_user username password
Example: rabbitmqctl add_user zstack zstack123
rabbitmqctl set_user_tags username administrator
Example: rabbitmqctl set_user_tags zstack administrator
rabbitmqctl change_password username password
Example: rabbitmqctl change_password zstack zstack123
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
Example: rabbitmqctl set_permissions -p / zstack ".*" ".*" ".*"
Now you need to configure above RabbitMQ credentials to zstack.properties:
zstack-ctl configure CloudBus.rabbitmqUsername=rabbitmq_username
Example: zstack-ctl configure CloudBus.rabbitmqUsername=zstack
zstack-ctl configure CloudBus.rabbitmqPassword=rabbitmq_password
Example: zstack-ctl configure CloudBus.rabbitmqPassword=zstack123
zstack-ctl save_config
On the management node 1, you can use zstack-ctl
to install extra management nodes:
sudo zstack-ctl install_management_node --host=ip_of_machine_to_install_node_2
Example: sudo zstack-ctl install_management_node --host=192.168.0.225
Once you successfully installed the node, configure the IP into zstack.properties:
zstack-ctl configure management.server.ip=ip_of_management_node2
Example: zstack-ctl configure management.server.ip=10.89.13.57
zstack-ctl save_config
you can repeat this step to install more nodes if needed.
On the management node 1, you can use zstack-ctl
to install web UI:
sudo zstack-ctl install_ui
sudo zstack-ctl install_ui --host=ip_of_machine_to_install_ui
Example: sudo zstack-ctl install_ui --host=192.168.0.225
Now your multi-node ZStack environment is successfully installed, visit Getting Started With Multi-node Installation see how to configure and run ZStack.