环境

首先,需要先准备要Cloudstack的安装环境,以下将详细描述准备步骤。

操作系统

Using the CentOS 6.5 x86_64 minimal install ISO, you’ll need to install CentOS on your hardware. The defaults will generally be acceptable for this installation.

当安装完成后,需要以root身份通过SSH连接新安装的主机,注意不要以root账户登录生产环境,请在完成安装和配置后关闭远程登录。

网络配置

默认情况下新安装的机器并未启用网络,您需要根据实际环境进行配置。由于网络中不存在DHCP服务器,您需要手工配置网络接口。为了实现快速简化安装的目标,这里假定主机上只有eth0一个网络接口。

使用root用户登录本地控制台。检查文件 /etc/sysconfig/network-scripts/ifcfg-eth0,默认情况,其内容如下所示:

  1. DEVICE="eth0"
  2. HWADDR="52:54:00:B9:A6:C0"
  3. NM_CONTROLLED="yes"
  4. ONBOOT="no"

但是根据以上配置您无法连接到网络,对于Cloudstack也同样不适合;您需修改配置文件,指定IP地址,网络掩码等信息,如下例所示:

注解

注意,不要在你的配置中使用示例中的Hardware地址(也叫MAC地址)。该地址为网络接口所特有的,请保留你配置文件中已经提供的HWADDR字段。

  1. DEVICE=eth0
  2. HWADDR=52:54:00:B9:A6:C0
  3. NM_CONTROLLED=no
  4. ONBOOT=yes
  5. BOOTPROTO=none
  6. IPADDR=172.16.10.2
  7. NETMASK=255.255.255.0
  8. GATEWAY=172.16.10.1
  9. DNS1=8.8.8.8
  10. DNS2=8.8.4.4

注解

IP Addressing - Throughout this document we are assuming that you will have a /24 network for your CloudStack implementation. This can be any RFC 1918 network. However, we are assuming that you will match the machine address that we are using. Thus we may use 172.16.10.2 and because you might be using the 192.168.55.0/24 network you would use 192.168.55.2

配置文件准备完毕后,需要运行命令启动网络。

  1. # chkconfig network on
  2.  
  3. # service network start

主机名

Cloudstack要求正确设置主机名,如果安装时您接受了默认选项,主机名为localhost.localdomain,输入如下命令可以进行验证

  1. # hostname --fqdn

在此处将返回:

  1. localhost

为了纠正这个问题,需设置主机名,通过编辑/etc/hosts 文件,将其更改为类似如下内容:

  1. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  2. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. 172.16.10.2 srvr1.cloud.priv

更改配置文件后,重启网络服务:

  1. # service network restart

通过hostname –fqdn命令重新检查主机名,并确认返回了正确的FQDN

SELinux

当前的CloudStack需要将SELinux设置为permissive才能正常工作,您需要改变当前配置,同时将该配置持久化,使其在主机重启后仍然生效。

在系统运行状态下将SELinux配置为permissive需执行如下命令:

  1. # setenforce 0

为确保其持久生效需更改配置文件/etc/selinux/config,设置为permissive,如下例所示:

  1. # This file controls the state of SELinux on the system.
  2. # SELINUX= can take one of these three values:
  3. # enforcing - SELinux security policy is enforced.
  4. # permissive - SELinux prints warnings instead of enforcing.
  5. # disabled - No SELinux policy is loaded.
  6. SELINUX=permissive
  7. # SELINUXTYPE= can take one of these two values:
  8. # targeted - Targeted processes are protected,
  9. # mls - Multi Level Security protection.
  10. SELINUXTYPE=targeted

NTP

为了同步云平台中主机的时间,需要配置NTP,但NTP默认没有安装。因此需要先安装NTP,然后进行配置。通过以下命令进行安装:

  1. # yum -y install ntp

实际上默认配置项即可满足的需求,仅需启用NTP并设置为开机启动,如下所示:

  1. # chkconfig ntpd on
  2. # service ntpd start

配置ClouStack软件库

配置主机使用CloudStack软件库。

注解

Apache CloudStack官方发布源代码。因此没有可用的“官方”安装文件。完整的安装指南介绍了如何获取源代码,以及制作RPM包和yum软件库。本指南尽可能简化这些操作,所以直接使用社区提供的yum软件库。

添加CloudStack软件仓库,创建/etc/yum.repos.d/cloudstack.repo文件,并添加如下信息。

  1. [cloudstack]
  2. name=cloudstack
  3. baseurl=http://cloudstack.apt-get.eu/rhel/4.3/
  4. enabled=1
  5. gpgcheck=0

NFS

本文档将配置的环境使用NFS做为主存储和辅助存储,需配置两个NFS共享目录,在此之前需先安装nfs-utils:

  1. # yum -y install nfs-utils

接下来需配置NFS提供两个不同的挂载点。通过编辑/etc/exports文件即可简单实现。确保这个文件中包含下面内容:

  1. /secondary *(rw,async,no_root_squash)
  2. /primary *(rw,async,no_root_squash)

注意配置文件中指定了系统中两个并不存在的目录,下面需要创建这些目录并设置合适的权限,对应的命令如下所示:

  1. # mkdir /primary
  2. # mkdir /secondary

CentOS 6.x 版本默认使用NFSv4,NFSv4要求所有客户端的域设置匹配,这里以设置cloud.priv为例,请确保文件/etc/idmapd.conf中的域设置没有被注释掉,并设置为以下内容:

在/etc/sysconfig/nfs文件中取消如下选项的注释:

  1. LOCKD_TCPPORT=32803
  2. LOCKD_UDPPORT=32769
  3. MOUNTD_PORT=892
  4. RQUOTAD_PORT=875
  5. STATD_PORT=662
  6. STATD_OUTGOING_PORT=2020

接下来还需配置防火墙策略,允许NFS客户端访问。编辑文件/etc/sysconfig/iptables

  1. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
  2. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
  3. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
  4. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT
  5. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
  6. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT
  7. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT
  8. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT
  9. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT
  10. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
  11. -A INPUT -s 172.16.10.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT

通过以下命令重新启动iptables服务:

  1. # service iptables restart

最后需要配置NFS服务为开机自启动,执行如下命令:

  1. # service rpcbind start
  2. # service nfs start
  3. # chkconfig rpcbind on
  4. # chkconfig nfs on