OpenStack搭建笔记(先电)

OpenStack环境设计和系统准备

安装虚拟机(这个过程就不写了,默认都会,但是要注意硬盘分区这块)磁盘分区

环境搭建

虚拟机主机名:
控制节点(controller)
实例节点(compute)

配置主机名

配置控制节点主机名为controller: hostnamectl set-hostname controller
配置实例节点主机名为compute: hostnamectl set-hostname compute
查看是否配置成功:hostnamectl

配置网卡

注:(要把两个网卡换一下,第一块仅主机,第二块nat)
第一块网卡

TYPE=Ethernet                                              
BOOTPROTO=static                    
DEFROUTE=yes                     
PEERDNS=yes 
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=5535bfac-437d-433f-905d-d88de379e0ee
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.40.7
#IPADDR=192.168.40.8
NETMASK=255.255.255.0
GATEWAY=192.168.40.2
DNS1=114.114.114.114

第二块网卡 第二块网卡后面再配,虚拟机刚建好配一个网卡就好了

TYPE=Ethernet
BOOTPROTO=static
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno33554984
DEVICE=eno33554984
ONBOOT=yes
IPADDR=172.24.3.10
#IPADDR=172.24.3.20
NETMASK=255.255.255.0 
  注:不要和我的一样,根据自身情况配置,我这只是个模板

配置域名解析

修改控制和实例节点的/etc/hosts配置文件

添加:
控制节点的(NET)IP地址   controller
实例节点的(NET)IP地址   compute

配置环境

关闭firewalld和selinux
iptables,默认应该都是关闭的

关闭防火墙Firewalld,如下:

systemctl stop firewalld			//关闭Firewalld防火墙服务
systemctl disable firewalld		   //关闭Firewalld防火墙开机自启服务

配置Selinux,修改配置文件/etc/selinux/config

修改完配置文件,需要重启后生效,可以使用setenforce 0命令临时生效
This file controls the state of SELinux on the system.
SELINUX=permissive
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled    #由permissive改为disabled
#SELINUXTYPE= can take one of three two values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted

挂载镜像和xiandain-iaas

挂载命令:mount /镜像-硬盘路径 /挂载点
先在虚拟机里添加xiandain-iaas的iso文件在这里插入图片描述
然后reboot重启
在这里插入图片描述
重启完成后输入(lsblk命令)会有两个sr设备文件
然后在/mnt下建立两个目录
分别是:centos和iaas
然后把sr0挂载到/mnt/iaas下,把sr1挂载到/mnt/centos下

配置yum源

将提供的安装光盘和安装文件拷贝到系统内部,制作安装源,本次采用本地源

安装源子目录
将光盘镜像文件XianDian-IaaS-v2.2.iso和CentOS-7-x86_64-DVD-1511.iso上传到两个节点服务器自己指定的子目录中(如子目录/var中)并解压。创建子目录software,如图2-6所示。将子目录iaas-repo移至/var/software子目录中;创建子目录centos 7,将子目录Packages和repodata移至子目录centos 7中,可以删除拷贝在var下的原解压文档。如果是用VMware创建的虚拟机来搭建IaaS平台,可以通过挂载镜像文档来拷贝软件包

yum源目录关系

在这里插入图片描述
上面挂载完后按照图上的关系格式创建一个目录
目录创建命令:

mkdir -p /openstack/centos7

然后把iaas和centos下的文件拷贝到/var/software下

进入/mnt/iaas下把iaas-repo拷贝到/var/software下
前提是当前目录在/mnt/iaas下
命令:

cp  -r  iaas-repo   /openstack/  

进入/mnt/centos下把Packages和repodata两个文件拷贝到/var/software/centos7下
前提是当前目录在/mnt/centos下
命令:

cp  -r  Packages   /openstack/centos7
cp  -r  repodata   /openstack/centos7

修改/etc/yum.repos.d下的yum配置文件
先rm -rf *把目录下的所有文件删除
然后vi centos.repo创建一个名为centos的yum配置文件
把下面的配置文件信息复制粘贴就行了(注:一定要记住配置文件是怎么写的)

[centos]
name=CentOS
baseurl=file:///openstack/centos7
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[openstack]
name=openstack
baseurl=file:///openstack/iaas-repo
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

重建缓存

yum clean all
yum makecache

注:两台都要弄,配置文件要相同

添加第二块网卡

先用VM添加一块仅主机模式的网卡

使用ip a查看网卡信息(注:因为最小化安装没有装ifconfig)
如果要用ifconfig,请安装net-tools包:

yum install net-tools 

根据自身情况修改网卡配置文件

拷贝命令

cp   ifcfg-eno16777736   ifcfg-eno33554984   

注:每个人的网卡名可能不一样
然后修改ifcfg-eno33554984网卡配置文件
复制粘贴下面的配置文件把该改的改一下就行了 (注:要记住配置文件是怎么修改的)

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno33554984
DEVICE=eno33554984
ONBOOT=yes
IPADDR=172.24.3.10
#IPADDR=172.24.3.20
NETMASK=255.255.255.0
  注:两个节点都要修改

修改完成:systemctl restart network.service重启网络

在VM实例节点上添加一块40G的硬盘,仅compute节点

reboot重启虚拟机

对硬盘进行分区

(由于内存不足,只能用20G来演示)
分区命令:fdisk /硬盘路径

