服务器脚本搭建国基北盛openstack平台
@
基础环境搭建
环境准备:
1,使用两台服务器分别作为控制节点,和计算节点,密码为000000
2,使用crt上传镜像CentOS-7-x86_64-DVD-1804.iso 和chinaskills_cloud_iaas.iso到控制节点root目录下
控制节点网卡配置
cat /etc/sysconfig/network-scripts/ifcfg-enp2s0f0
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0f0 #第一张网卡
UUID=bf67ee4d-f110-407f-bc74-b51b755650b6
DEVICE=enp2s0f0
ONBOOT=yes
IPADDR=10.60.2.10
PREFIX=24 #子网掩码24,和NETMASK一样的用法
GATEWAY=10.60.2.1
[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0f1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0f1 #第二张网卡
UUID=986557de-f9d3-4554-af06-cb057dfce365
DEVICE=enp2s0f1
ONBOOT=yes
IPADDR=10.60.3.10
PREFIX=24 #注意第二张网卡不要配置网关
计算节点网卡配置
cat /etc/sysconfig/network-scripts/ifcfg-enp2s0f0
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0f0
UUID=5871f25a-3b4e-40c1-b266-043d6604da66
DEVICE=enp2s0f0
ONBOOT=yes
IPADDR=10.60.2.20
PREFIX=24
GATEWAY=10.60.2.1
[root@compute ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0f1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0f1
UUID=a4097286-851d-4364-8d63-ce6a4e4227a2
DEVICE=enp2s0f1
ONBOOT=yes
IPADDR=10.60.3.20
PREFIX=24
两边网卡配置完成后重启
主机映射
vi /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.60.2.10 controller
10.60.2.20 compute #注意主机名要在IP地址的后面
用scp命令远程传输给compute节点
scp /etc/hosts compute:/etc/hosts
3,关闭防火墙和selinux以及NetworkManager
关闭防火墙并设置开机不启动
systemctl stop firewalld && systemctl enable firewalld
关闭NetworkManager并设置开机不启动
systemctl stop NetworkManager && systemctl enable NetworkManager
临时关闭Selinux
setenforce 0
这几步后面执行pre脚本时会再做一遍的
设置yum源
创建挂载目录
mkdir /opt/{centos,iaas}
挂载yum源到/mnt/目录下再复制到/opt/下做永久挂载,也可以yum直接挂载到/opt/下
[root@controller ~]# mount /root/CentOS-7-x86_64-DVD-1804.iso /mnt
[root@controller ~]# cp -rfv /mnt/* /opt/centos
[root@controller ~]# umount /mnt/
[root@controller ~]# mount /root/chinaskills_cloud_iaas.iso /mnt
[root@controller ~]# cp -rfv /mnt/* /opt/iaas
[root@controller ~]# umount /mnt/
删除原有yum源
rm -rf /etc/yum.repos.d/*
编写yum文件
vi /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
使用ftp作为远程共享
yum install -y vsftpd
在/etc/vsftpd/vsftpd.conf/下配置文件
[root@controller ~]# cat /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
anon_root=/opt #表示远程共享此节点/opt/下目录
删除compute节点原有yum源并将编写的yum文件远程传输
[root@compute ~]# rm -rf /etc/yum.repos.d/*
[root@controller ~]# scp /etc/yum.repos.d/ftp.repo compute:/etc/yum.repos.d/
[root@compute ~]# cat /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://controller/centos #记得修改
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://controller/iaas/iaas-repo #记得修改
gpgcheck=0
enabled=1
验证yum源是否挂载成功
[root@controller ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos iaas
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@controller ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
iaas | 2.9 kB 00:00:00
(1/3): centos/group_gz | 166 kB 00:00:00
(2/3): iaas/primary_db | 1.4 MB 00:00:00
(3/3): centos/primary_db | 3.1 MB 00:00:00
repo id repo name status
centos centos 3,971
iaas iaas 3,232
repolist: 7,203
[root@compute ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: centos iaas
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@compute ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
iaas | 2.9 kB 00:00:00
(1/3): centos/group_gz | 166 kB 00:00:00
(2/3): iaas/primary_db | 1.4 MB 00:00:00
(3/3): centos/primary_db | 3.1 MB 00:00:00
repo id repo name status
centos centos 3,971
iaas iaas 3,232
repolist: 7,203
计算节点分区
使用fdisk命令在计算节点分出两块硬盘提供给cinder和swift使用
[root@compute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 2.7T 0 disk
├─sda1 8:1 0 2M 0 part
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 716.8G 0 part
├─sda4 8:4 0 1T 0 part
├─sda5 8:5 0 100G 0 part
├─sda6 8:6 0 27G 0 part
├─sda7 8:7 0 1G 0 part
└─sda8 8:8 0 865G 0 part
├─centos02-root 253:0 0 50G 0 lvm /
└─centos02-swap 253:3 0 4G 0 lvm [SWAP]
sdb 8:16 0 890G 0 disk
├─sdb1 8:17 0 100G 0 part #在openrc.sh环境变量中提供给cinder
└─sdb2 8:18 0 100G 0 part #在openrc.sh环境变量中提供给swift
配置openrc.sh环境变量
yum install -y iaas-xiandian
[root@controller ~]# cat /etc/xiandian/openrc.sh
HOST_IP=10.60.2.10
HOST_PASS=000000 #控制节点密码,注意不要输错
HOST_NAME=controller
HOST_IP_NODE=10.60.2.20
HOST_PASS_NODE=000000 #计算节点密码
HOST_NAME_NODE=compute
network_segment_IP=10.60.2.0/24
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_IP=10.60.2.10 #千万注意在那个节点就输入那个节点的地址,等下远程传到计算节点注意更改
INTERFACE_NAME=enp2s0f1 #第二张网卡
Physical_NAME=provider
minvlan=101
maxvlan=200
CINDER_DBPASS=000000
CINDER_PASS=000000
BLOCK_DISK=sdb1 #提供给cinder的
SWIFT_PASS=000000
OBJECT_DISK=sdb2 #提供给swift的
STORAGE_LOCAL_NET_IP=10.60.2.20 #第二张网卡IP
HEAT_DBPASS=000000
HEAT_PASS=000000
ZUN_DBPASS=000000
ZUN_PASS=000000
KURYR_DBPASS=000000
KURYR_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000
BARBICAN_DBPASS=000000
BARBICAN_PASS=000000
远程传输给compute
scp /etc/xiandian/openrc.sh compute:/etc/xiandian/openrc.sh
注意修改INTERFACE_IP=10.60.2.20
平台组件搭建
controller和compute同时执行,然后Crtl+D刷新,千万要执行
iaas-pre-host.sh
controller节点执行
iaas-install-mysql.sh
iaas-install-keystione.sh
iaas-install-glance.sh
iaas-install-nova-controller.sh
iaas-install-neutron-controller.sh
iaas-install-dashboard.sh
compute节点执行
iaas-install-nova-compute.sh
iaas-install-neutron-compute.sh
后面的cinder,swift组件可以根据需要再进行搭建,跑完compute脚本后http://ip/dashboard访问dashboard平台
服务器脚本搭建国基北盛openstack平台的更多相关文章
- rsync服务器的搭建
Rsync(remote synchronize)是一个远程数据同步工具,简要的概括就是主机于主机之间的文件目录数据的一个同步.下面就是rsync服务器的搭建过程. 系统环境 平台:Centos ...
- 阿里云ECS服务器上搭建keepalived+mha+mysql5.6+gtid+一主两从+脚本判断架构踩的坑
最近,公司项目搭建了一套后端数据库架构,不是在RDS,是在阿里云的ECS服务器上搭建keepalived.mha.mysql5.6.gtid.一主两从架构,目前还没有实现读写分离,以后架构升级,可能代 ...
- 在MAC服务器上搭建docker-registry(转)
在MAC服务器上搭建docker-registry 2014-03-14 0个评论 来源:在MAC服务器上搭建docker-registry 收藏 我要投稿 本文介绍如何在M ...
- 分布式搜索ElasticSearch单机与服务器环境搭建
从上方插件官网中下载适合的dist包,然后解压.进入bin目录,可以看到一堆sh脚本.在bin目录下创建一个test.sh: bin=/home/csonezp/Dev/elasticsearch-j ...
- CentOS下Web服务器环境搭建LNMP一键安装包
CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...
- Nginx 独立图片服务器的搭建
为什么需要独立图片服务器? 如果你留心的话,可以发现,现在主流的网站都是有单独的图片服务器的,例如,人人网的为rrimg,淘宝的为taobaocdn,下面还有很多的二级域名. 独立的图片服务器有诸多好 ...
- Linux系统下定时上传文件至FTP服务器脚本
环境:Red Hat Enterprise Linux Server release 6.4 需求:需要将Oracle数据库的定时备份上传至FTP服务器 1.干货,用户名:oracle,数据库名称:X ...
- python服务器环境搭建(2)——安装相关软件
在上一篇我们在本地的虚拟服务器上安装好CentOS7后,我们的python web服务.自定义的python service或python脚本需要在服务器上运行,还需要在服务器安装各种相关的软件才行, ...
- (一)windows7下solr7.1.0默认jetty服务器环境搭建
windows7下solr7.1.0默认jetty服务器环境搭建 1.下载solr solr7官网地址:http://lucene.apache.org/solr/ jdk8官网地址:http://w ...
随机推荐
- Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法 ?
1.关闭缓存 swap; 2.堆内存设置为:Min(节点内存/2, 32GB); 3.设置最大文件句柄数: 4.线程池+队列大小根据业务需要做调整: 5.磁盘存储 raid 方式--存储有条件使用 R ...
- WebSQL是什么?
WebSQL是客户浏览器端的结构化的关系数据库.这是浏览器内部的本地RDBMS,你可以在这个本地RDBMS上执行SQL查询.
- python中类变量和实例变量的区别
类变量:可在类的所有实例之间共享的值(也就是说,它们不是单独分配给每个实例的).实例变量:实例化之后,每个实例单独拥有的变量. class student(): age = 0 name = 'stu ...
- .c文件和.h文件的关系
参考:12 另一篇:c源文件中为什么要包含自己对应的头文件 问题 在进行C语言文件移植时,遇到 "通常是每个.c文件对应一个.h文件",之前了解过.h文件是头文件,用来引用其他文件 ...
- 【精】多层PCB层叠结构
在设计多层PCB电路板之前,设计者需要首先根据电路的规模.电路板的尺寸和电磁兼容(EMC)的要求来确定所采用的电路板结构,也就是决定采用4层,6层,还是更多层数的电路板.确定层数之后,再确定内电层的放 ...
- 纯干货数学推导_傅里叶级数与傅里叶变换_Part4_傅里叶级数的复数形式
- 小白上学のcanvas零基础
<canvas> 元素 <canvas> 看起来和 <img> 元素很相像,唯一的不同就是它并没有 src 和 alt 属性.实际上,<canvas> ...
- 【promise| async/await】代码的控制力
什么样的代码好控制? 结构 + 节奏 --- 什么鬼? 如何控制节奏? 具体例子看看怎么控制节奏?
- java中异常到底有什么用?举例
异常的意义:马克-to-win:通过上面的例子,我们看出通过引入异常这种技术,即使出现不测(用户把0赋给除数),也可以让程序不崩溃,还能继续优雅 的运行.那,这种技术有用,值得学.马克-to-win: ...
- CSS简单样式练习(一)
运行效果: 源代码: 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta char ...