jjzjj

云计算学习1——OpenStack云计算安装部署步骤图文并茂(先电2.2)

kcyuan 2023-04-05 原文

声明:原创作品,严禁用于商业目的。 如有任何技术问题,欢迎和我交流:408797506(微信同号)。

腾讯课堂链接
B站试看视频链接

文章目录

1. 配置虚拟机


2. 创建控制节点和计算节点的虚拟机

创建两个虚拟机(控制结点和计算结点)
2.1 创建结点虚拟机
(1) 虚拟机新建系统,设置参数


(2)结点系统安装完成后,使用root账号登陆系统,配置静态ip地址

>ip a   // 命令查看此时网卡没有ip地址,修改对应的网卡接口的ip地址
> vi /etc/sysconfig/network-scripts/ifcfg-xxxxx  // 使用vi命令配置网络ip地址
> systemctl restart network     // 使用systemctl命令重启网络



注意: gateway 设置成192.168.200.2 的原因是什么?
因为在虚拟机网络配置中已经设置好了网关ip和ip地址范围,如下:

如果想要需要该虚拟机器能够访问外网,只需要增加dns配置即可:

(3) 查看配置结果

(4) >然后通过secureCRT可以连接进入系统shell终端界面:

注:关于secureCRT和SecureFX软件使用安装参考博客:
https://blog.csdn.net/qq_38695182/article/details/79843649?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-5&spm=1001.2101.3001.4242
(5) 配置 控制节点主机名controller 和 计算节点主机名 compute
登录controller节点终端,输入如下命令:

>hostnamectl set-hostname controller
> logout
> vi /etc/hosts           // 添加如下2行

> ping compute         // 测试主机名是否设置成功
	登录compute节点终端,输入如下命令:
>hostnamectl set-hostname compute
> logout
> vi /etc/hosts           // 添加如下2行

ping controller // 测试主机名是否设置成功
(6) 各个节点(同时控制节点和计算节点)设置 关闭防火墙,开机不启动; selinux 为 permissive
输入如下命令:
systemctl stop firewalld // 停止防火墙
systemctl disable firewalld // 设置为开启不启动防火墙
firewall-cmd --state //测试查看防火墙状态
setenforce 0 // 临时关闭Selinux
vi /etc/selinux/config // 使用vi命令,进入配置文件修改为disable

getenforce // getenforce命令查看测试结果

(7) 设置同步时间
yum install -y chrony // 控制节点和计算节点都执行安装命令

  1. 配置控制节点如图: 注释掉自带的server群。添加如下两行:
  2. 配置计算节点如图:
  3. 最后启动服务并开机启动chronyd:(计算节点和控制节点都要执行)
> systemctl start chronyd
> systemctl enable chronyd
  1. 测试
    在计算节点执行 chronyc sources -v 命令同步时间
>  chronyc sources
比如修改服务器controller的时间,查看计算节点是否同步成功:
> timedatectl set-time  "2021-07-31 20:40:38"            // 在controller节点执行
>  chronyc sources -v          //  在compute节点执行

3. 导入centos\XianDian镜像包

(1) 使用SecureFX软件新建连接192.168.100.10

(2) 在控制节点上使用 SecureFX 软件上传镜像文件 CentOS-7-x86_64-DVD-1511.iso 和
XianDian-IaaS-v2.1.iso 到/opt 路径下

(3)配置控制节点,创建两个目录/opt/centos、/opt/iaas,将以上iso镜像文件分别挂载到两个目录下:

> cd /opt
> mkdir iaas
> mkdir centos
> mount -o loop /opt/CentOS-7-x86_64-DVD-1511.iso /opt/centos/     //挂载Centos 
> mount -o loop /opt/XianDian-IaaS-v2.2.iso /opt/iaas/                   //挂载iaas


注意:如果再接下来安装过程中,重启电脑,然后需要下载download资源包,需要重新mount挂载!

4. 配置yum源

4.1配置控制节点本地yum源文件 local.repo (参考/etc/yum.repos.d/目录下的yum源配置)
(1)先清除源配置文件或者移动repo文件到media目录

