OpenStack云计算平台基础环境准备

**一) CentOS的软件管理 **

**1、yum源(保证CentOS能访问百度) **
ping www.baidu.com 
**2、同步YUM源到本地 **
a.安装以下3个软件,用于制作本地YUM源
yum -y install yum-utils createrepo yum-plugin-priorities 
b.编辑YUM源文件,路径:/etc/yum.repos.d/创建一个YUM源文件
vi OpenStack.repo 

添加内容

[base]
name=base
baseurl=http://repo.huaweicloud.com/centos/7/os/x86_64/
enable=1
gpgcheck=0
[extras]
name=extras
baseurl=http://repo.huaweicloud.com/centos/7/extras/x86_64/
enable=1
gpgcheck=0
[updates]
name=updates
baseurl=http://repo.huaweicloud.com/centos/7/updates/x86_64/
enable=1
gpgcheck=0
[train]
name=train
baseurl=http://repo.huaweicloud.com/centos/7/cloud/x86_64/openstack-train/
enable=1
gpgcheck=0
[virt]
name=virt
baseurl=http://repo.huaweicloud.com/centos/7/virt/x86_64/kvm-common/
enable=1
gpgcheck=0
c.检查YUM源是否可用
yum clean all #清除缓存 
yum makecache #重建缓存 
yum repolist #查看已经启用的仓库列表 
d.同步远端安装包到本地
mkdir /opt/openstack #在/opt目录下创建一个空目录 
cd /opt/openstack #转换目录到新目录 
reposync #下载所有软件仓库文件到本地(省略) 
e.创建YUM源
createrepo -v base 
createrepo -v updates 
createrepo -v extras 
createrepo -v train 
createrepo -v virt 
f.修改主机名和映射
主机名:/etc/hostname 
vi /etc/hostname 
controller 

主机映射:/etc/hosts 
vi /etc/hosts 
192.168.10.10 controller 
g.关闭防火墙
systemctl stop firewalld 关闭防火墙 
systemctl status firewalld 查看防火墙状态 
systemctl disable firewalld 禁用防火墙

**二)克隆并配置虚拟机 **

**修改IP地址,主机名 ,映射 **
OpenStack02主机:192.168.10.20
ip地址:/etc/sysconfig/network-scripts/ifcfg-ens33
主机名:computer
映射:(两台都一样)
192.168.10.10 controller
192.168.10.20 computer

**三)搭建本地软件仓库 **

**1、上传OpenStack镜像到/opt目录中 **

OpenStack云计算平台基础环境准备_第1张图片
OpenStack镜像可以随意资源,确保能用就可

**2、安装OpenStack镜像 **
**a.搭建本地仓库(控制节点) **

进入到/opt目录中

cd /opt

将镜像文件挂载到文件夹中

mkdir openstack #创建目录

挂载镜像

mount openStack-train.iso openstack #注意:系统重启后挂载失效

备份原有YUM源的源文件

cd /etc/yum.repos.d/ 
mkdir bak 
mv *.repo bak 

编辑本地yum文件,使其指向本地文件夹

vi OpenStack.repo 

添加以下内容

[base] 
name=base 
baseurl=file:///opt/openstack/base/ 
enable=1 
gpgcheck=0 
[extras] 
name=extras 
baseurl=file:///opt/openstack/extras/ 
enable=1 
gpgcheck=0 
[updates] 
name=updates 
baseurl=file:///opt/openstack/updates/ 
enable=1 
gpgcheck=0 
[train] 
name=train 
baseurl=file:///opt/openstack/train/ 
enable=1 
gpgcheck=0 
[virt] 
name=virt 
baseurl=file:///opt/openstack/virt/ 
enable=1 
gpgcheck=0 

清除原有YUM 源的缓存并重建缓存

yum clean all 
yum makecache

查看yum源是否可用

yum repolist
**b.在控制节点中配置FTP服务器 **

安装FTP服务器

yum -y install vsftpd

配置FTP主目录为软件仓库目录