[root@compute ~]# fdisk /dev/sdb 
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xcb1fa46d.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +10G
Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xcb1fa46d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2): 
First sector (20973568-41943039, default 20973568): 
Using default value 20973568
Last sector, +sectors or +size{K,M,G} (20973568-41943039, default 41943039): 
 因为前面加了10G还剩最后10G所以这里就默认了↑
Using default value 41943039
Partition 2 of type Linux and of size 10 GiB is set

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xcb1fa46d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
/dev/sdb2        20973568    41943039    10484736   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

安装iaas-xiandian安装包

yum install iaas-xiandian -y   

编辑文件/etc/xiandian/openrc.sh(配置环境变量)

HOST_IP=192.168.40.7  (根据自己的实际情况)控制节点第一块网卡的IP地址
HOST_NAME=controller
HOST_IP_NODE=192.168.40.8  (根据自己的实际情况)实例节点第一块网卡的IP地址
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo(自定义)
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=eno33554984 (外网网卡名)
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=sdb1  (空白分区名)
SWIFT_PASS=000000
OBJECT_DISK=sdb2 (空白分区名)
STORAGE_LOCAL_NET_IP=192.168.40.8  实例节点第一块网卡的IP地址
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000 
   注:控制节点和实例节点都要配置不然会报网络错误

脚本执行

下面执行脚本就行了,脚本执行完就可以访问网页了
控制节点和实例节点
执行脚本iaas-pre-host.sh进行安装

iaas-pre-host.sh

重启设备
完成配置后,同时重启两个节点服务器。
reboot 已执行完成

部署脚本安装平台
在控制节点执行脚本iaas-install-mysql.sh进行数据库及消息列表服务安装。

iaas-install-mysql.sh

在控制节点执行脚本iaas-install-keystone.sh进行keystone认证服务安装。

iaas-install-keystone.sh

在控制节点执行脚本iaas-install-glance.sh进行glance镜像服务安装。

iaas-install-glance.sh

在控制节点执行脚本iaas-install-nova-controller.sh进行nova计算服务安装。

iaas-install-nova-controller.sh

在实例节点执行脚本iaas-install-nova-compute.sh进行nova计算服务安装。

iaas-install-nova-compute.sh

在控制节点执行脚本iaas-install-neutron-controller.sh进行neutron网络服务安装。

iaas-install-neutron-controller.sh  

在实例节点执行脚本iaas-install-neutron -compute.sh进行neutron网络服务安装。

 iaas-install-neutron-compute.sh

在控制节点执行脚本iaas-install-neutron-controller-gre.sh进行vlan网络安装配置。

iaas-install-neutron-controller-gre.sh

在实例节点执行脚本iaas-install-neutron-compute-gre.sh进行vlan网络安装配置。

iaas-install-neutron-compute-gre.sh

在控制节点执行脚本iaas-install-dashboard.sh进行dashboard服务安装。

iaas-install-dashboard.sh

在控制节点执行脚本iaas-install-cinder-controller.sh进行cinder块存储服务安装。

iaas-install-cinder-controller.sh

在实例节点执行脚本iaas-install-cinder-compute.sh进行cinder块存储服务安装。

iaas-install-cinder-compute.sh

在控制节点执行脚本iaas-install-swift-controller.sh进行swift对象存储服务安装。

iaas-install-swift-controller.sh

在实例节点执行脚本iaas-install-swift-compute.sh进行swift对象存储服务安装。

iaas-install-swift-compute.sh

在控制节点执行脚本iaas-install-heat.sh进行heat编配服务安装。

iaas-install-heat.sh

在控制节点执行脚本iaas-install-ceilometer-controller.sh进行ceilometer监控服务安装。

iaas-install-ceilometer-controller.sh

在实例节点执行脚本 iaas-install-ceilometer-compute.sh进行ceilometer监控服务安装。

iaas-install-ceilometer-compute.sh

在控制节点执行脚本iaas-install-alarm.sh进行alarm告警服务安装。

iaas-install-alarm.sh

登录界面
在这里插入图片描述

管理界面
在这里插入图片描述

环境搭建结束了

作者:int32bit 链接:https://www.zhihu.com/question/54549481/answer/141308600 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 基于OpenStack的论文国内外还是不少的,参考IEEE Xplore Search Results,毕竟火了那么多年,而且无论你偏系统还是偏研究都能写,但是纯粹写OpenStack部署的论文估计不多,除非你自己开发了一套自动化部署工具,比现有的Puppet、Ansible、Tripleo、Fuel、Kolla都要好,大多论文都需要与其它技术或者应用场景相结合,否则你的研究背景和意义都不知道怎么入手。偏系统的论文诸如基于OpenStack的xx系统(或者平台)设计与实现,xx可以是各种场景化的云系统,比如xx替换为视频监控云,则标题变为基于OpenStack的视频监控云平台设计与实现,你可以谈传统视频监控系统的各种问题,然后突出你设计的基于OpenStack的视频监控云平台的优势。为了演示,做个漂亮高大上的Web界面,直接拿Horizon去展示,怕要被导师拍死。偏研究的话,你可以针对某一个点展开,通常就是优化了,比较多的研究点包括调度算法优化、在线迁移优化、负载均衡优化、计算性能优化、虚拟化性能优化、能源损耗优化等,尤其是调度算法,你可以联想抽象出各种问题,比如装箱问题、启发算法、遗传算法都能套,优点也好写,要么提高了资源利用率,要么节约了能源(还可以结合绿色计算写)。当然,你也可以针对OpenStack开发一套自己的系统,比如集成测试系统、故障检测、bug发现等,之前看过一篇不错的论文,等找到了再补充。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值