mv /etc/yum.repos.d/* /media/ 或者 rm –rf /etc/yum.repos.d/*
(2) 创建local.repo文件,配置源内容
vi /etc/yum.repos.d/local.repo // 使用vi命令编辑控制结点yum源

(3)测试配置是否成功
yum clean all
yum repolist // 使用yum repolist命令查看是否配置成功
(4)安装vsftpd:

>yum -y install vsftpd
>vi /etc/vsftpd/vsftpd.conf         // 编辑配置文件,添加一行
anon_root=/opt    // 指定匿名用户访问主目录


systemctl restart vsftpd && systemctl enable vsftpd //输入重启命令
通过windows电脑资源管理器,访问ftp网址,验证是否ok?

(5)重启vsftpd服务,查看vsftp状态:

4.2 配置计算节点本地yum源文件 ftp.repo
(1) 先清除源配置文件或者移动repo文件到media目录
mv /etc/yum.repos.d/* /media/ 或者 rm –rf /etc/yum.repos.d/*
(2) 创建ftp.repo文件,搭建 ftp服务器指向存放yum源路径,配置计算节点 yum 源文件 ftp.repo 使用之前配置的控制节点 ftp 作为 yum 源(其中两个节点的地址使用主机名表示)

> vi /etc/yum.repos.d/ftp.repo   // 编辑源文件ftp.repo 指向ftp服务器,添加如下内容:

> yum clean all
> yum repolist             // 使用yum repolist命令查看是否配置成功

5. 修改配置文件

在控制节点和计算节点分别安装 iaas-xiandian 包,完成配置文件中基本变量的配置。 根据如下表2完成指定变量的配置:

(1) 为了配置cinder存储服务,需要在计算结点的虚拟机,新增磁盘sdb,并进行分区

重启系统后,进入shell终端,使用命令进行分区

> fdisk /dev/sdb                    // 分区sdb表
> n  表示 add a new partition
> w 表示write table to disk and exit  



(2) 在控制结点和计算结点,同时使用命令安装iaas的rpm包

yum -y install iaas-xiandian // 分别在控制结点和计算结点安装iaas


(3) 根据上述表2完成指定控制节点和计算节点变量的配置:(参考附件文件夹里面的openrc.sh)
vi /etc/xiandian/openrc.sh //编辑环境变量

具体文件内容,参考下图:



技巧1:在编辑环境变量步骤,如何快速去除每一行的第一个#?
vi /etc/xiandian/openrc.sh // 编辑环境变量输入如下内容:
:%s/^#//g

技巧2:可以使用scp命令直接把控制节点配置好的文件拷贝到计算节点上。
scp /etc/xiandian/openrc.sh compute:/etc/xiandian/

6. 安装openstack包

基础配置操作命令已经编写成shell脚本,通过脚本进行一键安装。
如果在安装过程中,出现download失败或者failed to load 或者 no such file…. 如下图:


检查一下mount挂载的两个目录/opt/centos 和 /opt/iaas 是否存在文件。若目录下为空,需要重新挂载一下:执行如下两行命令即可:

> mount -o loop /opt/CentOS-7-x86_64-DVD-1511.iso /opt/centos/     //挂载Centos 
> mount -o loop /opt/XianDian-IaaS-v2.2.iso /opt/iaas/                   //挂载iaas

(1) 通过脚本进行安装服务
Controller节点和Compute节点进行如下安装服务:
内容包括:安装Openstack包,配置域名解析,配置防火墙和Selinux,安装ntp服务
>iaas-pre-host.sh // 执行命令安装服务
(2) 重启电脑,准备进行各个组件的安装

7. 安装Controller和compute节点的openstack各种组件

(1) mysql 安装:内容包括:安装Mysql数据库服务,安装Mongo数据库服务,安装RabbitMQ服务,安装memcahce

iaas-install-mysql.sh // 安装mysql数据库
验证一下是否mysql安装成功。
mysql -u root -p000000 // 用户是root ,默认密码是000000,进入mysql的命令操作


若要退出mysql的界面,输入 \q 即可。 关于mysql更多内容可以参考相关书籍学习。

(2) keystone安装:内容包括:安装keystone服务软件包,创建Keystone数据库,配置数据库连接,为keystone服务创建数据库表,创建令牌,创建签名密钥和证书,定义用户、租户和角色

iaas-install-keystone.sh // 安装keystone组件

(3) glance 安装:内容包括:安装Glance镜像服务软件包,创建Glance数据库,配置文件创建数据库连接,为镜像服务创建数据库表,创建用户,配置镜像服务,创建Endpoint和API端点,启动服务,上传镜像

iaas-install-glance.sh

(4) nova安装: 内容包括:安装Nova 计算服务软件包,创建Nova数据库,创建计算服务表,创建用户,配置计算服务,创建Endpoint和API端点 ,启动服务,验证Nova,安装Nova计算服务软件包,配置Nova服务,检查系统处理器是否支持虚拟机的硬件加速,启动,清除防火墙

iaas-install-nova-controller.sh // 安装controller结点的nova服务
iaas-install-nova-compute.sh // 安装compute结点的nova服务

(5) neutron安装:内容包括:创建Neutron数据库,创建用户,创建Endpoint和API端点 ,安装neutron网络服务软件包,配置Neutron服务,编辑内核,创建数据库,启动服务和创建网桥,安装软件包,配置Neutron服务,编辑内核,启动服务进而创建网桥

iaas-install-neutron-controller.sh //安装controller结点的neutron服务
iaas-install-neutron-compute.sh //安装compute结点的neutron服务

(6) neutron 配置网络模式为gre

iaas-install-neutron-controller-gre.sh // 选择controller结点的neutron网络模式为gre
iaas-install-neutron-compute-gre.sh // 选择compute结点的neutron网络模式为gre

(7) dashboard安装:内容包括:安装Dashboard服务软件包,配置,启动服务

iaas-install-dashboard.sh
此时可以通过浏览器网址栏输入http://192.168.100.10/dashboard进入先电云计算平台
域:demo
用户名:admin
密码:000000

(8) cinder 安装: 内容包括:安装Cinder块存储服务软件包,创建数据库,创建用户,创建Endpoint和API端点 ,配置Cinder服务,创建数据库,启动服务,安装块存储软件,创建LVM物理和逻辑卷,修改Cinder配置文件,重启服务,验证

iaas-install-cinder-controller.sh // 安装controller节点的cinder服务
iaas-install-cinder-compute.sh // 安装compute节点的cinder服务
注意: 再安装compute节点的cinder服务之前,先添加好sdb磁盘,并且分区sdb1和sdb2,否则在安装过程中会提示找不到sdb1错误。关于存储管理后续会讲解

(9) swift 安装: 内容包括:创建用户,创建Endpoint和API端点 ,编辑/etc/swift/proxy-server.conf,创建账号、容器、对象,编辑/etc/swift/swift.conf,启动服务和赋予权限

iaas-install-swift-controller.sh // 安装controller节点的cinder服务
iaas-install-swift-compute.sh // 安装compute 节点的cinder服务
注意: 再安装compute节点的swift服务之前,先添加好sdb磁盘,并且分区sdb1和sdb2,否则在安装过程中会提示找不到sdb2错误。

8. 测试

登录dashboard测试部署是否成功:
打开浏览器输入网址: http://192.168.100.10/dashboard/

有关云计算学习1——OpenStack云计算安装部署步骤图文并茂(先电2.2)的更多相关文章

  1. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  2. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  3. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  4. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  5. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  6. ruby - 如何计算 Liquid 中的变量 +1 - 2

    我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我

  7. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

  8. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  9. arrays - 计算数组中的匹配元素 - 2

    给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at

  10. ruby - 我如何学习 ruby​​ 的正则表达式? - 2

    如何学习ruby​​的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby​​的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/

随机推荐