先电Openstack云平台搭建(非常详细)

前言

大二上学期学习Openstack,苦于百度与CSDN上没有对应版本的教程,学的十分艰难,在此,将我的Openstack云平台搭建过程写出,留给新手学习

准备工作:

VMware Workstation Pro 虚拟机 我使用版本:15.5.2 build-15785246

CentOS-7-x86_64-DVD-1511.iso

XianDian-IaaS-v2.2.iso

虚拟机配置 (controller和compute配置相同):

内存    3G

处理器    2G

硬盘    50G

CD/DVD    CentOS-7-x86_64-DVD-1511.iso

网络适配器    VMnet1

网络适配器2  VMnet2

controller和compute网络配置

主机名 VMnet1 VMnet2
controller 192.168.28.10 192.168.128.10
compute 192.168.28.20 192.168.128.20

controller改主机名字,关防火墙,设置主机映射开启虚拟机

扫描二维码关注公众号,回复: 12465647 查看本文章
hostnamectl set-hostname controller
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
cat >>/etc/hosts<<eof
192.168.28.10 controller
192.168.28.20 compute
eof

compute

hostnamectl set-hostname compute
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
cat >>/etc/hosts<<eof
192.168.28.10 controller
192.168.28.20 compute
eof

controller

接下来,进入opt目录,创建挂载点 centos 以及 iaas

cd /opt
mkdir centos iaas

设置开机自动挂载镜像文件

cat >>/etc/fstab<<eof
/dev/cdrom      /opt/centos     iso9660 defaults        0       0
/opt/XianDian-IaaS-v2.2.iso     /opt/iaas   iso9660    defaults        0       0
eof

挂载立即生效

mount -a    

进入 /etc/yum.repos.d 目录,删除或移动里面的大写C开头的文件,否则后面会造成缓存错误,载创建repo源文件

cd /etc/yum.repos.d
mkdir bk
mv C* bk
cat >>/etc/yum.repos.d/local.repo<<eof
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1