vi /etc/vsftpd/vsftpd.conf
#添加一行配置:允许匿名访问主目录指向软件仓库所在实际目录
anon_root=/opt

启动服务

systemctl start vsftpd
systemctl enable vsftpd
**c.计算节点上配置YUM源 **

备份原有YUM源的配置文件

cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak

从控制节点远程复制配置文件,减少工作量

scp root@controller:/etc/yum.repos.d/OpenStack.repo $PWD

修改OpenStack.repo文件

vi OpenStack.repo 

添加内容

[base]
name=base
baseurl=ftp://controller/opt/openstack/base/
enable=1
gpgcheck=0
[extras]
name=extras
baseurl=ftp://controller/opt/openstack/extras/
enable=1
gpgcheck=0
[updates]
name=updates
baseurl=ftp://controller/opt/openstack/updates/
enable=1
gpgcheck=0
[train]
name=train
baseurl=ftp://controller/opt/openstack/train/
enable=1
gpgcheck=0
[virt]
name=virt
baseurl=ftp://controller/opt/openstack/virt/
enable=1
gpgcheck=0

清空缓存重建缓存

yum clean all
yum makecache

安装网络工具箱的软件(控制节点和计算接口)

yum -y install net-tools
**d.拍摄快照 **

运用VM的快照功能可以快速回退到上一次的配置机器中
OpenStack云计算平台基础环境准备_第2张图片

**四)安装Chrony时间同步服务 **

在双主机或多主机情况下,要让系统正常通信,必须保证其时间的一致性。

**1、 设置局域网时间同步 **
a.配置控制节点为NTP 时间服务器

打开Chrony的配置文件

vi /etc/chrony.conf

编辑配置文件
OpenStack云计算平台基础环境准备_第3张图片
增加NTP服务器

server ntp.aliyun.com iburst 

当外网不可用时,采用本地时间作为标准

local stratum 1 

允许同网段使用本地NTP服务

allow 192.168.10.0/24

重启时间同步服务配置生效

systemctl restart chronyd
b.配置计算节点与控制节点时间同步

打开Chrony的配置文件

vi /etc/chrony.conf

编辑配置文件
删除原有服务节点(同上图)
与控制节点同步

server controller iburst

重启时间生效

systemctl restart chronyd
**2、查看时间同步服务 **
chronyc sources

**五)安装OpenStack云计算平台基础框架(控制节点与计算节点) **

chronyc sourcesOpenStack是一个云计算平台框架,它包含很多独立的组件。

安装OpenStack步骤
1、安装OpenStack(Train版)软件框架
yum -y install centos-release-openstack-train

#查询
yum list *openstack-train

安装完成后会在“/etc/yum.repos.d”下生成多个“repo”YUM源配置文件,在未连接外网时用不到这些YUM源文件,需要将这些新生成的“repo”文件删除。

rm -rf /etc/yum.repos.d/C*.repo
2、软件进行升级
yum upgrade -y

rm -rf /etc/yum.repos.d/C*.repo #删除
3、安装管理OpenStack云平台客户端
yum -y install python-openstackclient

查看版本

openstack --version
4、安装OpenStack SELinux安全策略
yum -y install openstack-selinux

**六)安装MariaDB数据库 **

MariaDB是一个采用Maria存储引擎的MySQL数据库的分支版本。在OpenStack中MariaDB被用于存储用户、角色、网络等信息。

1、安装MariaDB
yum install -y mariadb-server python2-PyMySQL
2、编辑数据库配置文件
vi /etc/my.cnf.d/openstack.cnf

内容

[mysqld]
bind-address = 192.168.10.10
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
3、启动数据库
systemctl enable mariadb #设置开机启动
systemctl start mariadb #立即启动服务
4、初始化数据库
mysql_secure_installation

回答内容

