diff --git a/docs/en-US/management_server_multi_node_install.xml b/docs/en-US/hypervisor-host-install-agent.xml similarity index 52% rename from docs/en-US/management_server_multi_node_install.xml rename to docs/en-US/hypervisor-host-install-agent.xml index 30f6af9f6a7..d1b774a7a30 100644 --- a/docs/en-US/management_server_multi_node_install.xml +++ b/docs/en-US/hypervisor-host-install-agent.xml @@ -1,5 +1,5 @@ - %BOOK_ENTITIES; ]> @@ -11,9 +11,9 @@ to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + http://www.apache.org/licenses/LICENSE-2.0 - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -22,9 +22,13 @@ under the License. --> - - Management Server Multi-Node Installation - - - - +
+ Install and configure the Agent + To manage KVM instances on the host &PRODUCT; uses a Agent. This Agent communicates with the Management server and controls all the instances on the host. + First we start by installing the agent: + In RHEL or CentOS: + yum install cloud-agent + In Ubuntu: + apt-get install cloud-agent + The host is now ready to be added to a cluster. This is covered in a later section, see . It is recommended that you continue to read the documentation before adding the host! +
\ No newline at end of file diff --git a/docs/en-US/hypervisor-host-install-firewall.xml b/docs/en-US/hypervisor-host-install-firewall.xml index 9efca5ed43b..e99c88e4882 100644 --- a/docs/en-US/hypervisor-host-install-firewall.xml +++ b/docs/en-US/hypervisor-host-install-firewall.xml @@ -36,11 +36,18 @@ It depends on the firewall you are using how to open these ports. Below you'll find examples how to open these ports in RHEL/CentOS and Ubuntu.
Open ports in RHEL/CentOS - TODO: How to open ports + RHEL and CentOS use iptables for firewalling the system, you can open extra ports by executing the following iptable commands: + iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT + iptables -I INPUT -p tcp -m tcp --dport 1798 -j ACCEPT + iptables -I INPUT -p tcp -m tcp --dport 16509 -j ACCEPT + iptables -I INPUT -p tcp -m tcp --dport 5900:6100 -j ACCEPT + iptables -I INPUT -p tcp -m tcp --dport 49152:492160 -j ACCEPT + These iptable settings are not persistent accross reboots, we have to save them first. + iptables-save > /etc/sysconfig/iptables
Open ports in Ubuntu - The default firewall under Ubuntu is UFW (Uncomplicated FireWall), although not enabled. + The default firewall under Ubuntu is UFW (Uncomplicated FireWall), which is a Python wrapper around iptables. To open the required ports, execute the following commands: ufw allow proto tcp from any to any port 22 ufw allow proto tcp from any to any port 1798 diff --git a/docs/en-US/hypervisor-host-install-flow.xml b/docs/en-US/hypervisor-host-install-flow.xml index af1daa744e3..74668c8f423 100644 --- a/docs/en-US/hypervisor-host-install-flow.xml +++ b/docs/en-US/hypervisor-host-install-flow.xml @@ -30,4 +30,5 @@ +
\ No newline at end of file diff --git a/docs/en-US/hypervisor-host-install-libvirt.xml b/docs/en-US/hypervisor-host-install-libvirt.xml index b3b691c3754..15cfde2efa7 100644 --- a/docs/en-US/hypervisor-host-install-libvirt.xml +++ b/docs/en-US/hypervisor-host-install-libvirt.xml @@ -35,15 +35,15 @@ In order to have live migration working libvirt has to listen for unsecured TCP connections. - # vi /etc/libvirt/libvirtd.conf + vi /etc/libvirt/libvirtd.conf Set the following paramaters: listen_tls = 0 listen_tcp = 1 tcp_port = 16059 - auth_tcp none + auth_tcp = "none" - In order to have libvirt listening on TCP we have to change the execution arguments. + Turning on "listen_tcp" in libvirtd.conf is not enough, we have to change the parameters as well: On RHEL or CentOS: vi /etc/sysconfig/libvirtd Uncomment the following line: diff --git a/docs/en-US/hypervisor-host-install-network.xml b/docs/en-US/hypervisor-host-install-network.xml index e4f668e0c4b..8f6a10cdd69 100644 --- a/docs/en-US/hypervisor-host-install-network.xml +++ b/docs/en-US/hypervisor-host-install-network.xml @@ -25,18 +25,20 @@
Configure the network bridges This is a very important section, please make sure you read this thoroughly. - In order to forward traffic to your instances you will need at least two bridges: public and private. - By default these bridges are called cloudbr0 and cloudbr1, but you do have to make sure they are available on each hypervisor. + In order to forward traffic to your instances you will need at least two bridges: public and private. + By default these bridges are called cloudbr0 and cloudbr1, but you do have to make sure they are available on each hypervisor. + The most important factor is that you keep the configuration consistent on all your hypervisors.
Network example There are many ways to configure your network. In the Basic networking mode you should have two (V)LAN's, one for your private network and one for the public network. - The hypervisor has one NIC (eth0) with three VLAN's: + We assume that the hypervisor has one NIC (eth0) with three tagged VLAN's: VLAN 100 for management of the hypervisor VLAN 200 for public network of the instances (cloudbr0) VLAN 300 for private network of the instances (cloudbr1) On VLAN 100 we give the Hypervisor the IP-Address 192.168.42.11/24 with the gateway 192.168.42.1 + The Hypervisor and Management server don't have to be in the same subnet!
Configuring the network bridges @@ -116,18 +118,14 @@ STP=yes]]> Hypervisor Host Installation Overview This section describes installing a Hypervisor host. This is targeted towards hosts running Linux Kernel Virtual Machine (KVM) Before continuing, make sure that you have applied the latest updates to your host. + It is NOT recommended to run services on this host not controlled by &PRODUCT;. The procedure for installing the Hypervisor Host is: Prepare the Operating System diff --git a/docs/en-US/hypervisor-host-install-prepare-os.xml b/docs/en-US/hypervisor-host-install-prepare-os.xml index 8eaedeae3b2..e2e32e709ae 100644 --- a/docs/en-US/hypervisor-host-install-prepare-os.xml +++ b/docs/en-US/hypervisor-host-install-prepare-os.xml @@ -29,16 +29,16 @@ Log in to your OS as root. Check for a fully qualified hostname. - # hostname --fqdn + hostname --fqdn This should return a fully qualified hostname such as "kvm1.lab.example.org". If it does not, edit /etc/hosts so that it does. Make sure that the machine can reach the Internet. - # ping www.cloudstack.org + ping www.cloudstack.org Turn on NTP for time synchronization. - NTP is required to synchronize the clocks of the servers in your cloud. + NTP is required to synchronize the clocks of the servers in your cloud. Unsynchronized clocks can cause unexpected problems. Install NTP On RHEL or CentOS: diff --git a/docs/en-US/hypervisor-host-install-security-policies.xml b/docs/en-US/hypervisor-host-install-security-policies.xml index 699fb9744c9..5fd6925a8c0 100644 --- a/docs/en-US/hypervisor-host-install-security-policies.xml +++ b/docs/en-US/hypervisor-host-install-security-policies.xml @@ -24,6 +24,7 @@
Configure the Security Policies + &PRODUCT; does various things which can be blocked by security mechanisms like AppArmor and SELinux. These have to be disabled to ensure the Agent has all the required permissions. Configure SELinux (RHEL and CentOS) diff --git a/docs/en-US/install-management-server.xml b/docs/en-US/install-management-server.xml deleted file mode 100644 index d8eb1e5d4eb..00000000000 --- a/docs/en-US/install-management-server.xml +++ /dev/null @@ -1,58 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - - -
- Install the Management Server on the First Host - The first step in installation, whether you are installing the Management Server on one host or many, is to install the software on a single node. - - If you are planning to install the Management Server on multiple nodes for high availability, do not proceed to the additional nodes yet. That step will come later. - - Download the Management Server onto the host where it will run. Get the software from the following link. - https://www.citrix.com/English/ss/downloads/ - FIXME - You will need a MyCitrix account. - - Install the packages. You should have a file in the form of “&PRODUCT;-VERSION-N-OSVERSION.tar.gz”. Untar the file and then run the install.sh script inside it. Replace the file and directory names below with those you are using: - -# tar xzf &PRODUCT;-VERSION-N-OSVERSION.tar.gz -# cd &PRODUCT;-VERSION-N-OSVERSION -# ./install.sh - - You should see a few messages as the installer prepares, followed by a list of choices. - - Choose M to install the Management Server software. - > M - - Wait for a message like “Complete! Done,” which indicates that the software was installed successfully. - - (RHEL or CentOS) When the installation is finished, run the following commands to start essential services (the commands might be different depending on your OS): - -# service rpcbind start -# service nfs start -# chkconfig nfs on -# chkconfig rpcbind on - - - -
diff --git a/docs/en-US/management-server-install-client.xml b/docs/en-US/management-server-install-client.xml new file mode 100644 index 00000000000..93273ce3f34 --- /dev/null +++ b/docs/en-US/management-server-install-client.xml @@ -0,0 +1,40 @@ + + +%BOOK_ENTITIES; +]> + + + +
+ Install the Management Server on the First Host + The first step in installation, whether you are installing the Management Server on one host or many, is to install the software on a single node. + + If you are planning to install the Management Server on multiple nodes for high availability, do not proceed to the additional nodes yet. That step will come later. + The &PRODUCT; Management server can be installed using either RPM or DEB packages. These packages will depend on everything you need to run the Management server. +
+ Install on CentOS/RHEL + We start by installing the required packages: + yum install cloud-client +
+
+ Install on Ubuntu + apt-get install cloud-client +
+
diff --git a/docs/en-US/installation-complete.xml b/docs/en-US/management-server-install-complete.xml similarity index 100% rename from docs/en-US/installation-complete.xml rename to docs/en-US/management-server-install-complete.xml diff --git a/docs/en-US/install-database-on-separate-node.xml b/docs/en-US/management-server-install-db-external.xml similarity index 100% rename from docs/en-US/install-database-on-separate-node.xml rename to docs/en-US/management-server-install-db-external.xml diff --git a/docs/en-US/install-database-on-management-server-node.xml b/docs/en-US/management-server-install-db-local.xml similarity index 100% rename from docs/en-US/install-database-on-management-server-node.xml rename to docs/en-US/management-server-install-db-local.xml diff --git a/docs/en-US/management-server-install-flow.xml b/docs/en-US/management-server-install-flow.xml index b6c7052d268..112771bb500 100644 --- a/docs/en-US/management-server-install-flow.xml +++ b/docs/en-US/management-server-install-flow.xml @@ -24,13 +24,13 @@
Management Server Installation - - - - - - - - - + + + + + + + + +
diff --git a/docs/en-US/install-management-server-multi-nodes.xml b/docs/en-US/management-server-install-multi-node.xml similarity index 100% rename from docs/en-US/install-management-server-multi-nodes.xml rename to docs/en-US/management-server-install-multi-node.xml diff --git a/docs/en-US/prepare-nfs-shares.xml b/docs/en-US/management-server-install-nfs-shares.xml similarity index 100% rename from docs/en-US/prepare-nfs-shares.xml rename to docs/en-US/management-server-install-nfs-shares.xml diff --git a/docs/en-US/management-server-installation-overview.xml b/docs/en-US/management-server-install-overview.xml similarity index 96% rename from docs/en-US/management-server-installation-overview.xml rename to docs/en-US/management-server-install-overview.xml index 3ccbdccfc9b..5bc6f1ba8f2 100644 --- a/docs/en-US/management-server-installation-overview.xml +++ b/docs/en-US/management-server-install-overview.xml @@ -37,7 +37,7 @@ Prepare the Operating System Install the First Management Server - Install and Configure the Database + Install and Configure the MySQL database Prepare NFS Shares Prepare and Start Additional Management Servers (optional) Prepare the System VM Template diff --git a/docs/en-US/management-server-install-prepare-os.xml b/docs/en-US/management-server-install-prepare-os.xml new file mode 100644 index 00000000000..ee76a5f1566 --- /dev/null +++ b/docs/en-US/management-server-install-prepare-os.xml @@ -0,0 +1,54 @@ + + +%BOOK_ENTITIES; +]> + + + +
+ Prepare the Operating System + The OS must be prepared to host the Management Server using the following steps. These steps must be performed on each Management Server node. + + Log in to your OS as root. + + Check for a fully qualified hostname. + hostname --fqdn + This should return a fully qualified hostname such as "managament1.lab.example.org". If it does not, edit /etc/hosts so that it does. + + + Make sure that the machine can reach the Internet. + ping www.google.com + + + Turn on NTP for time synchronization. + NTP is required to synchronize the clocks of the servers in your cloud. + + + Install NTP. + On RHEL or CentOS: + yum install ntp + On Ubuntu: + apt-get install openntpd + + + + Repeat all of these steps on every host where the Management Server will be installed. + +
diff --git a/docs/en-US/prepare-system-vm-template.xml b/docs/en-US/management-server-install-systemvm.xml similarity index 100% rename from docs/en-US/prepare-system-vm-template.xml rename to docs/en-US/management-server-install-systemvm.xml diff --git a/docs/en-US/management_server_overview.xml b/docs/en-US/management_server_overview.xml deleted file mode 100644 index b5d74f38a8b..00000000000 --- a/docs/en-US/management_server_overview.xml +++ /dev/null @@ -1,53 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - -
- Management Server Overview - The Management Server is the &PRODUCT; software that manages cloud resources. By interacting with the Management Server through its UI or API, you can configure and manage your cloud infrastructure. - The Management Server runs on a dedicated server or VM. It controls allocation of virtual machines to hosts and assigns storage and IP addresses to the virtual machine instances. The &PRODUCT; Management Server runs in a Tomcat container and requires a MySQL database for persistence. - The machine must meet the system requirements described in System Requirements. - The Management Server: - - - Provides the web user interface for the administrator and a reference user interface for end users. - - - Provides the APIs for the &PRODUCT; platform. - - - Manages the assignment of guest VMs to particular hosts. - - - Manages the assignment of public and private IP addresses to particular accounts. - - - Manages the allocation of storage to guests as virtual disks. - - - Manages snapshots, templates, and ISO images, possibly replicating them across data centers. - - - Provides a single point of configuration for the cloud. - - -
diff --git a/docs/en-US/prepare-os.xml b/docs/en-US/prepare-os.xml deleted file mode 100644 index 677ae43d4b8..00000000000 --- a/docs/en-US/prepare-os.xml +++ /dev/null @@ -1,110 +0,0 @@ - - -%BOOK_ENTITIES; -]> - - - -
- Prepare the Operating System - - The OS must be prepared to host the Management Server using the following steps. These steps must be performed on each Management Server node. - - - Log in to your OS as root. - Check for a fully qualified hostname. - # hostname --fqdn - This should return a fully qualified hostname such as "kvm1.lab.example.org". If it does not, edit /etc/hosts so that it does. - - Set SELinux to be permissive by default. - - Check to see whether SELinux is installed on your machine. If not, you can skip to step 4. - In RHEL or CentOS, SELinux is installed and enabled by default. You can verify this with: - # rpm -qa | grep selinux - In Ubuntu, SELinux is not installed by default. You can verify this with: - # dpkg --list 'selinux' - - Set the SELINUX variable in /etc/selinux/config to “permissive”. This ensures that the permissive setting will be maintained after a system reboot. - In RHEL or CentOS: - # vi /etc/selinux/config - In Ubuntu (do this step only if SELinux was found on the machine in the previous step): - # selinux-config-enforcing permissive - - Then set SELinux to permissive starting immediately, without requiring a system reboot. - In CentOS: - # setenforce permissive - In RHEL: - # setenforce 0 - In Ubuntu (do this step only if SELinux was found on the machine): - # setenforce permissive - - - - Make sure that the machine can reach the Internet. - # ping www.google.com - - (RHEL 6.2) If you do not have a Red Hat Network account, you need to prepare a local Yum repository. - - If you are working with a physical host, insert the RHEL 6.2 installation CD. If you are using a VM, attach the RHEL6 ISO. - Mount the CDROM to /media. - Create a repo file at /etc/yum.repos.d/rhel6.repo. In the file, insert the following lines: - -[rhel] -name=rhel6 -baseurl=file:///media -enabled=1 -gpgcheck=0 - - - - - Turn on NTP for time synchronization. - NTP is required to synchronize the clocks of the servers in your cloud. - - Install NTP. - On RHEL or CentOS: - # yum install ntp - On Ubuntu: - # apt-get install ntp - - Edit the NTP configuration file to point to your NTP server. - # vi /etc/ntp.conf - Add one or more server lines in this file with the names of the NTP servers - you want to use. For example: - server 0.xenserver.pool.ntp.org -server 1.xenserver.pool.ntp.org -server 2.xenserver.pool.ntp.org -server 3.xenserver.pool.ntp.org - - - Restart the NTP client. - # service ntpd restart - - Make sure NTP will start again upon reboot. - On RHEL or CentOS: - # chkconfig ntpd on - On Ubuntu: - # chkconfig ntp on - - - - Repeat all of these steps on every host where the Management Server will be installed. - -