openstack搭建

openstack搭建

1、虚拟机部署规划

主机主机名IP规划
实例通讯内部通讯
控制节点controller192.168.10.144192.168.1.144
实例节点compute192.168.10.145192.168.1.145

2、硬件配置

主机名内存逻辑CPU数量硬盘容量
controller4G480G
compute4G480G+20G

3、安装centos7,命名compute/controller

在此,我使用centos7系统,内存给了4G,磁盘空间给了80G和20G两个磁盘,处理器2个,网络为NAT模式

虚拟机设置:

在这里插入图片描述

打开虚拟化引擎,并给两个磁盘,是为了给openstack一个安装空间,不可省略

4、配置yum源

  • 控制节点controller:

创建目录/opt/centos

配置本地yum源:

上传镜像

在这里插入图片描述

配置

##CentOS-7挂载
[root@controller ~]# mount -o loop ./CentOS-7-x86_64-DVD-1511centOS7.iso /mnt/
mount: /dev/loop0 写保护,将以只读方式挂载
##复制
[root@controller ~]# cp -rf /mnt/* /opt/centos
##卸载
[root@controller opt]# umount /mnt/
##XianDian挂载
[root@controller ~]# mount -o loop ./XianDian-IaaS-v2.2.iso /mnt/
mount: /dev/loop0 写保护,将以只读方式挂载
##复制
[root@controller opt]# cp -rf /mnt/* /opt/
[root@controller opt]# umount /mnt/

构建:

[root@controller yum.repos.d]# mkdir centos
[root@controller yum.repos.d]# mv CentOS-* centos/
[root@controller yum.repos.d]#vi local.repo
[root@controller yum.repos.d]# ls
centos  local.repo
[root@controller yum.repos.d]# cat local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1

缓存:

##清除
[root@controller yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: centos iaas
Cleaning up everything
##新建
[root@controller yum.repos.d]# yum makecache
已加载插件:fastestmirror
centos                                             | 3.6 kB     00:00     
iaas                                               | 2.9 kB     00:00     
(1/7): centos/group_gz                               | 155 kB   00:00     
(2/7): centos/filelists_db                           | 2.9 MB   00:00     
(3/7): centos/primary_db                             | 2.8 MB   00:00     
(4/7): centos/other_db                               | 1.2 MB   00:00     
(5/7): iaas/primary_db                               | 2.3 MB   00:00     
(6/7): iaas/filelists_db                             | 1.9 MB   00:00     
(7/7): iaas/other_db                                 | 692 kB   00:00     
Determining fastest mirrors
元数据缓存已建立
[root@controller yum.repos.d]# 

建立FTP服务:

​ 安装软件包

[root@controller yum.repos.d]# yum install iaas-xiandian vsftpd -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 iaas-xiandian.x86_64.0.2.2-0 将被 安装
---> 软件包 vsftpd.x86_64.0.3.0.2-11.el7_2 将被 安装
--> 解决依赖关系完成
...
已安装:iaas-xiandian.x86_64 0:2.2-0       vsftpd.x86_64 0:3.0.2-11.el7_2      完毕!
[root@controller yum.repos.d]# 

​ 配置软件包

[root@controller yum.repos.d]# vi /etc/vsftpd/vsftpd.conf 
[root@controller yum.repos.d]# tail -n 1 /etc/vsftpd/vsftpd.conf 
anon_root=/opt/

​ 设置开机自启

[root@controller yum.repos.d]# systemctl start vsftpd
[root@controller yum.repos.d]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
  • 计算节点compute:

删除本地源文件,创建本地源文件在文件中填入以下内容:

[root@compute yum.repos.d]# vi local.repo
[root@compute yum.repos.d]# cat local.repo
[centos]
name=centos
baseurl=ftp://192.168.10.144/centos
gpgcheck=0
enabled=1[iaas]
name=iaas
baseurl=ftp://192.168.10.144/iaas-repo
gpgcheck=0
enabled=1
##缓存
[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:01     
(2/7): centos/filelists_db                                                                                | 2.9 MB  00:00:01     
(3/7): centos/other_db                                                                                    | 1.2 MB  00:00:00     
(4/7): centos/primary_db                                                                                  | 2.8 MB  00:00:01     
(5/7): iaas/filelists_db                                                                                  | 1.9 MB  00:00:01     
(6/7): iaas/primary_db                                                                                    | 2.3 MB  00:00:01     
(7/7): iaas/other_db                                                                                      | 692 kB  00:00:00     
Determining fastest mirrors
元数据缓存已建立

5、主机名

##controller节点
[root@localhost ~]# 
[root@localhost ~]# hostnamectl set-hostname controller
[root@localhost ~]# bash
[root@controller ~]# hostname
controller##compute节点
[root@bogon ~]# hostnamectl set-hostname compute
[root@bogon ~]# bash
[root@compute ~]# hostname
compute

6、配置静态IP

双节点配置

[root@bogon /]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 [root@compute ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736 
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="dada9ac5-ddca-4a1b-bfb2-05f3e8333495"
DEVICE="eno16777736"
ONBOOT="yes"
IPADDR=192.168.10.145##IP
GATEWAY=192.168.10.2##网关
NETMASK=255.255.255.0##子网掩码
DNS1=8.8.8.8##解析
DNS2=114.114.114.114##解析
[root@compute ~]# 
#重启网卡
[root@compute /]# systemctl restart network
[root@compute ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:4d:d9:bf brd ff:ff:ff:ff:ff:ffinet 192.168.10.145/24 brd 192.168.10.255 scope global eno16777736valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe4d:d9bf/64 scope link valid_lft forever preferred_lft forever
3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:4d:d9:c9 brd ff:ff:ff:ff:ff:ffinet 192.168.1.145/24 brd 192.168.1.255 scope global eno33554960valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe4d:d9c9/64 scope link valid_lft forever preferred_lft forever
#ping baidu
[root@compute ~]# ping www.baidu.com
PING www.a.shifen.com (39.156.66.18) 56(84) bytes of data.
64 bytes from 39.156.66.18: icmp_seq=1 ttl=128 time=61.9 ms
64 bytes from 39.156.66.18: icmp_seq=2 ttl=128 time=67.1 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 61.994/64.562/67.130/2.568 ms
[root@compute ~]# 

7、关闭防火墙,并禁用SLINUX

双机配置

[root@compute ~]# systemctl stop firewalld
[root@compute ~]# systemctl disable firewalld
[root@compute ~]#  vi /etc/selinux/config 
[root@compute ~]# cat /etc/selinux/config# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=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 [root@compute ~]# reboot

8、修改主机映射

配置解析双机

[root@c ~]# vi /etc/hosts
[root@compute ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.144 controller
192.168.10.145 compute

9、脚本文件配置

##控制节点
[root@controller ~]# cat /etc/xiandian/openrc.sh 
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.10.144#Controller Server hostname. example:controller
HOST_NAME=controller#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.10.145#Compute Node hostname. example:compute
HOST_NAME_NODE=compute#--------------------Rabbit Config ------------------##
#user for rabbit. example:openstack
RABBIT_USER=openstack#Password for rabbit user .example:000000
RABBIT_PASS=000000#--------------------MySQL Config---------------------##
#Password for MySQL root user . exmaple:000000
DB_PASS=000000#--------------------Keystone Config------------------##
#Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000#Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000#--------------------Glance Config--------------------##
#Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000#Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000#--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000#Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000#--------------------Neturon Config-------------------##
#Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000#Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000#metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000#External Network Interface. example:eth1
INTERFACE_NAME=eno33554960#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=#--------------------Cinder Config--------------------##
#Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000#Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000#Cinder Block Disk. example:md126p3
BLOCK_DISK=#--------------------Trove Config--------------------##
#Password for Mysql Trove User. exmaple:000000
TROVE_DBPASS=000000#Password for Keystore Trove User. exmaple:000000
TROVE_PASS=000000#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000#--------------------Ceilometer Config----------------##
#Password for Mysql ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000#Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000#--------------------AODH Config----------------##
#Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000#Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000
[root@controller ~]# 
[root@controller ~]# source iaas-pre-host.sh 
##依次运行以下脚本:
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
##计算节点
[root@compute ~]# scp 192.168.10.144:/etc/xiandian/openrc.sh openrc.sh
The authenticity of host '192.168.10.144 (192.168.10.144)' can't be established.
ECDSA key fingerprint is ef:3c:3f:33:12:a8:b9:69:7a:17:af:e3:6e:10:92:8c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.144' (ECDSA) to the list of known hosts.
root@192.168.10.144's password: 
openrc.sh                               100% 3027     3.0KB/s   00:00    
[root@compute ~]# ls
[root@compute ~]# source iaas-pre-host.sh 
##依次运行以下脚本:
iaas-install-nova-compute.sh
iaas-install-neutron-compute.sh
iaas-install-neutron-compute-gre.sh

10、访问

ure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.10.144’ (ECDSA) to the list of known hosts.
root@192.168.10.144’s password:
openrc.sh 100% 3027 3.0KB/s 00:00
[root@compute ~]# ls
[root@compute ~]# source iaas-pre-host.sh
##依次运行以下脚本:
iaas-install-nova-compute.sh
iaas-install-neutron-compute.sh
iaas-install-neutron-compute-gre.sh


### 10、访问### 浏览器访问http://192.168.10.144/dashboard

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/28351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Science:如何快速完成一篇研究性论文?

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 完成一篇研究性论文&#xff0c;是将长时间积累的研究成果凝聚在几页纸中&#xff0c;对资深科学家而言也是一大挑战。作者们需要在充分论述科学问题和详细展示结果之间找到平…

javaweb 期末复习

1. JDBC数据库连接的实现逻辑与步骤以及JDBC连接配置&#xff08;单列模式&#xff09; public class JDBCUtil {// 这些换成自己的数据库 private static final String DB_URL "jdbc:mysql://localhost:3306/你的数据库名称";private static final String USER &q…

linux中批量给文件改名

rename 需要批量将文件名前的UC-10_取消掉&#xff0c;以数字来命名文件 rename s/UC-10_// *.jpg 修改成功 要是修改为其他名字需要在单引号的第二个/后加字符即可 例如要改为li

基于 SSM 框架的二手书交易系统

基于 SSM 框架的二手书交易系统 一、项目介绍二、项目技术栈三、项目运行四、项目演示总结 大家好&#xff0c;这里是程序猿代码之路。在当今环保意识日益增强和资源节约型社会建设的背景下&#xff0c;二手交易作为一种节省资源和降低成本的消费方式越来越受到人们的欢迎。特别…

基于Java和SSM框架的多人命题系统

你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果你对多人命题系统感兴趣或者有相关开发需求&#xff0c;文末可以找到我的联系方式。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;Java SSM框架 工具&#xff1a;Eclipse、MySQL Workbench、…

C++全栈聊天项目(22) 气泡聊天对话框

气泡聊天框设计 我们期待实现如下绿色的气泡对话框 对于我们自己发出的信息&#xff0c;我们可以实现这样一个网格布局管理 NameLabel用来显示用户的名字&#xff0c;Bubble用来显示聊天信息&#xff0c;Spacer是个弹簧&#xff0c;保证将NameLabel,IconLabel&#xff0c;Bubb…

Java小结

# Java的特点 Java是一门面向对象的编程语言。面向对象和面向过程的区别参考下一个问题。 Java具有平台独立性和移植性。 Java有一句口号&#xff1a;Write once, run anywhere&#xff0c;一次编写、到处运行。这也是Java的魅力所在。而实现这种特性的正是Java虚拟机JVM。已…

Hvv--知攻善防应急响应靶机--Linux1

HW–应急响应靶机–Linux1 所有靶机均来自 知攻善防实验室 靶机整理&#xff1a; 夸克网盘&#xff1a;https://pan.quark.cn/s/4b6dffd0c51a#/list/share百度云盘&#xff1a;https://pan.baidu.com/s/1NnrS5asrS1Pw6LUbexewuA?pwdtxmy 官方WP&#xff1a;https://mp.weixin.…

Linux,shell ,gun基本概念和关系

Linux 系统简单架构图 1、命令行界面&#xff08;CLI&#xff09;和图形用户界面 (GUI) 1、图形界面就是我们常用的windows系统这种&#xff0c;打开文件&#xff0c;双击一下。想选择哪个文件&#xff0c;就鼠标移动到哪里选择就行。 2、命令行界面就是下面这种只有黑乎乎的…

代码随想录二刷DAY1~3

Day1 704 二分查找&#xff0c;简单 我也有自己写题解的能力了&#xff0c;而且思维很清晰&#xff1a; 找什么就在if里写什么。 class Solution {public: int search(vector<int>& nums, int target) { int l0,rnums.size()-1; while(l<r){ …

算法体系-21 第二十一 暴力递归到动态规划(三)

一 最长回文子串 1.1 描述 给定一个字符串str&#xff0c;返回这个字符串的最长回文子序列长度 比如 &#xff1a; str “a12b3c43def2ghi1kpm” 最长回文子序列是“1234321”或者“123c321”&#xff0c;返回长度7 1.2 分析 1.2.1 先将原传逆序&#xff0c;求原串和反转后的…

[C++] vector list 等容器的迭代器失效问题

标题&#xff1a;[C] 容器的迭代器失效问题 水墨不写bug 正文开始&#xff1a; 什么是迭代器&#xff1f; 迭代器是STL提供的六大组件之一&#xff0c;它允许我们访问容器&#xff08;如vector、list、set等&#xff09;中的元素&#xff0c;同时提供一个遍历容器的方法。然而…

2024上半年软考---江苏考区最先公布成绩

经历了考试之后&#xff0c;最期待的就是考试成绩的公布了&#xff0c;最好的成绩是45、45、45.只要过了分数线就满足了。下面我们来看看各大考区的分数的公布时间。 提前说下江苏考区的时间比较早&#xff0c;我就是江苏考区的&#xff0c;希望本次可以顺利通过考试。 2024年…

零基础到高手蜕变:一步到位Jupyter Notebook安装全攻略

前言 对于数据分析、机器学习、科学研究等领域的工作者来说&#xff0c;Jupyter Notebook 已经成为了一种不可或缺的工具。它的交互式编程界面&#xff0c;使得数据分析过程更加直观和高效。但并非所有人都熟悉如何安装和配置Jupyter Notebook&#xff0c;特别是在不同的操作系…

在typora中利用正则表达式,批量处理图片

一&#xff0c;png格式 在 Typora 中批量将 HTML 图片标签转换为简化的 Markdown 图片链接&#xff0c;且忽略 alt 和 style 属性&#xff0c;可以按照以下步骤操作&#xff1a; 打开 Typora 并加载你的文档。按下 Ctrl H&#xff08;在 Windows/Linux 上&#xff09;或 Cmd…

Unity C#调用Android,IOS震动功能

最近在Unity上需要很原生移动端进行交互&#xff0c; 原理&#xff1a;新建一个android项目&#xff0c;把生成的app module给干掉&#xff0c;然后留下一个vibrationPlugin module&#xff0c;在这个module下写android震动代码&#xff0c;将这个android工程构建出来的 aar移…

2024数据库期末综合解析(部分题)

目录 第4关&#xff1a;数据记录修改 任务描述 补充 答案&#xff1a; 第6关&#xff1a;数据查询二 任务描述 补充 答案&#xff1a; 第4关&#xff1a;数据记录修改 任务描述 湖南人口hnpeople数据表如下所示 各字段含义如下 cs&#xff08;城市)、qx(区县)、rk(人口)、man(男…

115.网络游戏逆向分析与漏洞攻防-邮件系统数据分析-调试优化结构体类型数据的创建

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 现在的代码都是依据数据包来写的&#xff0c;如果看不懂代码&#xff0c;就说明没看懂数据包…

理解DDD设计

DDD的理解 领域驱动设计&#xff08;Domain-Driven Design&#xff0c;DDD&#xff09;是一种软件开发方法论&#xff0c;强调将业务领域作为软件设计的核心&#xff0c;以便更好地满足业务需求。DDD认为&#xff0c;软件开发的核心是理解业务&#xff0c;而不是实现技术。在D…

​晶体管高频等效电路

目录 混合Π等效电路 Y参数等效电路 混合Π与Y参数等效电路的转换 混合Π等效电路 共射三极管的等效电路。 Y参数等效电路 混合Π与Y参数等效电路的转换