From b6a610e2db5798ae69cfd2cc8a9d7f85617f3926 Mon Sep 17 00:00:00 2001 From: Wido den Hollander Date: Tue, 14 Aug 2012 17:30:38 +0200 Subject: [PATCH] docs: Work on Management Server and Hypervisor Host installation The Hypervisor installation describes what cloud-setup-agent is actually doing, but this way administrators know what the tool is doing. We could remove all these things from cloud-setup-agent and require system administrators to perform these steps them selfs, this way we don't break anything on their systems. It would make setting up Hypervisors a bit harder, but would be much better on the longer run. --- docs/en-US/hypervisor-host-install-flow.xml | 31 +++++++++ .../en-US/hypervisor-host-install-libvirt.xml | 59 ++++++++++++++++ .../hypervisor-host-install-overview.xml | 36 ++++++++++ .../hypervisor-host-install-prepare-os.xml | 53 ++++++++++++++ ...ervisor-host-install-security-policies.xml | 69 +++++++++++++++++++ docs/en-US/installation.xml | 3 +- docs/en-US/minimum-system-requirements.xml | 6 +- 7 files changed, 253 insertions(+), 4 deletions(-) create mode 100644 docs/en-US/hypervisor-host-install-flow.xml create mode 100644 docs/en-US/hypervisor-host-install-libvirt.xml create mode 100644 docs/en-US/hypervisor-host-install-overview.xml create mode 100644 docs/en-US/hypervisor-host-install-prepare-os.xml create mode 100644 docs/en-US/hypervisor-host-install-security-policies.xml diff --git a/docs/en-US/hypervisor-host-install-flow.xml b/docs/en-US/hypervisor-host-install-flow.xml new file mode 100644 index 00000000000..5badfde8888 --- /dev/null +++ b/docs/en-US/hypervisor-host-install-flow.xml @@ -0,0 +1,31 @@ + + +%BOOK_ENTITIES; +]> + + + +
+ Hypervisor Host installation + + + + +
\ 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 new file mode 100644 index 00000000000..239c4d71667 --- /dev/null +++ b/docs/en-US/hypervisor-host-install-libvirt.xml @@ -0,0 +1,59 @@ + + +%BOOK_ENTITIES; +]> + + + +
+ Install and Configure libvirt + &PRODUCT; uses libvirt for managing virtual machines. Therefor it is vital that libvirt is configured correctly. + + + Install libvirt + On RHEL or CentOS: + # yum install libvirt + On Ubuntu: + # apt-get install libvirt-bin + + + In order to have live migration working libvirt has to listen for unsecured TCP connections. + # vi /etc/libvirt/libvirtd.conf + Set the following paramaters: + listen_tls = 0 + listen_tcp = 1 + tcp_port = 16059 + auth_tcp none + + + In order to have libvirt listening on TCP we have to change the execution arguments. + On RHEL or CentOS: + # vi /etc/sysconfig/libvirtd + Uncomment the following line: + #LIBVIRTD_ARGS="--listen" + On Ubuntu: + # vi /etc/init/libvirt-bin.conf + Change the following line: + exec /usr/sbin/libvirtd -d + to (just add -l) + exec /usr/sbin/libvirtd -d -l + + +
\ No newline at end of file diff --git a/docs/en-US/hypervisor-host-install-overview.xml b/docs/en-US/hypervisor-host-install-overview.xml new file mode 100644 index 00000000000..54ca55fc977 --- /dev/null +++ b/docs/en-US/hypervisor-host-install-overview.xml @@ -0,0 +1,36 @@ + + +%BOOK_ENTITIES; +]> + + + +
+ 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. + The procedure for installing the Hypervisor Host is: + + Prepare the Operating System + Install and configure libvirt + Configure Security Policies (AppArmor and SELinux) + Install and configure the Agent + +
\ No newline at end of file diff --git a/docs/en-US/hypervisor-host-install-prepare-os.xml b/docs/en-US/hypervisor-host-install-prepare-os.xml new file mode 100644 index 00000000000..2884cd13d5e --- /dev/null +++ b/docs/en-US/hypervisor-host-install-prepare-os.xml @@ -0,0 +1,53 @@ + + +%BOOK_ENTITIES; +]> + + + +
+ Prepare the Operating System + The OS of the Host must be prepared to host the &PRODUCT; Agent and run KVM instances. + + 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. + + + Make sure that the machine can reach the Internet. + # ping www.cloudstack.org + + + 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 hypervisor host. + +
\ No newline at end of file diff --git a/docs/en-US/hypervisor-host-install-security-policies.xml b/docs/en-US/hypervisor-host-install-security-policies.xml new file mode 100644 index 00000000000..4ba748ed49d --- /dev/null +++ b/docs/en-US/hypervisor-host-install-security-policies.xml @@ -0,0 +1,69 @@ + + +%BOOK_ENTITIES; +]> + + + +
+ Configure the Security Policies + + + Configure SELinux (RHEL and CentOS) + + + Check to see whether SELinux is installed on your machine. If not, you can skip this section. + In RHEL or CentOS, SELinux is installed and enabled by default. You can verify this with: + # rpm -qa | grep 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 + Change the following line + SELINUX=enforcing + to this + SELINUX=permissive + + + Then set SELinux to permissive starting immediately, without requiring a system reboot. + # setenforce permissive + + + + + Configure Apparmor (Ubuntu) + + + Check to see whether AppArmor is installed on your machine. If not, you can skip this section. + In Ubuntu AppArmor is installed and enabled by default. You can verify this with: + # dpkg --list 'apparmor' + + + Disable the AppArmor profiles for libvirt + ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/ + ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/ + apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd + apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper + + + + +
\ No newline at end of file diff --git a/docs/en-US/installation.xml b/docs/en-US/installation.xml index 883a09462cf..948931e5768 100644 --- a/docs/en-US/installation.xml +++ b/docs/en-US/installation.xml @@ -27,5 +27,6 @@ - + + diff --git a/docs/en-US/minimum-system-requirements.xml b/docs/en-US/minimum-system-requirements.xml index da60c2c7984..0043a26dba8 100644 --- a/docs/en-US/minimum-system-requirements.xml +++ b/docs/en-US/minimum-system-requirements.xml @@ -36,7 +36,7 @@ 64-bit x86 CPU (more cores results in better performance) 4 GB of memory - 250 GB of local disk (more results in better capability; 500 GB recommended) + 50 GB of local disk (When running secondary storage on the management server 500GB is recommended) At least 1 NIC Statically allocated IP address Fully qualified domain name as returned by the hostname command @@ -78,8 +78,8 @@ The main requirement for KVM hypervisors is the libvirt and Qemu version. If you whish to run on a different distribution, make sure you meet the following requirements: - libvirt: 0.9.4 and higher - Qemu/KVM: 1.0 and higher + libvirt: 0.9.4 or higher + Qemu/KVM: 1.0 or higher