[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
eof

清除缓存,生成缓存

yum clean all
yum makecache

 出现提示,说明是成功了(不需要和我的完全一摸一样,因为iso版本的不同,生成的缓存也不同)

[root@controller ~]# yum makecache
已加载插件:fastestmirror
centos                                                                                                                                  | 3.6 kB  00:00:00     
iaas                                                                                                                                    | 2.9 kB  00:00:00     
(1/7): centos/filelists_db                                                                                                              | 2.9 MB  00:00:00     
(2/7): centos/group_gz                                                                                                                  | 155 kB  00:00:00     
(3/7): iaas/filelists_db                                                                                                                | 1.9 MB  00:00:00     
(4/7): iaas/primary_db                                                                                                                  | 2.3 MB  00:00:00     
(5/7): centos/primary_db                                                                                                                | 2.8 MB  00:00:00     
(6/7): iaas/other_db                                                                                                                    | 692 kB  00:00:00     
(7/7): centos/other_db                                                                                                                  | 1.2 MB  00:00:00     
Determining fastest mirrors
元数据缓存已建立

注意,如果出现 下面展示 的段落信息,说明你之前的步骤出错了,可能是yum源没配置好,也可能是没挂载好,这里很坑

[root@compute yum.repos.d]# yum makecache
已加载插件:fastestmirror


 One of the configured repositories failed (未知),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>

     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: centos

如果是出现了 /var/run/yum.pid 的消息

执行下面这段命令即可

rm -rf /var/run/yum.pid

接下来安装vsftpd和iaas-xiandian

yum install iaas-xiandian vsftpd -y

在controller上安装 ftp(文件传输)服务
增加匿名访问

cat >>/etc/vsftpd/vsftpd.conf<<eof
anon_root=/opt
eof
systemctl restart network
systemctl start vsftpd
systemctl enable vsftpd

接下来配置xiandian的openrc.sh应答文件(一个字都不能错)

sed -i 's/.//' /etc/xiandian/openrc.sh
sed -i 's/PASS=/PASS=000000/g' /etc/xiandian/openrc.sh
sed -i 's/HOST_IP=/HOST_IP=192.168.28.10/g' /etc/xiandian/openrc.sh
sed -i 's/HOST_NAME=/HOST_NAME=controller/g' /etc/xiandian/openrc.sh
sed -i 's/HOST_IP_NODE=/HOST_IP_NODE=192.168.28.20/g' /etc/xiandian/openrc.sh
sed -i 's/HOST_NAME_NODE=/HOST_NAME_NODE=compute/g' /etc/xiandian/openrc.sh
sed -i 's/RABBIT_USER=/RABBIT_USER=openstack/g' /etc/xiandian/openrc.sh
sed -i 's/DOMAIN_NAME=/DOMAIN_NAME=demo/g' /etc/xiandian/openrc.sh
sed -i 's/METADATA_SECRET=/METADATA_SECRET=000000/g' /etc/xiandian/openrc.sh
sed -i 's/INTERFACE_NAME=/INTERFACE_NAME=ens34/g' /etc/xiandian/openrc.sh

至此,controller停止配置,开始compute配置

compute

查看是否连接到controller的 opt/ 下面的挂载文件

[root@compute yum.repos.d]# curl ftp://192.168.28.10
-rw-r--r--    1 0        0        2851502080 Jun 04  2020 XianDian-IaaS-v2.2.iso
dr-xr-xr-x    8 0        0            2048 Dec 09  2015 centos
drwxr-xr-x    4 0        0            2048 Nov 06  2017 iaas

进入opt目录,创建centos和iaas文件,移动或删除大写C开头文件,创建一个ftp.repo源文件

cd /opt
mkdir centos iaas
cd /etc/yum.repos.d/
mkdir bk
mv C* bk
touch ftp.repo

进入 /etc/yum.repos.d/ftp.repo 写入

cat >>/etc/yum.repos.d/ftp.repo<<eof
[centos]
name=centos
baseurl=ftp://192.168.28.10/centos
gpgcheck=0
enabled=1

[iaas]
name=iaas
baseurl=ftp://192.168.28.10/iaas/iaas-repo
gpgcheck=0
enabled=1
eof

清除缓存,生成缓存

yum clean all
yum makecache

如出现以下画面,说明成功

[root@compute yum.repos.d]# yum makecache
已加载插件:fastestmirror
centos                                                                                                                                  | 3.6 kB  00:00:00     
iaas                                                                                                                                    | 2.9 kB  00:00:00     
(1/7): centos/group_gz                                                                                                                  | 155 kB  00:00:00     
(2/7): centos/filelists_db                                                                                                              | 2.9 MB  00:00:00     
(3/7): centos/primary_db                                                                                                                | 2.8 MB  00:00:00     
(4/7): centos/other_db                                                                                                                  | 1.2 MB  00:00:00     
(5/7): iaas/filelists_db                                                                                                                | 1.9 MB  00:00:00     
(6/7): iaas/primary_db                                                                                                                  | 2.3 MB  00:00:00     
(7/7): iaas/other_db                                                                                                                    | 692 kB  00:00:00     
Determining fastest mirrors
元数据缓存已建立

下载 iaas-xiandain 进入 /etc/xiandian ,将openrc.sh 改名为openrc.sh.bk 备份 以防出现错误

再将 controller(192.168.28.10)中的 /etc/xiandian/openrc.sh 文件传输到 本机

yum -y install iaas-xiandian
cd /etc/xiandian
mv openrc.sh openrc.sh.bk
scp 192.168.28.10:/etc/xiandian/openrc.sh openrc.sh

执行安装脚本

两个节点均执行初始化脚本

iaas-pre-host.sh

注意:执行需要一段时间,不要去按回车什么的了,在出现  【reboot】提示后,必须重启,否则之后的实例发不出去,问题很大!!!

两台均重启

reboot

重新启动虚拟机

控制节点安装 (controller)

cd /usr/local/bin
cat >>/usr/local/bin/all-in-one.sh<<eof
iaas-install-mysql.sh 
iaas-install-keystone.sh 
iaas-install-glance.sh 
iaas-install-nova-controller.sh
iaas-install-neutron-controller.sh
iaas-install-neutron-controller-gre.sh
iaas-install-dashboard.sh
eof
source all-in-one.sh

计算节点安装(compute)

cd /usr/local/bin
cat >>/usr/local/bin/all-in-one.sh<<eof
iaas-install-nova-compute.sh
iaas-install-neutron-compute.sh
iaas-install-neutron-compute-gre.sh
eof
source all-in-one.sh

安装需要很长时间,请耐心等待

执行完成后

使用Chrome浏览器访问(其他浏览器不太好,造成访问不到)

http://计算节点IP/dashboard

我的计算节点IP为 192.168.28.10

所以我访问

http://192.168.28.10/dashboard

访问成功界面

域:demo

用户名:admin

密码:000000

进入

至此,Openstack云平台的安装结束

猜你喜欢

转载自blog.csdn.net/weixin_45932821/article/details/113754365
今日推荐