一.任务前提环境:
本地主机需准备好终端软件,通过终端软件连接安装好CentOS6.5最小化系统的控制节点以及计算节点,上述节点可以是物理机,也可以是VM环境下的虚拟机,本地主机中还需存放CentOS-6.5-x86_64-bin.iso和XianDian-iaas-v1.2.iso两个用于安装先电IaaS云平台的镜像。
二.任务涉及节点:
controller,compute
三.任务目标:
1.完成hosts文件的修改;
2.完成selinux的修改;
3.完成yum源的配置;
4.完成NTP服务的安装;
5.完成Qpid服务的安装;
6.完成openstack环境准备包的安装。
四.任务步骤及其详解:
步骤一:修改hosts文件
在controller节点和compute节点,分别执行vi命令,修改/etc/hosts文件,下面以controller节点上的操作为例,命令如下。
vi /etc/hosts
再打开/etc/hosts,添加controller和compute主机名对应IP地址的解析,将192.168.100.10 解析为controller,192.168.100.20解析为compute。(这里的主机名对应的IP地址一般是内网网卡的IP,可以用hostname -i来查看主机名对应的IP地址)
hostname -i
vi /etc/hosts
步骤二:修改selinux配置文件
在controller节点和compute节点,分别执行vi命令,修改/etc/selinux/config文件,下面以controller节点上的操作为例,命令如下。
vi /etc/selinux/config
在文件中修改参数SELINUX=permissive
SELINUX=permissive
Config配置文件内容修改后需要重启才生效,但我们可以通过setenforce命令临时生效配置
setenforce 0
配置完成后我们可以通过getenforce命令查看selinux的规则,命令如下
getenforce
如果上述的命令输出结果为permissive,表示我们修改成功
步骤三:在controller节点配置yum源
1.将CentOS-6.5-x86_64-bin.iso和XianDian-iaas-v1.2.iso两个镜像文件上传至controller节点opt目录下,上传完毕后,我们需要再确认/opt/目录下是否有这两个镜像文件,命令如下
mkdir /opt/centos
mkdir /opt/iaas
ls /opt
2. 挂载镜像并删除/etc/yum.repo.d/内的所有原有的yum源配置文件:将CentOS-6.5-x86_64-bin.iso镜像挂载到centos目录,将XianDian-iaas-v1.2.iso镜像挂载到iaas目录
mount -o loop /opt/CentOS-6.5-x86_64-bin.iso /opt/centos/
mount -o loop /opt/XianDian-iaas-v1.2.iso /opt/iaas/
rm -rf /etc/yum.repos.d/*
3.在/etc/yum.repo.d/内创建文件local.repo,用来存放自配的本地yum源(让之后controller节点所有用到的软件包从本地安装,)
cd /etc/yum.repos.d/
touch local.repo
vi local.repo
4. 使用yum list命令确认yum源是否配置成功
成功了
5.在controller节点安装vsftpd服务,使得compute节点能够访问controller节点通过ftp构建的yum源并安装软件包
安装成功
6.通过vi命令修改vsftpd服务配置文件
修改/etc/vsftpd/vsftpd.conf,在配置文件的第一行插入参数anon_root=/opt
7.启动vsftpd服务,并设置为开机自动启动
8. 为了保证之后compute,controller节点云平台组件之间能够正常同过IP网络通信,以及compute的云平台组件可以通过ftp安装,我们还需要同时关闭上述两个节点的防火墙,命令如下。
service iptables stop
9.在compute节点删除/etc/yum.repo.d/目录下原有的yum源配置文件。
rm -rf /etc/yum.repos.d/*
10.通过vi命令在compute节点手工创建yum源配置文件local.repo,建立ftp远程的yum源,其路径指向我们之前在controller节点下构建的ftp,命令如下
cd /etc/yum.repos.d/
vi local.repo
11.使用yum list命令确认compute的yum源是否配置成功
yum list
成功了
12.
配置NTP时钟同步服务:
Controller节点和compute节点需要同时被外部主机访问,所以两个节点主机时钟必须同步。我们可以在controller节点安装NTP服务端,让compute节点和controller节点的时钟同步
在controller节点和compute节点,分别安装NTP服务:
在控制节点(controller)上:
yum -y install ntp
成功了
在计算节点(compute)上:
yum -y install ntp
显示已经安装,并且是最新版本了
13.
然后再controller节点修改ntp.conf配置文件将controller节点作为服务端,使用vi命令打开NTP服务的主配置文件:
vi /etc/ntp.conf
找到以下参数:
替换为:
原因:上面4行的作用是用默认的配置NTP池项目服务器作为本地机器的时间源,尽管这些服务器可靠和准确,但他们引入了对可能不时可用或可靠的外部服务器的依赖。我们通过配置控制节点作为NTP服务器,使用本地硬件时钟作为参考时钟,就可以消除这种依赖关系,并确保本地机器始终具有可靠的时间源。
下图第一行告诉NTP使用本地硬件时钟作为参考时钟,而第二行是将本地时钟的层次设置为10,这是外部服务器默认层次的较高值,这确保了本地时钟始终被认为是本地机器的首选时间源。
14.在controller节点启动NTP服务并设置为开机自启动:
service ntpd start
chkconfig ntpd on
在compute节点,使用ntpdate命令同步controller节点的时钟(务必确保controller节点的防火墙为关闭状态)
这里出现了错误,主要是说NTP套接直接已被占用,ntpdate无法连接到控制节点并更新时间,因此,无法确定ntpdate命令是否成功
然后我们来运行ntpq -p命令来检查控制节点是否成功配置为NTP服务器,并确保其他计算机可以连接到该服务器并同步时间:
这里返回LOCAL(0)被标记为首选服务器,并且具有较低的延迟、偏移和抖动值。这表明您已经成功将本地硬件时钟配置为NTP服务器,并且其他计算机应该能够通过该服务器同步时间。因此,可以确认ntpdate命令已成功连接到控制节点并同步时间。
最后运行date查看时间:
之后再将compute节点的ntp服务设置为开机自启
chkconfig ntpdate on
步骤5:安装Qpid服务:Qpid服务需要在controller节点和compute节点分别安装,两个节点安装步骤相同。
在controller中:
yum -y install qpid-cpp-server
安装成功
通过vi命令修改Qpid服务的主配置文件:
将最后一行auth=yes修改为auth=no(原因:这是禁用 Qpid 服务的身份验证功能,这意味着任何人都可以连接到 Qpid 代理并执行一些敏感的操作,而无需提供用户名和密码。)
vi /etc/qpidd.conf
启动Qpid服务并设置为开机自动启动:
service qpidd start
chkconfig qpidd on
在compute上操作一样……
自此,Qpid服务安装完成
注意:我在compute节点上下载qpid时出现了这样的错误:
这是因为缺少公钥,yum 无法验证软件包的身份,并提示 NOKEY 警告。为了解决这个问题,可以尝试导入软件源的 GPG密钥,使得 yum 能够验证软件包的身份。
我的是centos6.5版本的,就输入这个秘钥:
rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
然后重新下载:
然后成功了
步骤6:OpenStack环境准备包的安装:
在controller节点和compute节点,分别安装OpenStack环境准备包,一样的步骤和包
我以controller节点演示即可:
yum -y install yum-plugin-priorities openstack-utils openstack-selinux
yum -y upgrade
自此,OpenStack软件包已经安装完成,所有基本环境配置已经完成。