Enter current password for root (enter for none): #输入当前密码,没有则直接按【Enter】键
Set root password? [Y/n] Y #是否设置新密码
New password:000000 #输入新密码
Re-enter new password:000000 #确认新密码
Remove anonymous users? [Y/n]Y #是否去掉匿名用户
Disallow root login remotely? [Y/n] Y #是否禁止root用户远程登录
Remove test database and access to it? [Y/n] Y #是否去掉测试数据库
Reload privilege tables now? [Y/n] Y #是否重新加载权限表
5、登录数据库
mysql -hlocalhost -uroot -p123456 
mysql -u root -p 123456
OpenStack云计算平台基础环境准备_第4张图片

**七)安装RabbitMQ消息队列服务 **

消息队列(Message Queue,MQ)是一种应用间的通信方式,消息发送到消息队列后由消息队列来确保消息的可靠传递,即消息发布者和消息使用者之间并不产生直接关系。

1、安装RabbitMQ消息队列服务

安装RabbitMQ的服务端

yum -y install rabbitmq-server
2、启动RabbitMQ消息队列服务
systemctl enable rabbitmq-server #设置开机启动
systemctl start rabbitmq-server #立即启动
3、管理RabbitMQ消息队列用户
a.新建RabbitMQ用户的命令
rabbitmqctl add_user <用户名> <密码>
b.删除RabbitMQ用户的命令
rabbitmqctl delete_user <用户名>
c.修改RabbitMQ用户密码的命令
rabbitmqctl change_password <用户名> <新密码>
4、案例
a.给RabbitMQ消息队列创建一个名为“rabbitmq”的用户,密码为“RABBIT_PASS”
rabbitmqctl add_user rabbitmq RABBIT_PASS
b.给RabbitMQ消息队列的名为“rabbitmq”的用户,更改密码为“000000”
rabbitmqctl change_password rabbitmq 000000
c.删除RabbitMQ消息队列的名为“rabbitmq”的用户
rabbitmqctl delete_user rabbitmq
5、管理RabbitMQ用户权限
rabbitmqctl set_permissions rabbitmq ".*" ".*" ".*"
#命令中的3个“.*”分别对应配置、写入、读取权。

要查看RabbitMQ的某个用户权限

rabbitmqctl list_user_permissions rabbitmq
6、RabbitMQ消息队列服务对外服务端口为25672和5672
netstat -tnlup

八)安装Memcached缓存服务

Memcached缓存系统: 内存缓存(Memcached)是一个高性能的分布式内存对象缓存系统,能够存储各种格式的数据,包括图像、视频、文件,以及数据库检索的结果等。

1、安装Memcached缓存服务
yum -y install memcached python-memcached
2、查看系统创建“memcached”的用户
cat /etc/passwd|grep memcached
3、配置Memcached
vi /etc/sysconfig/memcached

添加内容

PORT="11211" #“PORT”是服务端口,默认是“11211”;
USER="memcached" #用户名
MAXCONN="1024" #最大连接数
CACHESIZE="64" #最大缓存大小,单位MB

#更改配置实现对“192.168.10.10”的监听。
OPTIONS = "-l 127.0.0.1,::1,192.168.10.10" #其他选项,设置监听的地址
4、启动Memcached
systemctl enable memcached
systemctl start memcached
5、检查Memcached运行情况

通过端口检查运行情况

netstat -tnlup|grep memcached

通过telnet命令连接服务器进行检查。telnet <服务器地址> <端口号>

telnet 192.168.10.10 11211

九)安装etcd键-值对存储系统

etcd是一个开源项目,它的目标是构建一个高可用的分布式键-值(Key-Value)数据库用于配置共享和服务发现。

1、安装与配置etcd
yum -y install etcd 
2、配置服务器

etcd服务器的配置文件为“etc/etcd/etcd.conf”

vi /etc/etcd/etcd.conf

修改的内容

ETCD_LISTEN_PEER_URLS="http://192.168.10.10:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.10.10:2379,http://127.0.0.1:2379"
ETCD_NAME="controller"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.10.10:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.10.10:2379"
ETCD_INITIAL_CLUSTER="controller=http://192.168.10.10:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"
3、启动etcd
systemctl enable etcd 
systemctl start etcd 
4、检查etcd运行情况
netstat -tnlup|grep etcd

你可能感兴趣的:(OpenStack平台部署,openstack,云计算)